码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV官方文档学习记录(12)

时间:2014-12-12 22:02:25      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

构建边界;

因为做图像卷积的时候在图片边缘的像素按照公式是无法计算的,因此需要在边缘构建边界进行计算;

在opencv中构建边界的函数是:copyMakeBorder(src,dst,top,bottom,left,right,borderType,values);

 

先来代码:

 1 #include<opencv2/opencv.hpp>
 2 #include<iostream>
 3 #include<string>
 4 
 5 using namespace std;
 6 using namespace cv;
 7 
 8 int main(int argc,char **argv)
 9 {
10     if((argc-2)!=0)
11     {
12         cout<<"Usage: ./makeBorder \"image_name\""<<endl;
13         return 0;
14     }
15 
16     Mat src=imread(argv[1]);
17     if(src.empty())
18     {
19         cout<<"Has not found image"<<endl;
20         return -1;
21     }
22 
23     namedWindow("Src",CV_WINDOW_AUTOSIZE);
24     imshow("Src",src);
25 
26     Mat dst;
27     RNG rng(12345);
28     Scalar values;
29     int top;
30     int bottom;
31     int left;
32     int right;
33     char c;
34     int borderType;
35 
36     top=(int)(0.05*src.rows);
37     bottom=(int)(0.05*src.rows);
38     left=(int)(0.05*src.cols);
39     right=(int)(0.05*src.rows);
40 
41     while(true)
42     {
43         c=waitKey(500);
44         if((char)c==27)
45             break;
46         //borderType=BORDER_CONSTANT;
47         borderType=BORDER_REPLICATE;
48         values=Scalar(rng.uniform(0,255),rng.uniform(0,255),rng.uniform(0,255));
49         copyMakeBorder(src,dst,top,bottom,left,right,borderType,values);
50 
51         namedWindow("Dst",CV_WINDOW_AUTOSIZE);
52         imshow("Dst",dst);
53     }
54 
55     waitKey();
56     return 0;
57 }

 

同样的CMakeLists.txt

1 cmake_minimum_required(VERSION 2.8)
2 project( makeBorder.cpp )
3 find_package( OpenCV REQUIRED )
4 add_executable( makeBorder makeBorder.cpp )
5 target_link_libraries( makeBorder ${OpenCV_LIBS} )

 

将borderype类型分别取值时,结果分别是:

bubuko.com,布布扣

bubuko.com,布布扣

 

可以看出两个参数不同在于,前者是使用自行构建的像素进行填充,后者是将边缘像素拓展。当然,看上去是后者比较好看。

 

函数参数的说明就不多叙了,字面上可以自己理解。

 

以上。

OpenCV官方文档学习记录(12)

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/lhyz/p/4160434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!