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

来源:互联网 发布:java自学书籍推荐书目 编辑:程序博客网 时间:2024/06/05 18:55
/*****************************************************    测试程序 【图像添加边界】    时间: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、边界延伸样式
这里写图片描述

0 0
原创粉丝点击