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 件のコメント

Algorithms Analyst
Algorithms Analyst 2014 年 2 月 21 日
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.
Algorithms Analyst
Algorithms Analyst 2014 年 2 月 21 日
How can I get the coodinates of the bounding box rectangle from tintedImage?
Image Analyst
Image Analyst 2014 年 2 月 21 日
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 件)

カテゴリ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by