核矩陣描述了牽扯到的畫素在計算過程中是如何組合從而獲得目標值的。乙個核定義了乙個影象濾波器。核在每個畫素上的輸出等於各個畫素與對應因子乘積紙盒。如
表示4個水平和豎直鄰居畫素乘以-1,加上當前畫素乘以5。
以矩陣的方式定義乙個核,之後使用opencv中的函式cv::filter2d
完成鄰域操作。
void sharpen(const mat &src, mat &dst)
該函式實現對影象的銳化處理。若使用之前操作畫素的方法該函式可寫為
void sharpen(const mat &src, mat &dst)
//對鄰域不完整的畫素置0
dst.row(0).setto(cv::scalar(0));
dst.row(dst.rows-1).setto(cv::scalar(0));
dst.col(0).setto(cv::scalar(0));
dst.col(dst.cols-1).setto(cv::scalar(0));}}
**中cv::saturate_cast
被用來對計算結果進行截斷。即將因為算數運算導致計算結果超出畫素取值範圍的結果對映到0~255,具體做法為將負值截斷為0,將大於255的值截斷為255.另外,如果輸入引數是浮點數,它會對其取整至最接近輸入值的整數。 OpenCV2鄰域和模板操作
在影象處理中,通過當前位置的鄰域畫素計算新的畫素值是很常見的操作。當鄰域包含影象的上幾行和下幾行時,就需要同時掃瞄影象的若干行,這就是影象的鄰域操作了。至於模板操作是實現空間濾波的基礎,通常是使用乙個模板 乙個的矩形 滑過整幅影象產生新的畫素。下面介紹通過使用opencv2實現laplace運算元銳...
OpenCV2鄰域和模板操作
在影象處理中,通過當前位置的鄰域畫素計算新的畫素值是很常見的操作。當鄰域包含影象的上幾行和下幾行時,就需要同時掃瞄影象的若干行,這就是影象的鄰域操作了。至於模板操作是實現空間濾波的基礎,通常是使用乙個模板 乙個的矩形 滑過整幅影象產生新的畫素。下面介紹通過使用opencv2實現laplace運算元銳...
OpenCV2鄰域和模板操作
在影象處理中,通過當前位置的鄰域畫素計算新的畫素值是很常見的操作。當鄰域包含影象的上幾行和下幾行時,就需要同時掃瞄影象的若干行,這就是影象的鄰域操作了。至於模板操作是實現空間濾波的基礎,通常是使用乙個模板 乙個的矩形 滑過整幅影象產生新的畫素。下面介紹通過使用opencv2實現laplace運算元銳...