前言
在上一章中描述了如何進行圖像基本閾值操作,詳細描述可點擊查看(http://www.reibang.com/writer#/notebooks/47386368/notes/81463232)
目標
本章中,將學習:
- 卷積邊緣問題
- 處理邊緣
- 代碼演示
卷積邊緣問題
- 圖像卷積的時候邊界像素墩虹,不能被卷積操作,原因在于邊界像素沒有完全跟kernel重疊嘴纺,所以當3X3濾波時候有1個像素的邊緣沒有被處理败晴,5X5濾波的時候有2個像素的邊緣沒有被處理。
處理邊緣
- 在卷積開始之前增加邊緣像素栽渴,填充的像素值為0或者RGB黑色尖坤,比如3X3在四周各填充1個像素的邊緣,這樣就確保圖像的邊緣被處理闲擦,在卷積處理之后再去處理這些邊緣慢味。Opencv中默認的處理方式是:BORDER_DEFAULT场梆,此外常用的還有如下幾種:
1.BORDER_CONSTANT:填充邊緣用指定像素值
2.BORDER_REPLICATE:填充邊緣像素用已知的邊緣像素值。
3.BORDER_WRAP:用另外一邊的像素來補償填充纯路。 - API說明 - 給圖像添加邊緣API
copyMakeBorder(
Mat src或油,// 輸入圖像
Mat dst,// 添加邊緣圖像
int top驰唬,// 邊緣長度顶岸,一般上下左右都取相同值。
int bottom叫编,
int left辖佣,
int right,
int borderType搓逾,// 邊緣類型
Scalar value
)