Plot rectangle boxes on image using MATLAB

13 Ansichten (letzte 30 Tage)
akhil sambar
akhil sambar am 26 Mai 2016
Kommentiert: Nut am 26 Mai 2016
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.
<<
<<
>>
>>
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 Kommentare
KSSV
KSSV am 26 Mai 2016
you want to plot boxes on a given jpg/png image?
akhil sambar
akhil sambar am 26 Mai 2016
yes

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Nut
Nut am 26 Mai 2016
Bearbeitet: Nut am 26 Mai 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 Kommentare
akhil sambar
akhil sambar am 26 Mai 2016
yeah, its working. Thank you RoBo :)
Nut
Nut am 26 Mai 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by