Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Opencv-圆形图像扭曲_C++_Image Processing_Opencv - Fatal编程技术网

C++ Opencv-圆形图像扭曲

C++ Opencv-圆形图像扭曲,c++,image-processing,opencv,C++,Image Processing,Opencv,我只是想知道是否有人知道我如何处理这个问题。我设置了一个摄像头,寻找一个圆(使用Hough圆),由于透视效果,但它检测到的圆与实际图像居中。这是因为从摄影机位置的透视扭曲,“圆”实际上是一个椭圆。 非常感谢您的帮助。 (由于“垃圾邮件措施”,我无法发布该图像,但可以找到它。如果您的所有图像与您发布的图像相似,您可以轻松应用斑点检测方法: 对图像进行二值化(具有适当值的阈值) 通过腐蚀,然后扩张去除伪影 找到斑点 对于所有找到的斑点,寻找中心、面积、瞬间等,以找到您感兴趣的斑点(周围可能有其他较

我只是想知道是否有人知道我如何处理这个问题。我设置了一个摄像头,寻找一个圆(使用Hough圆),由于透视效果,但它检测到的圆与实际图像居中。这是因为从摄影机位置的透视扭曲,“圆”实际上是一个椭圆。 非常感谢您的帮助。
(由于“垃圾邮件措施”,我无法发布该图像,但可以找到它。

如果您的所有图像与您发布的图像相似,您可以轻松应用斑点检测方法:

  • 对图像进行二值化(具有适当值的阈值)
  • 通过腐蚀,然后扩张去除伪影
  • 找到斑点
  • 对于所有找到的斑点,寻找中心、面积、瞬间等,以找到您感兴趣的斑点(周围可能有其他较小的斑点)
  • 有关斑点像素的一些统计信息将准确地告诉您椭圆参数

我的问题是如何更正此图像的预期扭曲,以使圆与图像上的圆实际匹配。非常感谢您的输入,我可以问您从椭圆中可以获得哪些统计信息来帮助我更正预期扭曲。我已根据您在回答中所述的斑点椭圆计算了边界框首先找到轮廓,然后使用fitElipse函数找到椭圆,我可以找到高度和宽度。我如何使用这些值来获得透视扭曲?如果你知道椭圆的宽度、高度和中心,你只需要一点几何就可以找到原始圆。有关椭圆方程,请访问维基百科。