上一篇博文介绍了图像的Canny边缘检测,本文主要介绍图像的直线检测部分,主要使用概率霍夫变换来检测直线,调用的函数为HoughLinesP(),下面给出代码部分以及直线检测效果图:

1、代码部分:

// Detect_Lines.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include "highgui.h"

using namespace std;

using namespace cv;

void drawDetectLines(Mat& image,const vector& lines,Scalar & color)

{

// 将检测到的直线在图上画出来

vector::const_iterator it=lines.begin();

while(it!=lines.end())

{

Point pt1((*it)[0],(*it)[1]);

Point pt2((*it)[2],(*it)[3]);

line(image,pt1,pt2,color,2); //线条宽度设置为2

++it;

}

}

int _tmain(int argc, _TCHAR* argv[])

{

Mat src_img=imread("..\\image_norm\\71253.jpg");

imshow("src_img",src_img);

Mat I;

cvtColor(src_img,I,CV_BGR2GRAY);

Mat contours;

Canny(I,contours,125,350);

threshold(contours,contours,128,255,THRESH_BINARY);

vector lines;

HoughLinesP(contours,lines,1,CV_PI/180,80,50,10);

drawDetectLines(src_img,lines,Scalar(0,255,0));

imshow("Detect_Lines",src_img);

cvWaitKey(0);

return 0;

}

2、原图以及直线检测效果图:

至此,已经实现了图像的直线检测部分,将检测出来的直线在原图中画了出来,也可以将检测出来的直线在上一篇博文中的边缘图像中画出来,效果如下:

特别说明,HoughLinesP()函数的一般步骤请参考博文:Opencv2.4.9函数HoughLinesP分析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

opencv 直线检测 java_OpenCV实现图像的直线检测相关推荐

  1. halcon缺陷检测学习2图像色差缺陷检测detect_mura_defects_blur

    简介:检测暗色图像中的色差故障,展示了如何检测模糊图像中的不均匀色差缺陷,选择缺陷·为·黑色部分 初始化 dev_close_window () dev_update_off () *这一句包含如下三 ...

  2. JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测

    JavaCV免费教程目录: JavaCV入门教程(免费JavaCV教程) javacv实战专栏目录(2016年更新至今): JavaCV实战专栏文章目录(2016年更新至今) 2022年最新JavaC ...

  3. 自动驾驶采标系列三:基于图像的目标检测技术

        标注猿的第54篇原创        一个用数据视角看AI世界的标注猿    上一篇文章我们从"环境感知"数据的采集设备上进行了详细说明,已经了解了相应设备采集的数据及采集前 ...

  4. python 图像变化检测_Python OpenCV 霍夫(Hough Transform)直线变换检测原理,图像处理第 33 篇博客...

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 33 篇. 基础知识铺垫 霍夫变换(Hough Transform)是图像处理领域中,从图像中识别几 ...

  5. OpenCV(十八)霍夫变换(直线、线段与圆检测)

    目录 一.基础理论 1.作用: 2.定义 3.原理 二.直线检测 1.基础理论 1.原理 2.过程 2.HoughLines函数(直线检测) 3.HoughLinesP函数(线段检测) 三.圆检测 1 ...

  6. 【youcans 的 OpenCV 例程200篇】157. 霍夫变换直线检测

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程20 ...

  7. 花老湿学习OpenCV:霍夫线变换与直线检测

    引言: 霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体.该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集 ...

  8. 基于opencv的c++图像处理(霍夫直线检测与最小二乘法直线拟合)

    前言 基于opencv的c++接口,实现标准的霍夫直线检测.基于统计概率的霍夫直线检测.以及最小二乘法直线拟合. 相关的opencv接口解析 CV_EXPORTS_W void HoughLines( ...

  9. 利用OpenCV的霍夫变换线检测函数HoughLines()得到直线的ρ和θ值后绘制直线的原理详解

    为了更好地看懂本文,大家可以先看下我写的另一篇博文,链接如下: https://blog.csdn.net/wenhao_ir/article/details/51774444 OpenCV的霍夫变换 ...

最新文章

  1. 分布式技术比较(RPC,CORBA,WebService)
  2. JS表格分页(封装版)
  3. 网易云信深度优化解决移动聊天室“痼疾”
  4. Android单元测试 - 几个重要问题
  5. listagg 函数--oracle 11g release 2
  6. delphi fastreport 动态加载图片
  7. 现代软件工程系列 学生的精彩文章 (6) 项目总结
  8. 一文读懂Java泛型中的通配符 ?
  9. [c++基础] const char and static const char
  10. 连网获取图片的小程序
  11. 在项目中配置PageHelper插件时遇到类型转换异常
  12. python模拟登陆豆瓣_模拟登陆豆瓣并爬取个人主页(爬虫项目三)
  13. 淘宝客淘点金代码自动生成跳转
  14. android 5.0设备 外接键盘 输入中文
  15. 双因素方差分析 matlab,[转载]MATLAB的双因素有交互效应的方差分析
  16. Linux服务器集群系统LVS(一)
  17. 马云:不要买房了,未来房子如葱!10年后最便宜的是房子车子,而最贵的是…...
  18. RRT、RRT-connect、RRT*等算法、A*等等路径规划算法
  19. mockjs的使用方法
  20. linux查看openssl版本,debian – 如何区分安装的OpenSSL版本?

热门文章

  1. 重磅!2021 高通人工智能应用创新大赛今日开赛
  2. 公开课 | 如何轻松上手华为最新开源框架MindSpore?
  3. AAAI 2018论文解读 | 基于置信度的知识图谱表示学习框架
  4. Oracle数据库教程
  5. 初识Nginx服务器
  6. python 中的路径. ./ .. ../和相对路径的写法
  7. filter函数的用法_JavaScript中forEach和filter的用法和原理
  8. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
  9. render在python中的含义_python-/ render()上的Django TypeError获得了意外的...
  10. 初中知识会不会影响计算机,初中计算机论文