Opencv學習筆記(十) -------形態學操作(開操作,閉操作,形態學梯度,頂帽,黑帽)

開操作- open

  • 先腐蝕後膨脹
  • 可以去掉小的對象,假設對象是前景色,背景是黑色

閉操作-close

  • 先膨脹後腐蝕
  • 可以填充小的洞(fill hole),假設對象是前景色,背景是黑色

形態學梯度- Morphological Gradient

  • 膨脹減去腐蝕
  • 又稱爲基本梯度(其它還包括-內部梯度、方向梯度)

頂帽 – top hat

  • 頂帽 是原圖像與開操作之間的差值圖像

黑帽

  • 黑帽是閉操作圖像與源圖像的差值圖像

相關API

  • morphologyEx(src, dest, CV_MOP_BLACKHAT, kernel);
  • Mat src – 輸入圖像
  • Mat dest – 輸出結果
  • int OPT – CV_MOP_OPEN/ CV_MOP_CLOSE/ CV_MOP_GRADIENT / CV_MOP_TOPHAT/ CV_MOP_BLACKHAT 形態學操作類型
  • Mat kernel 結構元素
  • int Iteration 迭代次數,默認是1

相關代碼

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
	Mat src,dst;
	src = imread("D:/picture/Curry.jpeg");

	if (src.empty())     //如果沒有找到圖片
	{
		printf("could not find picture.....\n");
		return -1;
	}

	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image", src);

	Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1)); 
	morphologyEx(src, dst, CV_MOP_GRADIENT, kernel);

	namedWindow("output image", CV_WINDOW_AUTOSIZE);
	imshow("output image", dst);
	waitKey(0);   //等待
	return 0;
}

發佈了12 篇原創文章 · 獲贊 10 · 訪問量 556
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章