Is there any way to make this code better?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I have this code that draws a rectangle onto an image. However, it is very slow for if I wish to draw multiple rectangles. Is there any better way to draw something onto an image?
function imret = image_dsquare( im, r1, c1, r2, c2, val )
[imr imc] = size(im);
imret = im;
for r = r1:r2
for c = c1:c2
if r >= 1 && r <= imr && c >= 1 && c <= imc
imret(r, c) = val;
end
end
end
end
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 17 Jul. 2012
imret(max(r1,1):min(r2,imr),max(c1,1):min(c2,imc)) = val;
3 Kommentare
Sean de Wolski
am 18 Jul. 2012
That is probably as fast as it's going to get for the code you have above...
Why is speed so important? How many time are you actually going to call this? Does it matter if one approach takes a few ten thousanths of a second longer?
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!