OpenCV copyMakeBorder()来拓展边界
生活随笔
收集整理的這篇文章主要介紹了
OpenCV copyMakeBorder()来拓展边界
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用OpenCV提供的函數copyMakeBorder()來拓展邊界,其原型如下
void copyMakeBorder( InputArray src, OutputArray dst,int top, int bottom, int left, int right, int borderType,const Scalar& value = Scalar())?src:輸入的數組。
dst:輸出的拓展邊界后的數組。
top:在src上邊界向上拓展的行數。
bottom:在src下邊界向下拓展的行數。
left:在src的左邊界向左拓展的列數。
right:在src的右邊界向右拓展的列數。
borderType:上一節中的邊界拓展策略中的一個。
value:當你的邊界策略使用的是BORDER_CONSTANT的時候,此處是指邊界處填寫的常數值。(
*BORDER_REPLICATE: aaaaaa | abcdefgh | hhhhhhh
* BORDER_REFLECT : fedcba | abcdefgh | hgfedcb
* BORDER_REFLECT_101 : gfedcb | abcdefgh | gfedcba
* BORDER_WRAP : cdefgh | abcdefgh | abcdefg
* BORDER_CONSTANT : iiiiii | abcdefgh | iiiiiii with some specified ’i’
)
?
#include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc, char**argv){ Mat orgIm = imread("theImage.png"); int extRows = 19; int extCols = 15; Mat extendedIm; copyMakeBorder( orgIm, extendedIm, extRows, extRows, extCols, extCols, BORDER_REFLECT_101); imshow("original image", orgIm); imshow("extended image", extendedIm); waitKey(); return 0; }?
?
總結
以上是生活随笔為你收集整理的OpenCV copyMakeBorder()来拓展边界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大尾和小尾
- 下一篇: OpenCV 像素的读取与操作