188得票10回答
Python/SciPy的寻峰算法

我可以通过寻找一阶导数的零交叉点等方法自己编写算法,但这似乎是一个常见的函数应该包含在标准库中。 有人知道这个吗? 我的特定应用程序是一个二维数组,但通常它将用于查找FFT等中的峰值。 具体来说,在这些问题的情况下,存在多个强峰,然后有许多较小的“峰”,这些峰仅由应忽略的噪声引起。 这些只...

113得票8回答
在照片中检测纸张边角的算法

如何最好地在照片中检测发票/收据/纸张的角落?这将用于后续透视校正,OCR之前。 我当前的方法是: RGB > Gray > Canny边缘检测,带有阈值处理 > 膨胀(1) > 删除小对象(6) > 清除边框对象 > 基于凸包面积选择最大的对象。&gt...

48得票4回答
解释霍夫变换。

我只是想大胆尝试,向计算机视觉迈出第一步。我尝试自己实现霍夫变换,但是我无法完全理解它的整个过程。我阅读了维基百科条目,甚至看了Richard Duda和Peter Hart的原始著作“使用霍夫变换检测图片中的直线和曲线”,但都没有帮助我更好地理解。有人可以用更友好的语言来解释一下吗?

42得票6回答
使用HoughLines OpenCV找到两条直线的交点

我该如何使用OpenCV的Hough线算法找到线段的交点? 以下是我的代码:import cv2 import numpy as np import imutils im = cv2.imread('../data/test1.jpg') gray = cv2.cvtColor(im,cv...

38得票6回答
在OpenCV中检测半圆形

我正在尝试在图像中检测完整的圆和半圆。 我按照以下步骤操作: 处理图像(包括Canny边缘检测)。 查找轮廓并在空图像上绘制它们,以便我可以消除不需要的组件(处理后的图像正是我想要的)。 使用HoughCircles检测圆。这就是我得到的结果: 我尝试改变HoughCircles中的参数,但...

37得票6回答
使用OpenCV进行水平线检测

我正在尝试从“文档”中获取的图像中查找水平和垂直线条。 这些文档是来自合同的扫描页面,因此行看起来像您在表格或合同块中看到的内容。 我一直在尝试使用OpenCV完成这项工作。 OpenCV中的Hough变换实现似乎对此工作有用,但我无法找到任何参数组合,能够干净地找到垂直和水平线条。 我尝试...

35得票6回答
从图像中识别数字

我想编写一个应用程序,以查找图像中的数字并将它们相加。 如何识别图像中的手写数字? 图像中有许多框,我需要获取左侧的数字并将它们加起来得出总和。我该如何实现这个功能? 编辑:我在图像上使用了Java Tesseract OCR,但没有获得任何正确的结果。我该如何进行训练? 另外,...

33得票5回答
在图像中检测线条的好方法是什么?

我已经编写了一些使用OpenCV库的代码,用于检测草地上涂白色的线条。我需要有人对我使用的方法提供意见(因为我确信肯定有比我的更好的方法)。此外,我得到的结果不如预期,因为图像中的轻微变化需要调整参数(而且我需要操作固定的参数)。 到目前为止,我的方法是: 从网络摄像头获取图像(显然转换...

32得票4回答
Canny在HoughLines(OpenCV)之前的作用是什么?

我对图像处理还很陌生,目前正在处理文档图像中的线条检测。我已经了解了霍夫变换的理论,但是我不明白为什么在调用opencv中的该函数之前必须使用Canny算法,就像许多教程中所说的那样。在这种情况下找到边缘的意义是什么?事实上,如果我在使用HoughLines()之前不使用Canny或阈值,结果...

27得票3回答
如何使用OpenCV和HoughLines在图像中检测垂直和水平线?(Python)

我正在尝试获取校准棋盘的阈值。由于观察到微型棋盘存在一些灰尘,无法直接检测棋盘角落。我尝试了几种方法,HoughLinesP似乎是最简单的方法。但结果不太好,如何改善我的结果?import numpy as np import cv2 img = cv2.imread('lines.jpg'...