找到圆的矩后出现奇怪的坐标
Posted
技术标签:
【中文标题】找到圆的矩后出现奇怪的坐标【英文标题】:Strange coordinate appears after finding moments of circles 【发布时间】:2014-01-21 20:20:10 【问题描述】:我正在使用开放式 CV 和 C++。我使用 find Contours 和 moment 来显示图像中圆的中心坐标。然而,好人之间却出现了这个奇怪的坐标。它是 [-2147483648,-2147483648]。有人知道这是什么意思吗? 谢谢
【问题讨论】:
如果您还没有这样做,请阅读the Stack Overflow question checklist。您可能还想了解SSCCE 是什么。 听起来像是溢出,但没有任何代码可以查看几乎不可能确定。 尝试使用long
或long long
代替整数。这些值可能是错误代码。
是的!!问题出在我使用的类型上。我使用 long long 而不是使用 int,但这次奇怪的坐标是 [0,0] 在正确坐标之间
【参考方案1】:
出现此原因的可能性可能是由于使用了整数类型。也称为整数溢出。
当算术运算试图创建一个对于您声明的可用存储空间来说太大的数值时,就会发生这种情况。
但是,也可能有其他原因。从我注意到的情况来看,这些值有点大。请问您尝试在其上实现轮廓和时刻的图像大小是多少?因为我自己也做过类似的事情,而且值太大了。
如果您正在处理的图像尺寸不是很大(就像真的很大),那么代码可能有问题。请编辑问题以包含代码,以便所有 *** 人员都可以帮助您。
这是一些如何找到圆心的链接,希望对你有用。我当时在做类似的程序时使用了这个链接。
How to find the coordinates of a point w.r.t another point on an image using OpenCV
http://lfhck.com/question/278176/python-and-opencv-how-do-i-detect-all-filledcirclesround-objects-in-an-image
【讨论】:
【参考方案2】:抱歉,这与我使用的类型无关,而是图像质量有问题。我不得不模糊该部分,使其无法检测到那里的颜色。
【讨论】:
以上是关于找到圆的矩后出现奇怪的坐标的主要内容,如果未能解决你的问题,请参考以下文章