OpenCV进行Hough直线检测,cv::HoughLines()

本文介绍了在VS2019和OpenCV4.0环境下,如何使用cv::HoughLines函数进行直线检测。内容包括函数原型、参数解析及示例代码,展示了如何处理Canny边缘检测后的二进制图像,并通过调整距离分辨率、角度分辨率和累加器阈值来找到图像中的直线。
摘要由CSDN通过智能技术生成

环境

vs2019,Opencv4.0

效果

在这里插入图片描述

函数原型

在这里插入图片描述
image:输入图像,必须是单通道二进制图像,比如Canny边缘检测后的输出图像。
lines:检测到的直线,一般类型为std::vector<cv::Vec2f>
rho: 累加器的距离分辨率(以像素为单位)。
theta:以弧度为单位的累加器的角度分辨率。
threshold:累加器阈值
srn:0
stn:0
min_theta:线条的最小角度
max_theta:线条最大角度,默认为PI

示例代码


#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/core/cuda.hpp>
#include<sstream>


int main(int argc, char* argv[])
{
   

    cv::Mat img, img_clone, img_g, img_c;
    img = cv::imread("E:\\Comm\\demo\\22.jpeg", 1);
    img_clone = img.clone();
    cv::cvtColor(img, img_g, cv::COLOR_BGR2GRAY); //灰度图像
    cv::Canny(img_g, img_c, 100, 300
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值