学习OpenCV3---copyMakeBorder为图像创建边框

cv::copyMakeBorder函数通过不同的填充方法填充图像。

在这里插入图片描述

函数原型

CV_EXPORTS_W void copyMakeBorder(InputArray src, 
								 OutputArray dst,
                                 int top, 
                                 int bottom, 
                                 int left, 
                                 int right,
                                 int borderType, 
                                 const Scalar& value = Scalar() );

src:输入图像
dst:输出图像
top:图像上方的大小
bottom:图像下发的大小
left:图像左边的大小
right:图像右边的大小
borderType:填充的方法选择
value :固定大小

表:cv::copyMakeBorder中的borderType填充方法类型

边框类型效果
cv::BORDER_CONSTANT复制指定的常量扩展边界
cv::BORDER_REPLICATE复制边缘的像素扩展边界
cv::BORDER_REFLECT复制镜像扩展边界
cv::BORDER_WRAP复制对边的像素扩展边界
cv::BORDER_REFLECT_101复制镜像扩展边界,边界像素除外

代码:

    cv::Mat str1 = cv::imread("C:\\Users\\chuan\\Desktop\\picture\\22.jpg"), str2;

    int top = 0, bottom = 0, left = 0, right = 0, borderType = cv::BORDER_CONSTANT;

    cv::namedWindow("test", cv::WINDOW_AUTOSIZE);
    cv::createTrackbar("top", "test", &top, 100);
    cv::createTrackbar("bottom", "test", &bottom, 100);
    cv::createTrackbar("left", "test", &left, 100);
    cv::createTrackbar("right", "test", &right, 100);
    cv::createTrackbar("borderType", "test", &borderType, 4);
    for(;;)
    {
        cv::copyMakeBorder(str1, str2, top, bottom, left, right, borderType);
        cv::imshow("test", str2);
        if(cv::waitKey(100) == 27)
            break;
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值