Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 用于写入BMP图像的BMPINFOOHEADER_Matlab_Image Processing_Bmp - Fatal编程技术网

Matlab 用于写入BMP图像的BMPINFOOHEADER

Matlab 用于写入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

我正在尝试编写一个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 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位多得多