乙個小測試的題目:
在影象上點選,找到與點選處相鄰的顏色相近的點集合,對該點集合提取輪廓,對該點集合輪廓平滑處理,顯示處理結果。
#include #include using namespace std;
using namespace cv;
//************************************
// method: findregion 漫水填充
// fullname: findregion
// access: public
// returns: vector// qualifier:
// parameter: mat img
// parameter: point pos
// parameter: int lowdifference
// parameter: int updifference
//************************************
vectorfindregion(mat img, point pos, int lowdifference, int updifference)
} }return pt;
}//************************************
// method: findperimeter 從點集合中尋找輪廓點
// fullname: findperimeter
// access: public
// returns: vector// qualifier:
// parameter: vectorpt
// parameter: size size
//************************************
vectorfindperimeter(vectorpt, size size)
std::vector> contours;
//獲取輪廓不包括輪廓內的輪廓
return contours[0];
}//************************************
// method: displayimage 顯示影象
// fullname: displayimage
// access: public
// returns: void
// qualifier:
// parameter: mat img
// parameter: vectorcontours 輪廓點
// parameter: point pos
//************************************
void displayimage(mat img, vectorcontours, point pos)
circle(imgshow, pos, 3, scalar(0, 0, 0), 1, 8, 0);//畫使用者選擇的點
imshow("img", imgshow);
waitkey(0);
}//************************************
// method: findsmoothpeimeter 高斯濾波輪廓點平滑
// fullname: findsmoothpeimeter
// access: public
// returns: void
// qualifier:
// parameter: mat img 原圖
// parameter: vectorpt 輪廓點集合
漫水填充找到的輪廓 輪廓濾波平滑
OpenCV 高斯濾波
一 前言 關於高斯濾波在我的前一篇文章 數字影象基本處理演算法 中有所談及那篇只是介紹了高斯濾波的應用,現在這一篇將著重簡介高斯濾波的原理和應用,一探個究竟!二 啥是高斯濾波?好吃麼?高斯濾波,說白了就是乙個函式來對輸入的訊號 其實這裡的訊號就是影象的畫素值 進行計算然後得出結果作為該訊號的值,只不...
OpenCV 高斯濾波實現
高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。通俗的講,高斯濾波就是對整幅影象進行加權平均的過程,每乙個畫素點的值,都由其本身和鄰域內的其他畫素值經過加權平均後得到。在影象處理中高斯濾波一般有兩種實現方式 一種是用離散化視窗滑窗卷積,另一種是通過傅利葉變換。最常見的就...
opencv高斯濾波原理
1 一維高斯分布 2 二維高斯分布 3 高斯濾波一般使用的 二維零均值 的高斯分布函式,通過高斯分布函式求出模板係數,例如乙個3 3的模板 以模板的中心位置為座標原點進行取樣,其中模板各個座標位置如下圖,x軸水平向右,y軸垂直向下,x,y 表示 4 將各個位置的座標代入二維零均值高斯分布函式,計算出...