例子二:裁剪,调整图片大小
///头文件
#include <iostream>
#include <string>
#include <opencv2\core\core.hpp>
#include <opencv2\calib3d\calib3d.hpp>
#include <opencv2\highgui\highgui.hpp>
///change.cpp文件
cv::Mat GetSub(cv::Mat img)
{
#include <iostream>
#include <string>
#include <opencv2\core\core.hpp>
#include <opencv2\calib3d\calib3d.hpp>
#include <opencv2\highgui\highgui.hpp>
///change.cpp文件
cv::Mat GetSub(cv::Mat img)
{
///取图片的一部分
cv::Rect rect(img.cols / 10/*srcImg.cols/3*/, 0/*srcImg.rows /4*/, img.cols * 8 / 10, img.rows);
return img(rect);
}
cv::Mat SetSize(cv::Mat img)
{
cv::Rect rect(img.cols / 10/*srcImg.cols/3*/, 0/*srcImg.rows /4*/, img.cols * 8 / 10, img.rows);
return img(rect);
}
cv::Mat SetSize(cv::Mat img)
{
///重新设置图片大小
cv::Mat changeimg;
cv::Size dsize = cv::Size(1024,768);
resize(img, changeimg, dsize);
return changeimg;
}
cv::Mat changeimg;
cv::Size dsize = cv::Size(1024,768);
resize(img, changeimg, dsize);
return changeimg;
}
int main(int argc, char *argv[])
{
cv::Mat srcImg = cv::imread("1280x720.jpg");
cv::imshow("srcImg", srcImg);
cv::Mat resizeImg;
cv::Mat subImg;
{
cv::Mat srcImg = cv::imread("1280x720.jpg");
cv::imshow("srcImg", srcImg);
cv::Mat resizeImg;
cv::Mat subImg;
resizeImg = SetSize(srcImg);
imshow("resizeImg", resizeImg);
imshow("resizeImg", resizeImg);
subImg = GetSub(srcImg);
imshow("subImg", subImg);
cv::waitKey(0);
return 0;
}
原图:
裁剪得到的图片:
调整大小得到的图片: