【发布时间】:2016-05-26 06:49:21
【问题描述】:
我想在 for 循环中使用一个字符,但我不能,因为我正在使用 ginput 函数,并且每次单击鼠标都可以更改 for 循环中的第一个和结束像素我不能使用精确的像素,这是我的错误运行我的代码。
下标索引必须是实数正整数或逻辑数。
A=imread('peppers.png');
C=imshow(A);
F=rgb2gray(A);
figure,imshow(F)
B=ginput(4)
a=min(B);
b=max(B);
a1=a(1)
a2=a(2)
b1=b(1)-a(1)
b2=b(2)-a(2)
for i=a1:a1+b1
for j=a2:a2+b2
F(j,i)=0;
end
end
figure,imshow(F)
【问题讨论】:
-
我建议阅读有关索引的 MATLAB 文档。它可以为您节省大量工作。
F(a1:a1+b1,a2:a2+b2)=0完全替代了两个循环,速度更快。
标签: matlab for-loop image-processing