【opencv练习19 - 图像添加边界】

/*****************************************************
    测试程序 【图像添加边界】
    时间:2016年8月26日
******************************************************/

//【全局变量】
Mat src, dst;
int top, bottom;            //【添加边界后的图像尺寸】
int leftImage, rightImage;
int borderType;
const char* window_name = "copyMakeBorder Demo";
RNG rng(12345);

int main(void)
{

  int c;

  src = imread( "YY01.jpg");

  //本程序操作简介
  printf( "\n \t copyMakeBorder Demo: \n" );
  printf( "\t -------------------- \n" );
  printf( " ** Press 'c——Constant【设置边界随机常量】' \n");
  printf( " ** Press 'r——replicate【设置边界为边缘延伸】'\n");
  printf( " ** Press 'ESC' to exit the program \n");

  namedWindow( window_name, WINDOW_AUTOSIZE );

  //【初始化参数】
  top = (int) (0.05*src.rows); bottom = (int) (0.05*src.rows);
  leftImage = (int) (0.05*src.cols); rightImage = (int) (0.05*src.cols);
  dst = src;

  imshow( window_name, dst );

for(;;)
{
         c = waitKey(500);

         if( (char)c == 27 ){ break; }
         else if( (char)c == 'c' ){ borderType = BORDER_CONSTANT; }
         else if( (char)c == 'r' ){ borderType = BORDER_REPLICATE; }

         //初始化参数value
         Scalar value( rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255) );
         //创建图像边界
         //参数src,dst,新的边界*4,边界类型,边界值
         copyMakeBorder( src, dst, top, bottom, leftImage, rightImage, borderType, value );

         imshow( window_name, dst );
       }

  return 0;
}

程序根据用户键盘输入来设置用户所需要的边界样式~~~ 边界用途:主要用于滤波器操作的过程or相框

1、常量样式
这里写图片描述

2、边界延伸样式
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值