OpenCV copyMakeBorder()来拓展边界
生活随笔
收集整理的这篇文章主要介绍了
OpenCV copyMakeBorder()来拓展边界
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
使用OpenCV提供的函数copyMakeBorder()来拓展边界,其原型如下
void copyMakeBorder( InputArray src, OutputArray dst,int top, int bottom, int left, int right, int borderType,const Scalar& value = Scalar())src:输入的数组。
dst:输出的拓展边界后的数组。
top:在src上边界向上拓展的行数。
bottom:在src下边界向下拓展的行数。
left:在src的左边界向左拓展的列数。
right:在src的右边界向右拓展的列数。
borderType:上一节中的边界拓展策略中的一个。
value:当你的边界策略使用的是BORDER_CONSTANT的时候,此处是指边界处填写的常数值。(
*BORDER_REPLICATE: aaaaaa | abcdefgh | hhhhhhh
* BORDER_REFLECT : fedcba | abcdefgh | hgfedcb
* BORDER_REFLECT_101 : gfedcb | abcdefgh | gfedcba
* BORDER_WRAP : cdefgh | abcdefgh | abcdefg
* BORDER_CONSTANT : iiiiii | abcdefgh | iiiiiii with some specified ’i’
)
#include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc, char**argv){ Mat orgIm = imread("theImage.png"); int extRows = 19; int extCols = 15; Mat extendedIm; copyMakeBorder( orgIm, extendedIm, extRows, extRows, extCols, extCols, BORDER_REFLECT_101); imshow("original image", orgIm); imshow("extended image", extendedIm); waitKey(); return 0; }
总结
以上是生活随笔为你收集整理的OpenCV copyMakeBorder()来拓展边界的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 大尾和小尾
- 下一篇: OpenCV 像素的读取与操作