博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV-Python 霍夫直线检测-HoughLinesP函数参数
阅读量:4526 次
发布时间:2019-06-08

本文共 1055 字,大约阅读时间需要 3 分钟。

cv2.HoughLines()函数是在二值图像中查找直线,cv2.HoughLinesP()函数可以查找直线段。

cv2.HoughLinesP()函数原型:

HoughLinesP(image, rho, theta, threshold, lines=None, minLineLength=None, maxLineGap=None) 

  • image: 必须是二值图像,推荐使用canny边缘检测的结果图像; 
  • rho: 线段以像素为单位的距离精度,double类型的,推荐用1.0 
  • theta: 线段以弧度为单位的角度精度,推荐用numpy.pi/180 
  • threshod: 累加平面的阈值参数,int类型,超过设定阈值才被检测出线段,值越大,基本上意味着检出的线段越长,检出的线段个数越少。根据情况推荐先用100试试
  • lines:这个参数的意义未知,发现不同的lines对结果没影响,但是不要忽略了它的存在 
  • minLineLength:线段以像素为单位的最小长度,根据应用场景设置 
  • maxLineGap:同一方向上两条线段判定为一条线段的最大允许间隔(断裂),超过了设定值,则把两条线段当成一条线段,值越大,允许线段上的断裂越大,越有可能检出潜在的直线段
HoughLinesP()调用例子:

# coding=utf-8import cv2import numpy as npimg = cv2.imread('02.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)gaus = cv2.GaussianBlur(gray,(3,3),0)edges = cv2.Canny(gaus, 50, 150, apertureSize=3)minLineLength = 100maxLineGap = 10lines = cv2.HoughLinesP(edges, 1, np.pi / 180, 100, minLineLength, maxLineGap)for x1, y1, x2, y2 in lines[0]:    cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)cv2.imshow("houghline",img)cv2.waitKey()cv2.destroyAllWindows()

转载于:https://www.cnblogs.com/mtcnn/p/9411774.html

你可能感兴趣的文章
[工具] BurpSuite--XssValidator插件
查看>>
LPC1788系统时钟初始化
查看>>
channel vs mutex
查看>>
页面布局(--FlowLayout,--BorderLayout,--GridLayout)
查看>>
实验吧--web--你真的会php吗
查看>>
vue组件化学习第二天
查看>>
网络枚举工具推荐
查看>>
003LeetCode--LongestSubstring
查看>>
quarzt(官方)---给自己看的文档(SchedulerListeners)-8
查看>>
Linux-慕课网学习笔记-3-1命令格式
查看>>
AJAX入门介绍
查看>>
[算法竞赛入门]第一章_算法概述
查看>>
SQL反模式笔记3——主键规范
查看>>
简单粗暴,微生物生态研究中常用数据库简介--转载
查看>>
Oracle -操作数据库
查看>>
c - 给分数分级别
查看>>
chrome 调试
查看>>
luoguP2774 方格取数问题
查看>>
tcp/ip协议各层的理解与
查看>>
python中的setdefault()方法
查看>>