zoukankan      html  css  js  c++  java
  • [OPENCV]cvHoughLines2使用说明

    1.cvHoughLines2函数定义:

    CvSeq *cvHoughLines2
    {
        CvArr *image,
        void *line_storage,
        int method,
        double rho,
        double theta,
        int threshold,
        double param1 = 0,
        double param2 = 0
    };

    image: 输入图像,必须是8位的,但输入信息可以被看成是二值的(即所有非0像素被认为是相等的)。

    line_storage: 指向保存结果位置的指针,既可以是内存块cvMemoryStorage,也可以是N*1的矩阵数列(行数N将有助于限制直线的最大数量)。

    method: 可以是CV_HOUGH_STANDARD, CV_HOUGH_PROBABILISTIC, CV_HOUGH_MULTI_SCALE, 分别对应SHT, PPHT, SHT。

    rho: 霍夫变换r长度的单位,一般设置为1。

    theta: 霍夫变换θ弧度的单位,一般设置为CV_PI/180。

    threshold: 认定为一条直线时在累计平面中必须达到的值。这个变量实际上表示支持所返回的直线的(在边缘图像的)点的数量。

    param1: 对于PPHT, param1设置为将要返回的线段的最小长度。

    param2: 对于PPHT, param2设置为一条直线上分离线段不能连成一条直线的分隔像素点数。

    函数返回值: 返回找到的线段序列

    可以使用下面的类似命令从序列中得到每一条直线或者线段:

    float *line = (float *)cvGetSeqElem(lines,i);
    float rho = line[0];
    float theta = line[1];
  • 相关阅读:
    Java-对象数组排序
    aoj 0118 Property Distribution
    poj 3009 Curling 2.0
    poj 1979 Red and Black
    AtCoder Regular Contest E
    AtCoder Beginner Contest 102
    AtCoder Beginner Contest 104
    SoundHound Inc. Programming Contest 2018
    poj 3233 Matrix Power Series
    poj 3734 Blocks
  • 原文地址:https://www.cnblogs.com/DLarTisan/p/7121491.html
Copyright © 2011-2022 走看看