opencv —— copyMakeBorder 擴充圖像邊界


擴充圖像邊界:copyMakeBorder 函數

在圖像處理過程中,因為卷積算子有一定大小,所以就會導致圖像一定范圍的邊界不能被處理,這時就需要將邊界進行適當擴充。

void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar& value=Scalar());
  • src,輸入圖像,即原圖像,填 Mat 類的對象即可。
  • dst,輸出圖像,和原圖像有一樣的深度,size = Size(src.cols + left +right, src.rows + top + bottom);
  • top,bottom,left,right,分別表示在原圖像的四個方向上擴充多少像素。
  • borderType,邊界類型。

BORDER_REPLICATE:復制法,復制最邊緣像素,填充擴充的邊界。中值濾波就采用這種方法。

aaaaaa | abcdefgh | hhhhhhh

 

BORDER_REFLECT_101:對稱法,以最邊緣像素為軸,對稱填充。filter2D, blur, GaussianBlur, bilateralFilter 邊界處理的默認方法。

gfedcb | abcdefgh | gfedcba

 

BORDER_CONSTANT:以一個常量像素值【參數 value 】填充擴充的邊界。這種方式在仿射變換,透視變換中非常常見。

iiiiii | abcdefgh | iiiiiii  

 

BORDER_REFLECT: 和對稱法原理一致,不過連最邊緣像素也要對稱過去。

fedcba | abcdefgh | hgfedcb 

 

BORDER_WRAP:用另一側元素來填充這一側的擴充邊界。

cdefgh | abcdefgh | abcdefg

 

  • value,默認值為 0,當 borderType 取值為 BORDER_CONSTANT 時,這個參數表示邊界值。

 

借鑒博客:https://blog.csdn.net/chezhai/article/details/53229699

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM