用c++写一个高性能的padding使用opencv
我假设您想要使用OpenCV来进行图像填充(padding),并且您已经安装了OpenCV库。下面是一个简单的C++代码示例,用于将图像填充为指定大小:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat image = imread("image.jpg", IMREAD_COLOR);
if (image.empty())
{
cout << "Could not open or find the image" << endl;
return -1;
}
int top = 50, bottom = 50, left = 50, right = 50; // 指定填充的大小
Scalar value(0, 0, 0); // 指定填充的颜色
Mat padded_image;
copyMakeBorder(image, padded_image, top, bottom, left, right, BORDER_CONSTANT, value);
imshow("Original Image", image);
imshow("Padded Image", padded_image);
waitKey(0);
return 0;
}
在这个例子中,我们使用了copyMakeBorder函数来进行填充操作。这个函数需要指定要填充的图像、填充的大小、填充的位置、填充的方式(使用常数填充)、填充的颜色等参数。
如果您需要进行更高级的填充操作,例如使用不同的填充方式、使用不同的颜色、使用不同的边缘响应等,可以参考OpenCV文档中copyMakeBorder函数的详细说明。
原文地址: https://www.cveoy.top/t/topic/bXF0 著作权归作者所有。请勿转载和采集!