Plot rectangle boxes on image using MATLAB

13 ビュー (過去 30 日間)
akhil sambar
akhil sambar 2016 年 5 月 26 日
コメント済み: Nut 2016 年 5 月 26 日
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 件のコメント
KSSV
KSSV 2016 年 5 月 26 日
you want to plot boxes on a given jpg/png image?
akhil sambar
akhil sambar 2016 年 5 月 26 日
yes

サインインしてコメントする。

採用された回答

Nut
Nut 2016 年 5 月 26 日
編集済み: Nut 2016 年 5 月 26 日
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 件のコメント
akhil sambar
akhil sambar 2016 年 5 月 26 日
yeah, its working. Thank you RoBo :)
Nut
Nut 2016 年 5 月 26 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeComputer Vision with Simulink についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by