opencv 的几种边界

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

这是源代码:

主要注意的是:top,bottom就是上方有多少像素,下方有多少边界(以像素为单位计算的),left,right相同的道理。

测试程序:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <sstream>
using namespace std;
using namespace  cv;
int main()
{
	string filename = "C:/Users/Administrator/Desktop/标准测试图片/Fig0646(a)(lenna_original_RGB).tif";
	Mat img = imread(filename, IMREAD_COLOR);
	if (img.empty())
	{
		return -1;
	}
	Mat ConstBorder,  ReplicateBorder, WarpBoder, ReflectBorder, Reflect101Border;
	copyMakeBorder(img, ConstBorder, 20, 20, 20, 20,BORDER_CONSTANT,Scalar(0,255,0));//最后一个参数仅仅对BORDER_CONSTANT有意义
	copyMakeBorder(img, ReplicateBorder, 20, 20, 20, 20, BORDER_REPLICATE);
	copyMakeBorder(img, WarpBoder, 20, 20, 20, 20, BORDER_WRAP);
	copyMakeBorder(img, ReflectBorder, 20, 20, 20, 20, BORDER_REFLECT);
	copyMakeBorder(img, Reflect101Border, 20, 20, 20, 20, BORDER_REFLECT101);//这个是默认值
	imshow("Image", img);
	imshow("Constant Border", ConstBorder);
	imshow("replicate border", ReplicateBorder);
	imshow("Warp Border", WarpBoder);
	imshow("Reflect Border", ReflectBorder);
	waitKey(0);
  	return 0;
}

constant Border


Reflect Border


Replicate Border


Warp Border

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值