Matlab 用于写入BMP图像的BMPINFOOHEADER
我正在尝试编写一个MATLAB代码,用于将文件写入BMP文件 我知道我可以使用imwrite函数。但我的任务是避免它 我需要关于如何写bmpinfoheader的信息?到目前为止,我只知道它是14位数组。8位BMPMatlab 用于写入BMP图像的BMPINFOOHEADER,matlab,image-processing,bmp,Matlab,Image Processing,Bmp,我正在尝试编写一个MATLAB代码,用于将文件写入BMP文件 我知道我可以使用imwrite函数。但我的任务是避免它 我需要关于如何写bmpinfoheader的信息?到目前为止,我只知道它是14位数组。8位BMP %---- BitMapfileHeader fwrite(fid, hex2dec('42'), 'uchar'); % 'B' in ASCII code fwrite(fid, hex2dec('4D'), 'uchar'); % 'M' in ASCII co
%---- BitMapfileHeader
fwrite(fid, hex2dec('42'), 'uchar'); % 'B' in ASCII code
fwrite(fid, hex2dec('4D'), 'uchar'); % 'M' in ASCII code
fwrite(fid, 54 + sz + 256 * 4, 'ulong'); % file size
fwrite(fid, 0, 'ushort'); % always 0
fwrite(fid, 0, 'ushort'); % always 0
fwrite(fid, 54 + 256 * 4, 'ulong'); % offset
%---- BitMapInfoHeader
fwrite(fid, 40, 'ulong'); % BitMapInfoHeader size
fwrite(fid, width, 'long'); % image width
fwrite(fid, height, 'long'); % image height (negative; positive=upside-down)
fwrite(fid, 1, 'ushort'); % always 1
fwrite(fid, 8, 'ushort'); % color bit
fwrite(fid, 0, 'ulong'); % compression
fwrite(fid, sz, 'ulong'); % image size
fwrite(fid, dpm, 'long'); % horizontal resolution (dpm)
fwrite(fid, dpm, 'long'); % vertical resolution (dpm)
fwrite(fid, 256, 'ulong'); % # of color index
fwrite(fid, 0, 'ulong'); % # of important color index
24位BMP
%---- BitMapfileHeader
fwrite(fid, hex2dec('42'), 'uchar'); % 'B' in ASCII code
fwrite(fid, hex2dec('4D'), 'uchar'); % 'M' in ASCII code
fwrite(fid, 54 + sz, 'ulong'); % file size
fwrite(fid, 0, 'ushort'); % always 0
fwrite(fid, 0, 'ushort'); % always 0
fwrite(fid, 54, 'ulong'); % offset
%---- BitMapInfoHeader
fwrite(fid, 40, 'ulong'); % BitMapInfoHeader size
fwrite(fid, width, 'long'); % image width
fwrite(fid, height, 'long'); % image height (negative; positive=upside-down)
fwrite(fid, 1, 'ushort'); % always 1
fwrite(fid, 24, 'ushort'); % color bit
fwrite(fid, 0, 'ulong'); % compression
fwrite(fid, sz, 'ulong'); % image size
fwrite(fid, dpm, 'long'); % horizontal resolution (dpm)
fwrite(fid, dpm, 'long'); % vertical resolution (dpm)
fwrite(fid, 0, 'ulong'); % # of color index
fwrite(fid, 0, 'ulong'); % # of important color index
来源-
或者看看这里的结构
这比OP预期的14位多得多