- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 HoughLinesP opencv 函数进行边缘检测。我想使用轨迹栏来估计此函数参数的良好值。我有以下代码:
def compute_edgelets(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
global edges
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
init_thresh = 50
max_thresh = 1000
init_min_line = 10
max_min_line = 1000
init_max_line = 1
max_max_line = 100
cv2.namedWindow("Result")
cv2.createTrackbar("threshold", "Result", init_thresh, max_thresh, on_change)
cv2.createTrackbar("min", "Result", init_min_line, max_min_line, on_change)
cv2.createTrackbar("max", "Result", init_max_line, max_max_line, on_change)
while True:
cv2.imshow("Result", image)
key = cv2.waitKey(1)
if key == ord('q'):
break
cv2.destroyAllWindows()
def on_change(x):
threshold = cv2.getTrackbarPos("threshold", "Result")
min_line_length = cv2.getTrackbarPos("min", "Result")
max_line_gap = cv2.getTrackbarPos("max", "Result")
lines = cv2.HoughLinesP(edges, 1, np.pi / 180, threshold, min_line_length, max_line_gap)
for x in range(0, len(lines)):
for x1, y1, x2, y2 in lines[x]:
cv2.line(image, (x1, y1), (x2, y2), (0, 255, 0), 2)
TypeError: object of type 'NoneType' has no len()
最佳答案
无法告诉您发生这种情况的确切原因(因为您没有提供所有相关数据来重现此确切问题),但幸运的是,根本问题很容易查明。
该错误是指对 len
的调用示例代码中唯一使用它的地方是获取 cv2.HoughLinesP
结果的长度.问题是你试图取 None
的长度,这没有意义。
在 Python 中,当您调用 cv2.HoughLinesP
时使用一组禁止它查找任何行的参数,它将返回 None
您可以迭代而不是一系列行参数。我们可以很容易地演示一些这样的情况:
import numpy as np
import cv2
print cv2.HoughLinesP(None, 1, np.pi/180, 50, 10, 1)
None
import numpy as np
import cv2
print cv2.HoughLinesP(np.zeros((100,100,1), np.uint8), 1, np.pi/180, 50, 10, 1)
None
len
在
None
,你会得到一个错误。因此,您需要对代码进行一些调整......至少像
if lines is None:
return
关于python - HoughLinesP 使用轨迹栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007804/
我正在尝试使用 OpenCV 进行一些图像处理。诚然,我是这个东西的菜鸟,但我觉得我的大脑有点绕着它。我使用蒙版来检测图像的较亮区域,然后运行精明检测器,最后运行 HoughLinesP 检测。代码如
我是Python和OpenCV的新手。我正在尝试使用HoughLinesP函数从互联网上的代码检测单行,检测到3-4行。我尝试使用maxLineGap变量,但没有帮助。 输入图片: 输出图像: imp
我正在使用 HoughLinesP opencv 函数进行边缘检测。我想使用轨迹栏来估计此函数参数的良好值。我有以下代码: def compute_edgelets(image): gray =
当在 OpenCV 中使用 HoughLinesP 函数时,是否可以对单独的线条进行分析(即可以“标记”帧中检测到的所有线条以供将来引用)。 我通过调整 canny 边缘检测器将检测到的线数减少到尽可
我正在开发一个使用 OMR(光学标记识别)来读取气泡表的应用程序,我正在使用 OpenCV API,但我在使用 HoughLinesP 时遇到了一些问题,当我使用它时会返回一个空图像给我。我使用And
我正在尝试对图像应用概率霍夫变换,但出现此编译器错误: invalid initialization of reference of type ‘cv::InputArray {aka const c
我尝试使用 OpenCV 和 C++ 从输入视频中检测街道的线条。我正在使用 HoughLinesP 并且我只想检测分隔街道的线,例如水平线或垂直线。 使用 HoughLinesP(dst, line
我用VS 15在OpenCV中实现了Houghlinesp,代码如下- #include "stdafx.h" #include "opencv2/highgui/highgui.hpp" #incl
考虑图像中的三个点 A、B、C。 下面是它们在尺寸为 300x300 的图像中的坐标。 我正在尝试使用以下 HoughLinesP 代码检测并绘制一条连接这三个点的线。 import cv2 impo
我有一个对象,我想定义它的精确中心。使用 OpenCV,我使用 Canny 检测边缘,然后执行 HoughLinesP 检测线:see this . 我使用 Hough 变换是因为对象不是完全矩形的,
我的任务是找到直线(startX、startY、endX、endY)和矩形(4 条直线)的坐标。这是输入文件: 我使用下一个代码: img = cv.imread(image_src) gray =
我很难在 Python 中使用 HoughLinesP 和 OpenCV 在此图像中找到棋盘上的线条。 为了理解HoughLinesP的参数,我想出了以下代码: import numpy as np
我正在尝试制作一个简单的应用程序来使用 OpenCV 检测线路 我的代码基于 opencv 示例代码 我只编辑了OnCameraFrame部分 这是我所拥有的: public Mat onCamera
我正在使用cv2.HoughLinesP(),它给了我它检测到的行。这些线在找到物体的角度时大多是准确的。然后,我想根据这些线旋转原始图像。 我的图片: 我的代码: import cv2 as cv
我目前正在研究计算机视觉并尝试使用 Hough-Transform 来寻找一些线条。它自身的操作正在运行,但即使是最小的示例代码也会产生释放错误。 #include #include #inclu
我在这学习link . 这是原图: 我的测试代码: import cv2 import numpy as np img = cv2.imread( 'E:/image/sudoku.png' ) gr
我正在使用适用于 Android 的 OpenCV 3.0。我有一张图像,我想在其中检测圆形表盘内手的角度。为此,我正在研究 HoughLinesP 来检测手。这是代码。 Mat imgSource
我正在尝试获得他们在 this 中获得的相同结果HoughLinesP 过滤器教程。我像这样拍摄了相同的图像和相同的阈值: import cv2 from line import Line impor
我正在尝试使用 OpenCV 和 Python 测量玻璃 channel 中的水位。我决定在选定的 ROI 中使用 HaughLines 并找到所述线条的中点,这样我就可以计算出我想要的线条之间的差异
它写在文档中: lines – Output vector of lines. Each line is represented by a 4-element vector (x_1, y_1, x_
我是一名优秀的程序员,十分优秀!