- 作者:老汪软件技巧
- 发表时间:2023-12-31 14:00
- 浏览量:
代码:
#include
#include "string"
#include "opencv2/opencv.hpp"
cv::Mat preprocess_img(cv::Mat& img, int input_w,int input_h)
{
int w,h,x,y;
float r_w=input_w/(img.cols*1.0);
float r_h=input_h/(img.rows*1.0);
if(r_h>r_w)
{
w=input_w;
h=r_w*img.rows;
x=0;
y=(input_h-h)/2;
}
else
{
w=r_h*img.cols;
h=input_h;
x=(input_w-w)/2;
y=0;
}
cv::Mat re(h,w,CV_8UC3);
cv::resize(img,re,re.size(),0,0,cv::INTER_LINEAR);
cv::Mat out(input_h,input_w,CV_8UC3,cv::Scalar(128,128,128));
re.copyTo(out(cv::Rect(x,y,re.cols,re.rows)));
return out;
}
int main() {
std::string imgDir="00058.jpg";
cv::Mat img=cv::imread(imgDir);
cv::Mat out= preprocess_img(img,640,640);
// cv::imshow("result",out);
// cv::imshow("test",img);
cv::imwrite("letterbox.jpg",out);
std::cout << "Hello, World!" << std::endl;
cv::waitKey(0);
return 0;
}
结果:
上一个vue移动端H5调起手机发送短信(兼容ios和)
下一个搭建集群
相关文章
yida管理员
暂未发布任何文章
热门文章