Plot rectangle boxes on image using MATLAB
9 views (last 30 days)
Show older comments
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/165194/image.jpeg)
Here I am developed some code for plotting boxes on image but I am getting boxes on different image. All the boxes should be in same image. Please help me in this. Thank in advance.
<<
<<
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/165196/image.jpeg)
>>
>>
video = VideoReader('parking video1.mp4');
I = read(video,1);
J = read(video,200);
a=104; b=73;
c=104; d=515;
count=0;count1=0;count2=0;
total=10;
for i=1:5
im1=imcrop(I,[a,b,283, 448]);
im3=imcrop(J, [a,b,283, 448]);
Background1 =abs(im1 - im3);
grayImage1 = rgb2gray(Background1);
% Convert to gray level
thresholdLevel1 = graythresh(grayImage1);
% Get threshold.
binaryImage1 = im2bw( grayImage1, thresholdLevel1);
% Do the binarization
binaryImage1 = bwareaopen(binaryImage1,1000);
ak=bwarea(binaryImage1);
figure, imshow(J);
hold on;
if ak>0
rectangle('Position',[a,b,283, 448],'Edgecolor', 'r');
else
rectangle('Position',[a,b,283, 448],'Edgecolor', 'g');
end
a=a+280;
end
2 Comments
Accepted Answer
Nut
on 26 May 2016
Edited: Nut
on 26 May 2016
Hi,
what if you substitute the line:
figure, imshow(J);
with these lines?
if i == 1
figure, imshow(J);
end
Is it a proper working for you?
2 Comments
Nut
on 26 May 2016
Of nothing.
However, I forgot to tell you in the previous answer, but... a more elegant solution should be to move the lines:
figure, imshow(J);
hold on;
before the "for" cycle. It should be also more efficient, I think.
Goodbye
More Answers (0)
See Also
Categories
Find more on Computer Vision with Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!