OpenCV HoughLinesP函数的使用

简单的理解就是首先对纯粹的直线(确实是一条直线,没有断点),根据参数maxLineGap进行连接,然后在对是否满足参数threshold和minLineLength进行判断,最后返回直线。

实例

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <math.h>

using namespace cv;

int main(int argc, char** argv)
{
    Mat src, dst, color_dst;
	src=imread("F:\\pic\\linecjc1.jpg", 0);

    Canny( src, dst, 50, 200, 3 );
    cvtColor( dst, color_dst, CV_GRAY2BGR );
    vector<Vec4i> lines;
    HoughLinesP( dst, lines, 1, CV_PI/180, 10, 10, 0);
    for( size_t i = 0; i < lines.size(); i++ )
    {
        line( color_dst, Point(lines[i][0], lines[i][1]),
            Point(lines[i][2], lines[i][3]), Scalar(0,0,255), 1, 8 );
    }

    namedWindow( "Source", 1 );
    imshow( "Source", src );

    namedWindow( "Detected Lines", 1 );
    imshow( "Detected Lines", color_dst );

    waitKey(0);
    return 0;
}

OpenCV HoughLinesP函数的使用

时间: 2024-10-09 20:42:26

OpenCV HoughLinesP函数的使用的相关文章

emgu中对应opencv的函数查询

自己以前做过一些C#工程的开发,所以对C#比较熟悉.接触opencv时,发现其是用C++编写的,网上的资料比较多.所以就想一边学习C++一边学opencv,学了几天后发现很痛苦,c++和c#差别太大,自己始终脱离不了C#的思维.后来就发现了EMGU 是opencv的.Net封装库.但是网上emgu的资料太少了,只能看opencv的资料搞emgu.有的时候opencv中的函数在emgu中找不到.比如说opencv中的 goodFeaturesToTrack函数,cvInvoke中就没有,其实被封装

opencv 常用函数介绍

××××××××××××××××××××××××××××××××××××××× CvScalar imgmean,imgstd; double imgmax,imgmin; cvAvgSdv(img,&imgmean,&imgstd); cvMinMaxLoc(img,&imgmin,&imgmax,NULL,NULL); printf("mean:%f std:%f max:%f,min:%f\n",imgmean.val[0],imgstd.val[

学习OpenCV——Gabor函数的应用

原文:http://blog.csdn.net/yao_zhuang/article/details/2532279 下载cvgabor.cpp和cvgabor.h到你的C/C++工程目录下 注:在我的资源中有改进过的cvgabor类 相关链接为:http://download.csdn.net/source/490114 特别注意:使用该类需要opencv库的支持,如何配置环境参见:http://www.opencv.org.cn/index.php/Template:Install 它有如下

【麦子学院】OpenCV教程函数总结

opencv 2.4.4版本共100个自带例子. parter 1: No1. adaptiveskindetector.cpp 利用HSV空间的色调信息的皮肤检测,背景不能有太多与肤色相似的颜色.效果不是特别好. No2. bagofwords_classification.cpp 好大一串--目前还看不懂. No3. bgfg_codebook.cpp 前后背景分离.开启摄像头或读取视频. No4. bgfg_gmg.cpp 摄像头捕捉,根据运动进行前后背景分离. No5. bgfg_seg

【AI】python:opencv——画图函数

简介 学习使用OpenCV画几何图形,主要的函数为:cv2.line(),cv2.circle(),cv2.rectangle(),cv2.ellipse(),cv2.putText等.具体释义可以使用help(cv2.putText)查看. import numpy as np import cv2 #Create a black image img = np.zeros((500,500,3),np.uint8) #draw a diagonal blue line with thickne

opencv: flip函数的使用;

flip函数用于图像翻转,比较方便.在opencv中有几种形式: C++: void flip(InputArray src, OutputArray dst, int flipCode) Python: cv2.flip(src, flipCode[, dst]) → dst C: void cvFlip(const CvArr* src, CvArr* dst=NULL, int flipMode=0) Python: cv.Flip(src, dst=None, flipMode=0) →

Pytohn OpenCV 绘图函数

绘图函数都需要设置一些参数 img:想要绘制图形的那个图像 color:形状的颜色. thickness:线条的粗细(如果给一个闭合图形设置为-1,那么这个图形会被填充).默认值是1. linetype:线条的类型,8连接,抗锯齿等.默认情况是8连接.cv2.LINE_AA为抗锯齿. 画线 cv2.line(图像,起点,终点,颜色,线条类型) # -*- coding: utf-8 -*- import cv2 import numpy as np img = np.zeros((512, 51

如何查看OpenCV中函数的源代码

在安装完OpenCV之后,如果想要查看有关函数的源代码,一般可通过如下方法: 1.安装cmake,手动编译源码.创建.sln工程 编译完成后,在"编辑"菜单下,点"查找与替换",然后选"在文件中查找"即可找到.此方法网上有很多详细的步骤介绍,但是编译起来比较麻烦. 2.直接通过文件目录查找 安装完OpenCV后,其源代码都在如下文件夹内, ...\opencv\sources\modules 通过查找模块里的.cpp文件,手动查找相关函数的源代码

[opencv]findcoutours函数使用

轮廓是定义或限定形状或对象的边或线,是机器视觉中的常用的概念,多用于目标检测.识别等任务. 关于OpenCV轮廓操作,尤其是级别及如何使用轮廓级别进行筛选等问题,相关文章比较少,正好最近用到,因此将其总结成文. 本文主要介绍OpenCV的查找轮廓函数findContours()绘制函数drawContours(),及其轮廓级别参数hierarchy,涉及到预处理.轮廓筛选等内容,并提供全部源代码,希望能帮助大家理解基本概念并能借鉴示例代码编写自己的算法. 本文代码:C++ 本文包括如下内容: 基