gpt4 book ai didi

matlab - Padarray函数翻译

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:28 24 4
gpt4 key购买 nike

我必须将这个函数从 Matlab 翻译成 C:

 impadded = padarray(impadded, padSzVec, 'replicate', 'both');

实际上,它会填充数组,复制每一行和每一列的对象的最后元素(获得更大的对象)。

我做的是:(img是原图)

Mat padded;
padded.create(img.rows + padSize, img.cols + padSize,img.type());
padded.setTo(cv::Scalar::all(0));
padded(Rect(padSize,padSize,img.rows,img.cols);
img.copyTo(padded);

我想我正在填充但插入 0 以获得更大的对象。有人可以帮助我改进代码。

最佳答案

(因为它解决了OP的问题,所以我把我的评论作为答案)

您可以使用 OpenCV 中的 copyMakeBorder() 函数在您喜欢的任何方向填充元素,它支持多种类型的填充。请参阅文档:http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=makeborder#copymakeborder

BORDER_CONSTANT 将添加一个常量值。

BORDER_REPLICATE 将复制边框元素,我认为这就是您的问题所需要的。

关于matlab - Padarray函数翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com