OpenCV學習筆記(七)之Canny邊緣檢測

2021-10-06 16:07:19 字數 1131 閱讀 9144

老規矩–妹妹鎮樓:

灰度轉換-cvtcolor

計算梯度-sobel/scharr

非最大訊號抑制

高低閾值輸出二值影象

t1,t2為閾值,凡是高於t2的都保留,凡是低於t1的都丟棄,從高於t2的畫素出發,凡是大於t1且相互連線的都保留。最終得到乙個輸出二值影象。

推薦的高低閾值比值為t2:t1= 3:1/2:1,其中t2為高閾值,t1為低閾值。

canny

( inputarray src,

//8-bit的輸入影象

outputarray edges,

//輸出邊緣影象

double threshold1,

//低閾值

double threshold2,

//高閾值

int apterturesize,

//sobel運算元的size,通常取3

bool l2gradient //選擇true表示用l2來歸一化,否則用l1

)

/*****canny運算元*****/

#include

#include

#include

using

namespace std;

string in_title =

"input image"

;string ou_title =

"output image"

;int t1_value =50;

//最小閾值

int max_value =

255;

//最大閾值

cv::mat src, dst;

cv::mat gray_src;

void

canny_demo

(int

,void*)

;int

main()

void

canny_demo

(int

,void*)

OpenCV學習筆記之七

iplimage cvloadimage const char filename,int flags cv load image color 第二個引數 flags 的選擇有三個,cv load image color 預設 1 以三通道彩色影象顯示。原圖若是gary,原來的某點畫素值,複製到bgr...

OpenCV學習筆記七 關於Mat類

1 建立乙個mat物件僅僅是建立了資訊頭部分,並沒有複製影象矩陣,而是通過矩陣指標指向某一位址而實現。eg mat a,c 僅建立資訊頭部分 mat b a 使用拷貝建構函式 c a 賦值運算子 以上建立的所有mat物件最終都指向同乙個也是唯一的乙個資料矩陣。雖然資訊頭不同,但是通過任何乙個物件所做...

OpenCV學習筆記之IplImage

首先學習下各引數的用法,以後慢慢完善 一 origin 在使用opencv顯示影象時會出現影象倒立的情況,iplimage的origin屬性有關係。origin為0表示頂左結構,即影象的原點是左上角,如果為1為左下角。一般從硬碟讀入的或者通過cvcreateimage方法建立的iplimage預設的...