欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV copyMakeBorder()来拓展边界

发布时间:2023/12/2 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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()来拓展边界的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。