//#include "pch.h"
#include #include #include #include using namespace std;
using namespace cv;
//************************************
// 形態學
//************************************
mat g_srcimage, g_dstimage;
int g_nelementshape = morph_rect;
int g_nmaxiterationnum = 10;
int g_nopenclosenum = 0;
int g_nerodedilatenum = 0;
int g_ntopblackhatnum = 0;
int g_ngradientnum = 0;
static void on_openclose(int, void *);
static void on_erodedilate(int, void *);
static void on_topblackhat(int, void *);
static void on_gradient(int, void *);
static void showhelptext();
int main()
namedwindow("【原始圖】");
imshow("【原始圖】", g_srcimage);
namedwindow("【開運算/閉運算】", 1);
namedwindow("【腐蝕/膨脹】", 1);
namedwindow("【頂帽/黑帽】", 1);
namedwindow("【形態學梯度】", 1);
g_nopenclosenum = 9;
g_nerodedilatenum = 9;
g_ntopblackhatnum = 2;
createtrackbar("迭代值:", "【開運算/閉運算】", &g_nopenclosenum, g_nmaxiterationnum * 2 + 1, on_openclose);
createtrackbar("迭代值:", "【腐蝕/膨脹】", &g_nerodedilatenum, g_nmaxiterationnum * 2 + 1, on_erodedilate);
createtrackbar("迭代值:", "【頂帽/黑帽】", &g_ntopblackhatnum, g_nmaxiterationnum * 2 + 1, on_topblackhat);
createtrackbar("迭代值:", "【形態學梯度】", &g_ngradientnum, g_nmaxiterationnum + 1, on_gradient);
while (1)
// while (char(waitkey(1) != 'q')) {}
waitkey(0);
}static void on_gradient(int, void *)
static void on_openclose(int, void *)
else
imshow("【開運算/閉運算】", g_dstimage);
}static void on_erodedilate(int, void *)
static void on_topblackhat(int, void *)
static void showhelptext()
// 執行程式: ctrl + f5 或除錯 >「開始執行(不除錯)」選單
// 除錯程式: f5 或除錯 >「開始除錯」選單
// 1. 使用解決方案資源管理器視窗新增/管理檔案
// 2. 使用團隊資源管理器視窗連線到源**管理
// 3. 使用輸出視窗檢視生成輸出和其他訊息
// 4. 使用錯誤列表視窗檢視錯誤
// 5. 轉到「專案」>「新增新項」以建立新的**檔案,或轉到「專案」>「新增現有項」以將現有**檔案新增到專案
// 6. 將來,若要再次開啟此專案,請轉到「檔案」>「開啟」>「專案」並選擇 .sln 檔案
形態學濾波 腐蝕與膨脹
形態學操作就是基於形狀的一系列影象處理操作。最基本的形態學操作有兩種 膨脹和腐蝕。這裡需要注意的是 膨脹和腐蝕是對白色部分而言的,不是黑色部分。因為我用毛筆字的,剛開始看起來,非常困惑為什麼膨脹之後,毛筆字反而變小了,其實當時就是沒有注意到,膨脹是對白色區域進行處理的,而白色區域增加了之後,字型就自...
形態學重建
在形態學梯度影象的基礎上,利用形態學的開閉重建運算對梯度影象進行重建,在保留重要區域倫敦的同時去除細節和雜訊。分水嶺變換存在過分割現象,原因在於檢測的區域性極值過多,造成極值過多的原因在於影象中的非規則灰度擾動和雜訊。對於好的分水嶺影象分割方法,不僅能消除過分割現象,而且應保證分割後的區域倫敦邊緣具...
形態學運算元
形態學運算元的主要思想是用一定形狀的結構元素 在影象中抽取出相應的某些結構,通常可以用於影象的濾波 分割 分類等處理。形態學運算元有腐蝕 膨脹 開和閉四種。腐蝕腐蝕是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。腐蝕的演算法 用3x3的結構元素,掃瞄影象的每乙個畫素 用結構元...