Can anyone change this script without using CV toolbox?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Michael Kogan
am 3 Aug. 2020
Kommentiert: Michael Kogan
am 10 Aug. 2020
Hi All,
I'm trying to store mergerd image (imfuse) which include two lines (yellow and blue) - see script below.
Does anyone has an idea how to store this image without using "insertShape" function from CV toolbox?
Thank you,
Miki
for i=1:len
background = imread(FileList(i).name);
[name,~] = strsplit(FileList(i).name, '.');
original_gray = read(vid, str2num(char(name(1))));
original_gray = imrotate(original_gray,90);
original_gray = rgb2gray(original_gray);
pair = imfuse(original_gray, background, 'blend');
output1 = insertShape(pair,'Line',[g_lx_vec(i),g_ly_vec(i),nozzle_l(1),nozzle_l(2)],'Color', {'Yellow'},'LineWidth',5);
output2 = insertShape(output1,'Line',[g_rx_vec(i),g_ry_vec(i),nozzle_r(1),nozzle_r(2)],'Color', {'Blue'},'LineWidth',5);
imwrite(output2, fullfile(dest_folder, sprintf('%01d.jpg', i+9000)));
end
0 Kommentare
Akzeptierte Antwort
Raunak Gupta
am 7 Aug. 2020
Hi,
Instead of using insertShape you can show the current image on a figure using imshow and then can use plot to draw the lines on same figure. Also, for saving the current figure with only image as output you can use imwrite and getframe. You may find code with changes mentioned useful.
pair = imfuse(original_gray, background, 'blend');
figure,imshow(pair);
hold on
plot([g_lx_vec(i),nozzle_l(1)],[g_ly_vec(i),nozzle_l(2)],'Color','yellow','LineWidth',5);
plot([g_rx_vec(i),nozzle_r(1)],[g_ry_vec(i),nozzle_r(2)],'Color','blue','LineWidth',5);
imwrite(getframe(gcf).cdata, fullfile(dest_folder, sprintf('%01d.jpg', i+9000)));
close(gcf);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Computer Vision Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!