我在Matlab中从逻辑矩阵创建了一些.bmp图像文件。我可以使用Matlab很好地阅读这些文件,并且它们打开了我尝试过的每种类型的图像查看和处理软件(即ImageViewer,GIMP,ImageJ),但是当我尝试使用'read.bmp'函数读取它们时从'bmp'库我得到以下错误:
Error in read.bmp('filename') : Do not know how to handle bit depth: 1
当我查看read.bmp的代码时,我看到它只能处理8,24和32的位深度,我假设图像符合逻辑的位深度为1。如果我在matlab中将图像重写为图像* 255,它在R中读取也很好,但是用另一种语言重写所有这些文件只是为了在R中读取它们是一种痛苦。
我也尝试用以下方式阅读图片:
con=file('filename',open='rb')
seek(con)
image=readBin(con,what='logical',size=1,n=imagewidth*imageheight,endian='little',signed=FALSE)
然而,结果是矢量为实际图像大小的1/8。
我非常感谢任何帮助。谢谢!