如何垂直和水平扫描图像存储坐标(职位)的元素值255。

5视图(30天)
我想要识别和定位的坐标上的彩色斑点现在白色背景即(255)如图。
为此,我想扫描图像在水平方向和垂直方向上附加的图像。扫描应该停止并显示坐标,它发现像素值0。相同的过程应该持续了整幅图像识别以外的所有坐标有值255。
我试图代码,但不能这样做。附加代码,供您参考。
I = imread (Image2);%读取输入图像
大小(高度、宽度、平面)=(我);
坐标= 0(高度、宽度);
i = 1:高度
j = 1:宽度
x =我;
y = j;
如果我(I, j) ~ = 0
坐标(x, y) =我(I, j)
结束
结束
结束
我附上了两张图片,供您参考。Image1是手动描述彩色斑点的矩形。和Image2 originlal形象。
感谢任何帮助。谢谢! ! !

答案(2)

郑宇硕
郑宇硕 2021年6月4日
你需要一个for循环的“扫描”还是只是找颜色的位置吗?如果你不需要在一个for循环扫描功能为你找到()将得到的值
img = imread (“pears.png”);
bwimg = rgb2gray (img);
x = linspace(1, - 1,大小(img, 2));
y = linspace(1, - 1,大小(img, 1));
(X, Y) = meshgrid (X, Y);
bwimg (√x ^ 2 + y ^ 2) > = 1) = 255;
图、图像(bwimg) colormap灰色的
[r、c、V] =找到(bwimg ~ = 255);
持有
k =边界(c, r);%收集只是简单绘图显示点
情节(c (k)、r (k),“r”)
1评论
kanika bhalla)
kanika bhalla) 2021年6月4日
非常感谢你 @Joseph程 你的答案。我想扫描,得到的位置颜色的行和列的数量。这之后我将访问这些行和列。
我也尝试过你的代码但这是给错误。错误描述如下:
错误使用linspace
太多的输入参数。
谢谢你的时间。

登录置评。


社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的