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

0 Stimmen

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 :)
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)

Kategorien

Gefragt:

am 26 Mai 2016

Kommentiert:

Nut
am 26 Mai 2016

Community Treasure Hunt

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

Start Hunting!

Translated by