poster
2019-12-10, 20:48
我如何使用imwrite或任何其他函数在Matlab中写入1位bmp图像。 bmp的imwrite的默认值为8位。
非常感谢 :)
回答:
根据IMWRITE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/imwrite.html)文档:
如果输入数组属于logical类,则imwrite假设数据是二进制映像,并且在格式允许的情况下,将其写入位深度为1的文件中。 BMP,PNG或TIFF格式接受二进制图像作为输入数组。
因此,如果在将图像数据提供给IMWRITE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/imwrite.html)之前将其转换为逻辑 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/logical.html)矩阵,则应该能够创建1位BMP图像:
imwrite(logical(imageData),'image.bmp');
更多&回答... (https://stackoverflow.com/questions/3459706)
非常感谢 :)
回答:
根据IMWRITE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/imwrite.html)文档:
如果输入数组属于logical类,则imwrite假设数据是二进制映像,并且在格式允许的情况下,将其写入位深度为1的文件中。 BMP,PNG或TIFF格式接受二进制图像作为输入数组。
因此,如果在将图像数据提供给IMWRITE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/imwrite.html)之前将其转换为逻辑 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/logical.html)矩阵,则应该能够创建1位BMP图像:
imwrite(logical(imageData),'image.bmp');
更多&回答... (https://stackoverflow.com/questions/3459706)