一 學習內容
1 開操作
2 閉操作
3 形態學梯度操作
4 頂帽
5 黑帽
二 **記錄
#include #include #include using namespace cv;
mat src, dst1, dst2, dst3, dst4, dst5 ,dst6;
int element_default_size = 3;
int element_max_size = 10;
void callback_open(int,void*);
void callback_close(int, void*);
void callback_gradient(int, void*);
void callback_tophat(int, void*);
void callback_blackhat(int, void*);
int main()
namedwindow("figure1", cv_window_autosize);
imshow("figure1", src);
// 學習新內容
// 1 轉化為灰度影象
cvtcolor(src, dst1, cv_bgr2gray);
namedwindow("figure2", cv_window_autosize);
imshow("figure2", dst1);
// 2 對原始影象src進行開操作:先腐蝕,後膨脹
namedwindow("figure3_open", cv_window_autosize);
//調整結構元素的尺寸
createtrackbar("adjustsize", "figure3_open",&element_default_size, element_max_size,callback_open);
callback_open(0,0);
// 3 對灰度影象dst1進行閉操作:先膨脹,後腐蝕
namedwindow("figure4_close",cv_window_autosize);
createtrackbar("adjustsize","figure4_close",&element_default_size,element_max_size,callback_close);
callback_close(0,0);
// 4 形態學梯度:膨脹-腐蝕
namedwindow("figure5_gradient",cv_window_autosize);
createtrackbar("adjustsize","figure5_gradient",&element_default_size,element_max_size,callback_gradient);
callback_gradient(0,0);
// 5 形態學頂帽:原影象-開操作
namedwindow("figure6_tophat", cv_window_autosize);
createtrackbar("adjustsize", "figure6_tophat", &element_default_size, element_max_size, callback_tophat);
callback_tophat(0, 0);
// 6 形態學黑帽:閉操作-原影象
namedwindow("figure7_blackhat", cv_window_autosize);
createtrackbar("adjustsize", "figure7_blackhat", &element_default_size, element_max_size, callback_blackhat);
callback_blackhat(0, 0);
waitkey(0);
return 0;
}void callback_open(int,void*)
void callback_close(int,void*)
void callback_gradient(int, void*)
void callback_tophat(int, void*)
void callback_blackhat(int, void*)
三 除錯結果
學習opencv記錄 三)
include include highgui.h include cv.h 這種訪問操作比cvget系列函式更快,因為不需要入棧出棧,只是通過指標偏移來進行的 int main int argc,char argv cvmat mat cvinitmatheader mat,3,6,cv 32fc...
OpenCV學習記錄5
一 學習內容 1 兩張影象按權重相加 2 兩張影象相乘 應該可用於頻域濾波吧 二 include include using namespace std using namespace cv int main int argc,char ar if src2.data namedwindow fig...
OpenCV學習記錄6
一 學習內容 1 獲取影象座標處的畫素值,並修改圖對比度 二 include include using namespace std using namespace cv int main int argc,char ar char figure name figure1 namedwindow f...