1. 程式人生 > 其它 >OpenCV 影象增強(空間域)

OpenCV 影象增強(空間域)

技術標籤:OpenCV

總結最近專案中常用的影象增強方法:

一. 非銳化模板(鈍化模板)

非銳化模板的處理步驟:

1. 模糊原影象\overline{f}(x,y)

2. 從原影象減去模糊影象(產生的差值影象稱為模板)g_{mask}(x,y) = f(x,y)-\overline{f}(x,y)

3. 將模板加到原影象上g(x,y) = f(x,y)+g_{mask}(x,y)

二. 高提升濾波

高提升濾波的處理步驟:

1. 模糊原影象\overline{f}(x,y)

2. 從原影象減去模糊影象(產生的差值影象稱為模板)g_{mask}(x,y) = f(x,y)-\overline{f}(x,y)

3. 將模板加到原影象上g(x,y) = f(x,y)+k*g_{mask}(x,y)

例項:

        cv::Mat srcMat = imread("ImageEnhancement\\Fig0340(a)(dipxe_text).tif"); 

	cv::Mat grayMat = srcMat.clone();
	if (grayMat.channels() != 1) cvtColor(grayMat, grayMat, cv::COLOR_BGR2GRAY);

	cv::Mat blurMat;
	GaussianBlur(grayMat, blurMat, cv::Size(5, 5), 3);

	//非銳化模板
	cv::Mat mask = grayMat - blurMat;

	//非銳化遮蔽
	cv::Mat dstMat = grayMat + mask;

	//高提升濾波
	cv::Mat dstMat2 = grayMat + 4.5*mask;

a b c d e

圖1(a)原圖 (b)高斯模糊影象 (c)非銳化模板 (d)非銳化遮蔽結果 (e)高提升結果