Opencv 學習筆記(七)形態學操作

菜鳥一枚,
這是我的第六個博客,
剛剛入門opencv,
想將自己的學習過程分享給大家!!!
代碼:

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>    //Opencv highgui 模塊
#include <opencv2/imgproc/imgproc.hpp>    //Opencv 圖像處理頭文件

using namespace cv;

#define WINDOW_NAME1 "原始圖窗口"
#define WINDOW_NAME2 "效果圖窗口"

static void on_method(int, void*);


int Nummethod;
int MaxNummethod = 6;

Mat element1 = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat element2 = getStructuringElement(MORPH_RECT, Size(5, 5));

Mat src;
Mat fat;
Mat fat1;
Mat lng;
Mat imHSV;
Mat filter;
int main()
{
	src = imread("D:/opencv/opencvSRC/風景.jpg");
	//獲取自定義內核
	
	if (src.empty())
	{
		printf("could not input image...");
		return -1;
	}

	namedWindow(WINDOW_NAME1, 1);

	pyrDown(src, src, Size(src.cols / 2, src.rows / 2));
	imshow("原始圖", src);
	//BGR轉HSV
	cvtColor(src, imHSV, COLOR_BGR2HSV);
	//inRang顏色過濾
	inRange(imHSV, Scalar(35, 42, 45), Scalar(77, 255, 255), filter);
	//imshow("顏色過濾", filter);

	on_method(0, 0);
	createTrackbar("方法", WINDOW_NAME1, &Nummethod, MaxNummethod, on_method);    //創建滑動條
	waitKey(0);
	return 0;
}


static void on_method(int, void*)
{
	int offset = MaxNummethod - Nummethod;
	if (offset == 6)   //方法1
	{
		morphologyEx(filter, fat1, MORPH_OPEN, element2);   //開運算
	}
	if (offset == 5)   //方法2
	{
		morphologyEx(filter, fat1, MORPH_CLOSE, element2);    //閉運算
	}
	if (offset == 4)  //方法3
	{
		morphologyEx(filter, fat1, MORPH_GRADIENT, element2);    //形態學梯度
	}
	if (offset == 3)  //方法4
	{
		morphologyEx(filter, fat1, MORPH_TOPHAT, element2);    //頂帽
	}
	if (offset == 2)  //方法5
	{
		morphologyEx(filter, fat1, MORPH_BLACKHAT, element2);     //黑帽
	}
	if (offset == 1)  //方法6
	{
		morphologyEx(filter, fat1, MORPH_ERODE, element2);     //腐蝕
	}
	if (offset == 0)  //方法7
	{
		morphologyEx(filter, fat1, MORPH_DILATE, element2);     //膨脹
	}
	imshow(WINDOW_NAME1, fat1);
}

程序運行結果:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

謝謝大家的閱讀!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章