有一个图像,被黑色区域包围,我想找到这个图像的确切位置(被黑色区域包围)。我的意思是这个图像的四个角的坐标。感谢。
答案 0 :(得分:1)
您可以在图像上应用二阶导数蒙版,然后准确地拾取颜色从黑色到图片内容的点。然后,您可以逐个提取第一行和最后一行和列,并获得坐标。
答案 1 :(得分:0)
如果你在matlab:
掩盖黑色区域。试试:
Image = logical(Image)
或者找到黑色体素的强度(可能为零)并说:
Image = ind2sub(size(Image), find(Image ~= blackPixelIntensity))
一旦你有了图像的二进制非黑色部分(所以只是对象而不是背景),你只想找到每个体素的最小,最大角落。说:
[x y] = ind2sub(size(Image), find(Image ~= 0))
c1 = [min(x) min(y)]
c2 = [max(x) min(y)]
c3 = [max(x) max(y)]
c4 = [min(x) min(y)]
c1,...,c4是你的角落:)
Lemme知道任何语法错误,因为我无法访问matlab atm。
tylerthemiler
编辑:如果您只想要图像的非黑色部分的整个边界,只需执行上面前两行代码中的任何一行,然后说:
Imperim = bwperim(Image)
Edit2:注意Image是2D数组,你可以在jpg中使用你想要加载的任何内容:P