opencv之图像几何变换和放大
2017-12-13 18:56
260 查看
平移:
平移后:
旋转:
旋转后:
尺寸变换之图像金字塔:
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img;
img=imread("C://Users//huashuo111//Desktop//橘子.jpg");
namedWindow("原图",1);
imshow("原图",img);
Mat img1=img.clone();
Mat temp=img.clone();
Mat img2;
pyrUp(temp,img1,Size());//放大
pyrDown(temp,img2,Size());//缩小
imshow("效果图1",img1);
imshow("效果图2",img2);
waitKey();
return 0;
}
#include<opencv2/opencv.hpp> #include<iostream> #include<vector> using namespace std; using namespace cv; int main() { const char* imagename = "C://Users//huashuo111//Desktop//test2.bmp"; //从文件中读入图像 Mat img = imread(imagename); //如果读入图像失败 if(img.empty()) { fprintf(stderr, "Can not load image %s\n", imagename); return-1; } Mat dst; Mat M=(Mat_<double>(2,3)<<1,0,200,0,1,150);//平移向量(200,150) warpAffine(img,dst,M,img.size()); imshow("原图",img); imshow("平移",dst); imwrite( "C://Users//huashuo111//Desktop//pingyi.bmp",dst); //此函数等待按键,按键盘任意键就返回 waitKey(); return 0; }原图:
平移后:
旋转:
#include<opencv2/opencv.hpp> #include<iostream> #include<vector> using namespace std; using namespace cv; int main() { const char* imagename = "C://Users//huashuo111//Desktop//test2.bmp"; //从文件中读入图像 Mat img = imread(imagename); //如果读入图像失败 if(img.empty()) { fprintf(stderr, "Can not load image %s\n", imagename); return-1; } Mat dst; Mat M=getRotationMatrix2D(Point2f(img.cols/2,img.rows/2),45,1);//旋转矩阵(绕中心点逆时针45度) warpAffine(img,dst,M,img.size()); imshow("原图",img); imshow("平移",dst); imwrite( "C://Users//huashuo111//Desktop//xuanzhuan.bmp",dst); //此函数等待按键,按键盘任意键就返回 waitKey(); return 0; }
旋转后:
尺寸变换之图像金字塔:
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img;
img=imread("C://Users//huashuo111//Desktop//橘子.jpg");
namedWindow("原图",1);
imshow("原图",img);
Mat img1=img.clone();
Mat temp=img.clone();
Mat img2;
pyrUp(temp,img1,Size());//放大
pyrDown(temp,img2,Size());//缩小
imshow("效果图1",img1);
imshow("效果图2",img2);
waitKey();
return 0;
}
相关文章推荐
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【opencv+python】图像处理之二、几何变换(仿射与投影)的原理
- OpenCV: 线性插值方法进行图像放大
- OpenCV图像处理(2)-空间变换,几何变换,阈值处理
- openCV—图像几何变换
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- Python下opencv图像的几何变换
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- openCV—Python(5)—— 图像几何变换
- 基于opencv的图像的无失真放大
- OpenCv 图像的放大和缩小
- OpenCV-图像几何变换:旋转,缩放,斜切 .
- 【OpenCV & Python】图像几何变换:旋转,缩放,平移
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- OpenCV 几何变换-图像缩放
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OPENCV用户手册之图像处理部分(之二):采样、差值与几何变换(中文翻译)
- OpenCV-图像几何变换:旋转,缩放,斜切
- 【OpenCV图像处理】五、图像的几何变换(下)
- 【OpenCV】图像几何变换:旋转,缩放,斜切