Hello, how to read a BMP image in MATLAB?
104 次查看(过去 30 天)
显示 更早的评论
I am trying to read the BMP image(160 x 120 x 24 BPP) produced by FLIR Lepton Sensor in MATLAB. I have also attached the BMP image here.I'm using MATLAB R2016a...I used the following command.
Background=imread('...\LeptonTest\current.BMP');
I got the following error:
Error using imbmpinfo>readBMPInfo (line 106)
Header size was 56 bytes. Only values of 12, 40, 64, 108, or 124 are supported.
Error in imbmpinfo (line 23)
metadata = readBMPInfo(fid, metadata);
Error in readbmp (line 14)
info = imbmpinfo(filename);
Error in imread (line 415)
[X, map] = feval(fmt_s.read, filename, extraArgs{:});
Please some body help me to fix this problem.
0 个评论
回答(3 个)
Dinesh Iyer
2016-7-5
This appears to be a bug with IMREAD. The BMP file appears to use a BI_BITFIELD compression to store the image data which appears to be be tripping up IMREAD.
Sorry about this. Will update once a patch is ready.
0 个评论
Dinesh Iyer
2016-7-19
The patch with the fix for this issue can be found at:
4 个评论
Image Analyst
2016-7-19
Sorry, I just thought it was a cute graphic. Actually I haven't tried the patch since I think it's for a fairly rare type of image that I don't use. Anyway, is this fix going to make it into the R2016b version? If not, I guess it would also have to be applied after installing R2016b.
Dinesh Iyer
2016-7-19
This will not be making it to 16b but the patch in the link should work for 16b as well.
Geoff Hayes
2016-6-30
Bal - I get the same error when using R2014a. However, I was able to load this image into MATLAB as follows
>> open('current.BMP');
which would launch the Import Wizard. Pressing the Finish button created a variable called current which is a 120x160x3 array which I could display using the image command.
I'm not sure why there is a difference between using open and imread (i.e. why does open seem to support the 56 byte header but imread does not). Perhaps this should be logged as a bug.
3 个评论
Geoff Hayes
2016-6-30
Hi Bal - I'm not sure why the import wizard would not launch on your computer. What happens if you try to open by right-clicking on the file name in the MATLAB file browser. Or try,
uiimport('current.bmp')
Image Analyst
2016-7-5
open() on my computer also opens the binary data into a text editor window, like for bal. uiimport() did bring up a wizard, but I don't know what to do with it:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/184012/image.png)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!