【发布时间】:2016-05-25 22:56:13
【问题描述】:
我有一个 .png 的图像,我想用给定的图像执行以下任务:
1 -从图像中去除不必要的白色阴影。
2 - 识别图像中大黑点的位置/坐标。
对于Task 1,我的尝试是:
img = imread('1.png');
imshow(img);
I = img;
[r c] = size(I);
for i=1:r
for j=1:c
if I(i,j) > 230 %here i am changing 240 to different values to get result
%but this is just some hack
I(i,j) = 0;
end
end
end
imshow(I);
原始图像在哪里:
Matlab 的结果是:
注意:我是图像处理的新手,所以请用简单的方式解释我,以便我理解。谢谢
【问题讨论】:
-
(1) 将图像转换为灰度图像,然后应用阈值(例如
I_gray > 0.4;--> 然后应用de.mathworks.com/help/images/ref/regionprops.html 找到图像的边界框。(2)使用相同的函数@ 987654331@ 使用 Centroid 选项来查找您的圈子。如果您提前知道圈子的粗略大小,那么您甚至可以指定它以获得最佳结果。 -
另一种很好地找到边界框的方法:stackoverflow.com/a/10140148/701049