Background Subtraction
21 次查看(过去 30 天)
显示 更早的评论
Hello!
I have an image of some fluorescent samples http://imageshack.us/photo/my-images/440/washingexp.png and I need to get a "intensity" reading from them. All is good except for the background subtraction in the image. I want to sum up my samples only and not the background and I am having trouble doing this.
Does anyone have any tips on background subtracting? Every time I do it MatLab cuts out from my samples. I really want to single out my samples but not lose them! :)
Thank you!
I'm doing something like
I =imread('washingexp.tif');
for r=1:1024
for C=1:1360
B(r,C)=I(r,C)-88;
end
end
2 个评论
Walter Roberson
2012-6-12
It is not immediately clear which parts are background or not? In particular it is not clear if the bright dots are part of the background or the foreground
回答(1 个)
Ryan
2012-6-11
There are various methods to better segment your image and most are best dealt with on a case by case basis.
Check out Image Analyst's tutorials on the file exchange: http://www.mathworks.com/matlabcentral/fileexchange/authors/31862
In particular this should be of help: http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial-blobsdemo
2 个评论
Ryan
2012-6-11
If you have the image processing toolbox:
I = imread('imagefile.png");
BW = im2bw(I,graythresh(I)); % "graythresh(I)" is Otsu's method for finding the optimal intensity level for performing an image threshold.
BW2 = imfill(BW,'holes');
Labels = bwlabel(BW2,8);
Properties = regionprops(Labels,'all');
help regionprops
Ryan
2012-6-11
use bwareaopen(Image,'200 or some other "area" value) to eliminate the glares if you need to.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!