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;  
}  

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值