【OpenCV, C++】實現向下光柵追蹤檢測邊緣
阿新 • • 發佈:2017-11-28
輸出 mat bsp rownum 灰度 col 邊緣 ray 設計
設計函數如下:
其中
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++】實現向下光柵追蹤檢測邊緣