When using imread, changed the background colour of image?
10 次查看(过去 30 天)
显示 更早的评论
I had an image of a red cross with a background colour of white, after I used imread, it returned an image with a black background. Why is this? And, does it have anything to with the file format? (.png) This is messing with the entire program.
0 个评论
回答(1 个)
Image Analyst
2013-7-14
Extract the color channels and see what the values are
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
Then pick a row and column that's in the background and see what they are
r = redChannel(row, column)
g = greenChannel (row, column)
b = blueChannel (row, column)
Tell us what your values are.
3 个评论
Image Analyst
2013-7-15
If it's a uint8 image, the values should be integers going from 0 to 255. If you have a double image (floating point) then all values must be in the range 0-1 if you want to display them with imshow(). [0,0,0] is pure black. [0,0,1] is pure blue. [1,1,1] is pure white. Any transparent pixels in your PNG image will show up in the "BG" color. Maybe your background is not really transparent like you thought.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Red 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!