API

Probabilistic Hough Line变换(概率霍夫线变换)vector<Vec4i> lines;
HoughLinesP(dst, lines, 1, CV_PI/180, 50, 50, 10 );dst:边缘检测器的输出。它应该是一个灰度图像(尽管事实上它是二进制的)
行:将存储检测到的行的参数的(xstart,ystart,xend,yend)
rho:参数的分辨率(以像素为单位)。我们使用1像素。r
theta:以弧度表示的参数的分辨率。我们使用1度(CV_PI / 180)θ
threshold:将“* detect *”一行的最小交点数
minLinLength:可以形成一行的最小点数。小于这个点数的行被忽略。
maxLineGap:在同一行中考虑的两点之间的最大差距。​

代码

#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include<vector>
#include <iostream>
using namespace std;
using namespace cv;
Mat src = imread("3.png",IMREAD_GRAYSCALE);
int thresh = 50;
int line_length = 10;
int line_distance = 5;void on_canny(int, void*)
{Mat dst;//去模糊GaussianBlur(src, src, Size(3, 3), 0, 0);Canny(src, dst, thresh, 2*thresh, 3);vector<Vec4i>lines;HoughLinesP(dst, lines, 1, CV_PI / 180, 50, line_length, line_distance);for (int i = 0; i < lines.size(); i++){Vec4i l = lines[i];line(dst, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0, 0, 255), 1, 8, 0);}imshow("dst", dst);
}int main()
{if (!src.data){cout << "图片读入失败" << endl;return -1;}namedWindow("原图", WINDOW_FREERATIO);imshow("原图",src);createTrackbar("阈值", "原图",&thresh, 120, on_canny);createTrackbar("规定线长", "原图", &line_length, 60, on_canny);createTrackbar("规定两线距离", "原图", &line_distance, 15, on_canny);on_canny(0, 0);waitKey(0);return 0;
}

OpenCV Hough Line变换相关推荐

  1. OpenCV 霍夫线变换Hough Line Transform

    OpenCV 霍夫线变换Hough Line Transform 霍夫线变换Hough Line Transform 目标 理论 霍夫线变换 它是如何工作的? 标准概率霍夫线变换 这个程序做什么? 代 ...

  2. Python+OpenCV:Hough直线检测(Hough Line Transform)

    Python+OpenCV:Hough直线检测(Hough Line Transform) 理论 A line can be represented as  or in a parametric fo ...

  3. OpenCv 练习题 霍夫(Hough)变换

    霍夫(Hough)变换 题目:计算黑子之间的距离与白字之间的距离,得到两个最大值,运用直线画出连接两段距离最大的黑子和白子的直线,运用hough直线检验出棋盘的中本来的黑线,以不同颜色画出. from ...

  4. 【OpenCV-Python】教程:3-13 Hough直线变换

    OpenCV Python Hough直线变换 [目标] 理解Hough变换的概念 学会使用Hough变换检测直线 cv2.HoughLines(), cv2.HoughLinesP() [理论] H ...

  5. 直线检测练习:hough线变换

    直线检测练习:hough线变换 1.hough线变换概述 2.hough线变换原理 3. API介绍 3.1 opencv版 3.1.1 HoughLines API介绍(SHT.MSHT) 3.1. ...

  6. Hough直线变换、圆变换原理解析与python实验

    霍夫变换 在图像x-y坐标中,经过点(x_i, y_i)的直线表示为y_i=k∗ x_i+b (1),其中k为斜率,b为截距 如果将x_i .y_i 看成常数,把k和b看成变量,式子(1)可以表示为b ...

  7. OpenCV离散傅立叶变换DFT的实例(附完整代码)

    OpenCV离散傅立叶变换DFT的实例 OpenCV离散傅立叶变换DFT的实例 OpenCV离散傅立叶变换DFT的实例 #include "opencv2/core.hpp" #i ...

  8. OpenCV使用F变换过滤

    OpenCV使用F变换过滤 使用F变换过滤 目标 模糊变换应用 代码 解释 使用F变换过滤 目标 本教程向您演示如何使用F变换进行图像过滤.你会看见: 背后的基本理论 不同设置的插图. 模糊变换应用 ...

  9. OpenCV使用F变换进行修补

    OpenCV使用F变换进行修补 使用F变换进行修补 目标 介绍 模糊变换应用 代码 解释 使用F变换进行修补 目标 在本教程中,您将学习使用F变换修复图像的工作原理.它包括: 背后的基本理论 三种不同 ...

最新文章

  1. c语言多线程mysql_多线程读写mysql数据库
  2. 用研究新范式破解生命科学难题
  3. ASP.NET 应用程序生命周期概述
  4. salt-ssh 安装salt-minion 笔记
  5. nimbus java_Java程序设置界面为Nimbus风格x
  6. 怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...
  7. 随想录(octave软件)
  8. bzoj 1856: [Scoi2010]字符串(卡特兰数)
  9. 【渝粤教育】广东开放大学 电子商务项目管理 形成性考核 (22)
  10. Linux 杀死进程方法大全(kill,killall)
  11. Java八大算法:归并排序
  12. java链表实现多项式的运算
  13. 台风怎么看内存颗粒_RGB灯效内存条怎么选,看老胡推荐
  14. AI 写代码来了 - github 的 AI 写代码插件 copilot 发布
  15. 微信公众号迁移公证书办理流程
  16. Excel 合并两列时间,中间用分隔符连接
  17. 流程图软件lauto_Iauto流程软件
  18. Selenium本地打开远程浏览器
  19. 005 ps基础之图像旋转、裁剪
  20. SQL的update语句

热门文章

  1. excel 解析 java_java解析Excel(xls、xlsx两种格式)
  2. 我的世界javamod怎么装_易拉罐装的葡萄酒你们能接受吗?
  3. CodeForces 375D Tree and Queries
  4. echarts数据变了不重新渲染,以及重新渲染了前后数据会重叠渲染的问题
  5. Python3-Cookbook总结 - 第一章:数据结构和算法
  6. 数组--存储地址的计算
  7. 正则表达式用户名密码电话身份证Email使用
  8. ubuntu下安装 python 常用软件
  9. mysql中sql语句
  10. 微信公众平台消息接口星标功能