How to feature extract from an image with black background(without taking the black background in consideration)?
1 回表示 (過去 30 日間)
古いコメントを表示
I was scrolling through some answers of the same issue and got the following
C = num2cell(YourImage);
C(~YourImage) = {{}};
This will give you a cell array in which there are empty cells ("nothing") where the background was, and cells containing [1] where the foreground was.And
imagesc(YourImage, 'AlphaData', YourImage)
colormap(gray)
set(gca, 'color', 'none')
to set the Region of interest visible,i did try it myself and didn't get a result,What am i doing wrong and the correct way to use this code.
0 件のコメント
採用された回答
Image Analyst
2017 年 6 月 16 日
Looks weird. Very, very weird. I'd say what you're doing wrong is using cells in the first place. I don't see any reason for that. Why put each pixel into a cell? And then make the cells empty where the image is zero? And it's not going to put a 1 in cells with foreground. It's going to have the original gray levels in the cells. I mean, you could simply do the same thing that you say you want (0=background of 0, and 1 = foreground of non-zero) much better and with far, far less memory usage simply by saying
C = (YourImage ~= 0).
Post your image and say what feature in it that you're trying to measure.
9 件のコメント
Image Analyst
2017 年 6 月 17 日
The two binary images you posted don't look anything like the masked RGB images you posted. The only way my code would look like the larger bottom binary image you posted is if your image is heavily corrupted with JPG artifacts. In that case you may have to check not for exact zero, but some small value, like 9 or something;
mask = ~(redChannel <= 9 & greenChannel <= 9 & blueChannel <= 9);
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!