1 11opencv學習筆記之自定義線性濾波

2021-08-28 15:18:47 字數 2758 閱讀 5102

一.常見運算元

二.卷積計算

卷積是影象處理中乙個操作,是kernel在影象的每個畫素上的操作。kernel本質上乙個固定大小的矩陣陣列,其中心點稱為錨點(anchor point)。把kernel放到畫素陣列之上,求錨點周圍覆蓋的畫素乘積之和(包括錨點),用來替換錨點覆蓋下畫素點值稱為卷積處理。數學表達如下:

三.主要函式:

filter2d方法filter2d(

mat src, //輸入影象

mat dst, // 模糊影象

int depth, // 影象深度32/8

mat kernel, // 卷積核/模板

point anchor, // 錨點位置

double delta // 計算出來的畫素+delta

)其中 kernel是可以自定義的卷積核

四.實現**1sobel運算元

#include #include #include using namespace cv;

int main(int argc, char** argv)

char input_win = "input image";

char output_win = "sobel x";

namedwindow(input_win, cv_window_autosize);

namedwindow(output_win, cv_window_autosize);

imshow(input_win, src);

// sobel x 方向

mat kernel_x = (mat_(3, 3) << -1, 0, 1, -2,0,2,-1,0,1);

filter2d(src, dst, -1, kernel_x, point(-1, -1), 0.0);

// sobel y 方向

實現**2拉普拉斯運算元

#include #include #include using namespace cv;

int main(int argc, char** argv)

char input_win = "input image";

char output_win = "拉普拉斯運算元";

namedwindow(input_win, cv_window_autosize);

namedwindow(output_win, cv_window_autosize);

imshow(input_win, src);

// 拉普拉斯運算元

實現**3自定義卷積模糊

#include #include #include using namespace cv;

int main(int argc, char** argv)

char input_win = "input image";

char output_win = "custom blur filter result";

namedwindow(input_win, cv_window_autosize);

namedwindow(output_win, cv_window_autosize);

imshow(input_win, src);

int c = 0;

int index = 0;

while (true)

ksize = 5 + (index % 8) * 2;

mat kernel = mat::ones(size(ksize, ksize), cv_32f) / (float)(ksize * ksize);

filter2d(src, dst, -1, kernel, point(-1, -1));

index++;

imshow(output_win, dst);

} return 0;

}

OpenCV學習筆記之IplImage

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

opencv學習筆記之resize

前邊一篇說opencv中縮放僅有仿射變換一種,查證才知道是錯的,opencv中也有類似matlab中的imresize的函式,即是c 版的resize 當然還有影象金字塔方法 其原型為void resize inputarray src,outputarray dst,size dsize,doub...

OpenCV之Python學習筆記

直都在用python opencv做一些演算法的原型。本來想留下發布一些文章的,可是整理一下就有點無奈了,都是寫零散不成系統的小片段。現在看到一本國外的新書 opencv computer vision with python 於是就看一遍,順便把自己掌握的東西整合一下,寫成學習筆記了。更需要的朋友...