二值化后我有黑白图像。之后我得到一个形状不规则的物体。链接到此图像如下。 我该如何将这个对象刻上圆圈?或者如何找到这个对象的“中心”?
答案 0 :(得分:9)
你可以使用一个简单的公式找到像素的重心,这个公式是x坐标除以点数和y坐标之和除以数量之和点(我的意思是白点)。
然后,您可以绘制一个以重心为中心的圆,其中点之间的最大距离为半径。
Here你有一个图解说明。
答案 1 :(得分:2)
好吧,您可以从上到下扫描最顶部的白色像素,然后从下往上扫描最底部的白色像素,左右相同。这给你一个矩形。找到矩形的中心很容易(例如左+(右 - 左)/ 2),那就是你的圆心。然后找到到角落的距离(任何会做),那就是你的圆半径。
答案 2 :(得分:2)
这听起来像白色像素组上的smallest circle problem。它可以在像素数的线性时间中找到。这是你得到的最好的输入只是一个二进制像素数组。
答案 3 :(得分:1)
我认为,对象的中心可以很容易地找到x和y坐标的算术平均值。我想用圆圈替换它,我会说直径是所有点到中心的平均距离的两倍。