Hi all
I want to visualize my compnents on original input image. I have performed foregorund detection by some background subtraction algorithm. Let say I have foregorund mask fgmask and input frame I.I have performed the connected component analysis like that
I=input Image;
FgMask=binary Image;
labelImage=bwlabel(FgMask,8);
blobMeasurements = regionprops(labeledImage, I, 'all');
numberOfBlobs = size(blobMeasurements, 1);
Now what I want to do, actually I do not need bounding box on foreground region, I want to label foregorund region into original input Image (foregorund region should be labeled from red colours) instead of bounding box.HOw can I perform that??
Every help is appreciated.

 채택된 답변

Image Analyst
Image Analyst 2014년 2월 21일

0 개 추천

You can tint your image red in the foreground regions
redChannel = grayImage; % Initialize.
redChannel(binaryImage) = 255; % Max out red in foreground pixels.
% Create an RGB image.
tintedImage = cat(3, redChannel, grayImage, grayImage);
imshow(tintedImage);

댓글 수: 4

Thank you very much Dear Image Analyst.
How can I make a bounding box in the resultant red region in input Image after that I mean
tintedImage=cat(3,redChannel,grayImage,grayImage);
Thanks
Image Analyst
Image Analyst 2014년 2월 21일
You can use the plot() function to plot lines between the 4 corners. Or use the rectangle() function.
How can I get the coodinates of the bounding box rectangle from tintedImage?
Originally you said you didn't need it. Anyway, you can just use regionprops
labeledImage = bwlabel(binaryImage);
measurements = regionprops(labeledImage, 'BoundingBox');
allBoundingBoxes = [measurements.BoundingBox];

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터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!

Translated by