概述
opencv代码
#include <iostream>
#include<opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat temImage;
cv::Mat img = cv::imread("/media/minivision/Win10/xg/image/2002/07/20/big/img_663.jpg",CV_LOAD_IMAGE_UNCHANGED);
imshow("img", img);
int w = img.cols;
int h = img.rows;
float t = 1.;
float len = t * std::max(w, h);
int dst_w = 224, dst_h = 224;
cv::Mat dst = cv::Mat(cv::Size(dst_w, dst_h), CV_8UC3, cv::Scalar(255,255,255));
Mat imageROI;
if(len==w)
{
float ratio = (float)h/(float)w;
resize(img,temImage,Size(224,224*ratio),0,0,INTER_LINEAR);
imageROI = dst(Rect(0, ((dst_h-224*ratio)/2), temImage.cols, temImage.rows));
temImage.copyTo(imageROI);
}
else
{
float ratio = (float)w/(float)h;
resize(img,temImage,Size(224*ratio,224),0,0,INTER_LINEAR);
imageROI = dst(Rect(((dst_w-224*ratio)/2), 0, temImage.cols, temImage.rows));
temImage.copyTo(imageROI);
}
imshow("Result", dst);
cv::waitKey(0);
imwrite("/home/minivision/image/1.jpg",dst);
return 0;
}
最后
以上就是聪明大地为你收集整理的opencv 按等比例resize图片,并将少于规定大小的部分用白色填充的全部内容,希望文章能够帮你解决opencv 按等比例resize图片,并将少于规定大小的部分用白色填充所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复