码迷,mamicode.com
首页 > 编程语言 > 详细

【OpenCV, C++】实现向下光栅追踪检测边缘

时间:2017-11-28 16:38:05      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:实现   数列   enc   bsp   src   rownum   har   span   temp   

设计函数如下:

其中

void gratingdetect(Mat &graysrc, Mat &graydst, int high, int low);

参数列表中,第一项是输入的灰度待跟踪图像,第二项是输出图像。

第三项high是检测阈值,第四项low是跟踪阈值。

void gratingdetect(Mat &graysrc, Mat &graydst, int high, int low)
{
    int rowNum = graysrc.rows;
    int colNum = graysrc.cols;
    for (int i = 0; i < rowNum; i++)
    {
        uchar * d_data = graydst.ptr<uchar>(i);
        uchar * s_data = graysrc.ptr<uchar>(i);
        for (int j = 0; j < colNum; j++)
        {
            if (s_data[j] >= high)
            {
                d_data[j] = 255;
                int temp = s_data[j];
                if (i < rowNum - 1)
                {
                    d_data = graydst.ptr<uchar>(i + 1);
                    s_data = graysrc.ptr<uchar>(i + 1);
                    if (j > 0 && j < colNum - 1)
                    {
                        for (int k = -1; k < 2; k++)
                        {
                            if (abs(temp - s_data[j + k]) <= low)
                                d_data[j + k] = 255;
                            else
                                d_data[j + k] = 0;
                        }
                    }
                    d_data = graydst.ptr<uchar>(i);
                    s_data = graysrc.ptr<uchar>(i);
                }
            }
            else
                d_data[j] = 0;
        }
    }
}

 

【OpenCV, C++】实现向下光栅追踪检测边缘

标签:实现   数列   enc   bsp   src   rownum   har   span   temp   

原文地址:http://www.cnblogs.com/delmorezhu/p/7910333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!