OpenCV學習記錄17

2021-09-26 18:48:45 字數 1854 閱讀 4114

一 學習內容

1 除錯sobel邊緣檢測

1.1 分別生成水平方向和豎直方向的梯度影象

1.2 合成總梯度影象

1.3 呼叫函式addweighted生成總梯度影象

備註:由於邊緣檢測運算元對雜訊敏感,因此在邊緣檢測之前必須用高斯模糊對影象降噪,然後轉換成灰度影象,再進行邊緣檢測。

二 **除錯

#include #include #include using namespace cv;

int main()

namedwindow("figure1",cv_window_autosize);

imshow("figure1",src);

//學習新內容:除錯sobel邊緣檢測

//1. 預處理:高斯模糊+轉灰度影象

//由於邊緣檢測運算元對雜訊敏感,因此在邊緣檢測之前必須用高斯模糊對影象降噪,然後轉換成灰度影象,再進行邊緣檢測。

gaussianblur(src, dst_blur, size(3, 3),0,0);

namedwindow("figure2", cv_window_autosize);

imshow("figure2", dst_blur);

cvtcolor(dst_blur,dst_gray,cv_bgr2gray);

namedwindow("figure3", cv_window_autosize);

imshow("figure3", dst_gray);

//2. 分別生成水平方向和豎直方向的梯度影象

mat grad_x, grad_y;

sobel(dst_gray, grad_x,cv_16s,0,1,3);

sobel(dst_gray, grad_y, cv_16s, 1,0,3);

convertscaleabs(grad_x,grad_x);//轉化為絕對值

convertscaleabs(grad_y, grad_y);//轉化為絕對值

namedwindow("figure4_grad_x", cv_window_autosize);

imshow("figure4_grad_x", grad_x);

namedwindow("figure4_grad_y", cv_window_autosize);

imshow("figure4_grad_y", grad_y);

//3. 合成總梯度圖

mat gradimage = mat(grad_x.size(),grad_x.type());

int width = grad_x.cols;

int height = grad_x.rows;

for (int row = 0; row < height; row++) }

namedwindow("figure5_gradimage", cv_window_autosize);

imshow("figure5_gradimage", gradimage);

//4.直接呼叫函式addweighted,生成總梯度圖

mat gradimage2;

addweighted(grad_x,1, grad_y,1,0, gradimage2);

namedwindow("figure6_gradimage2", cv_window_autosize);

imshow("figure6_gradimage2", gradimage2);

waitkey(0);

return 0;

}

三 除錯結果

Objective C 學習記錄 17

1.uiscrollview的分頁與uipagecontrol 開啟scrollview的翻頁功能,預設以scrollview的size為1頁 scrollview.pagingenabled yes 通過scrollview的delegate實現控制pagecontrol顯示頁碼的兩種常用方法 使...

opencv學習筆記(17)開閉操作

閉操作 close api使用及效果 示例用圖 1.影象形態學的重要操作之一,基於膨脹與腐蝕操作組合形成的。2.主要是應用在二值影象分析中,灰度影象亦可。3.開操作 腐蝕 膨脹,輸入影象 結構元素。1.消除影象中小的干擾區域,消除3 3 5 5或更大的噪點。2.水平或者垂直線提取。1.影象形態學的重...

學習opencv記錄 三)

include include highgui.h include cv.h 這種訪問操作比cvget系列函式更快,因為不需要入棧出棧,只是通過指標偏移來進行的 int main int argc,char argv cvmat mat cvinitmatheader mat,3,6,cv 32fc...