描述:

//2020.6.21P72_OpenCV_图像平移_缩放_旋转

•完成一张图像的几何变换需要两个独立的算法。首先需要一个算法实现空间坐标变换,用它描述每个像素如何从初始位置移动到终止位置;其次,还需要一个插值算法完成输出图像的每个像素的灰度值。

代码:

//2020.6.21P72_OpenCV_图像平移_缩放_旋转
//#include <opencv2/core.hpp>
//#include <opencv2/highgui.hpp>
//txwtech
#include<opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;int main(int argc, char *argv[])
{//Mat I = imread(argv[1],CV_LOAD_IMAGE_GRAYSCALE);//Mat I = imread(argv[1], CV_LOAD_IMAGE_COLOR);Mat I = imread("yezi.png");//图片放在cpp的相同目录。 比如cvp71.cpp, yezi.png放在同一个文件夹if (!I.data) //no data ,return to -1;return -1;//缩放仿射矩阵,等比例缩放2倍Mat s = (Mat_<float>(2,3)<<0.5, 0, 0, 0, 0.5, 0);//x平移80,y不移动仿射矩阵Mat s5 = (Mat_<float>(2,3)<<1, 0, 180,0, 1, 0);//x平移80,y移动100仿射矩阵/*Mat s2 = (Mat_<float>(2, 3) << 1, 0, 80,0, 1, 100);*///缩放+平移仿射矩阵Mat s2 = (Mat_<float>(2, 3) << 0.5, 0, 80,0, 0.5, 80);Mat s3 = getRotationMatrix2D(Point2f(280,280),-90,0.5);//顺时针旋转90度,缩小2倍Mat dst1a, dst1b;Mat dst1,dst3;//插值算法warpAffine(I,dst1,s,Size(I.cols/2,I.rows/2));//图像缩放warpAffine(I, dst3,s3,Size(I.cols,I.rows));//顺时针旋转90度,缩小2倍warpAffine(I, dst1b, s2, Size(I.cols, I.rows));//缩放+平移warpAffine(I, dst1a, s5, Size(I.cols, I.rows));//平移Mat dst2;resize(I,dst2,Size(I.cols/2,I.rows/2),0.5,0.5);//openCV缩放函数imshow("原图像I",I);imshow("平移",dst1a);imshow("缩放+平移", dst1b);//imshow("warAffine仿射方式",dst1);//imshow("resize方式",dst2);imshow("缩放+旋转90度",dst3);Mat img2,Rimg3;img2 = I.clone();//imshow("复制图像",img2);waitKey(0);return 0;}

结果:

2020.6.21P72_OpenCV_几何变换_图像平移_缩放_旋转相关推荐

  1. MFC空间几何变换之图像平移、镜像、旋转、缩放

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图片空间几何变换,包括图像平移.图形 ...

  2. 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放详解

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图片空间几何变换,包括图像平移.图形 ...

  3. 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释...

           本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含 ...

  4. opencv 图像平移、缩放、旋转、翻转 图像仿射变换

    图像几何变换 图像几何变换从原理上看主要包括两种:基于2x3矩阵的仿射变换(平移.缩放.旋转.翻转).基于3x3矩阵的透视变换. 图像平移 opencv实现图像平移 实现图像平移,我们需要定义下面这样 ...

  5. 矩阵陈列:平移、缩放、旋转、镜像、矩阵相乘、变化的实现_NXopen-UG二次开发_新浪博客

    矩阵陈列:平移.缩放.旋转.镜像.矩阵相乘.变化的实现 uf5940_ uf5941_ uf5942_ 矩阵相乘 uf5943_ 平移 uf5944_ 缩放 uf5945_ 旋转 uf5946_ 镜像 ...

  6. 深度学习数据增强方法,利用仿射变换实现图像进行各种操作如平移、缩放、旋转、翻转

    导读 在深度学习的数据增强中,我们经常需要对图像进行各种增强操作如平移.缩放.旋转.翻转等,这些其实都是图像的仿射变换.通过本篇文章,你能够知道它们的实现原理以及如何应用它们.本文讲述如何通过仿射变换 ...

  7. 几何变换详解:平移、缩放、旋转

    声明:此文章主要参考两位大佬的博客,参考文章在文末. 文章目录 平移变换 缩放变换 旋转变换 绕X轴旋转 绕Y轴旋转 绕Z轴旋转 绕坐标轴旋转的矩阵推导 逆矩阵 代码实战 1.平移 2.缩放 3.旋转 ...

  8. 【数字图像处理】【Matlab】【作业六】几何变换(平移、缩放、旋转、镜像、转置等)

    注意事项: 1.使用软件:Matlab2019a. 2.使用图像来自网络. 3.所以坐标系均采用竖直为x轴,水平为y轴(与matlab矩阵对应). 4.初学者代码仅供参考,可自行简化或添加自己想要的部 ...

  9. opencv之图像翻转、平移、缩放、旋转、仿射学习笔记

    opencv版本:opencv3.4.1 目录 1. 图像翻转(坐标映射) 2.  平移 3. 缩放 4. 旋转 1. 图像翻转(坐标映射) int main() {cv::Mat srcImage ...

  10. 【计算机图形学实验四——简单几何形体的平移、缩放、旋转等几何变换】

    一.实验内容.目的.要求 1.简单几何形体(三角形.多边形等)的平移.缩放.旋转等几何变换. 2.掌握相关算法的原理及实现 3.实现基础代码(非调用OpenGL等图形库): 缩放.旋转等能指定变换参考 ...

最新文章

  1. 《科学》:中国科学家揭示,人脑中间神经元多样性从何而来?
  2. CentOS 生成SSH-KEY
  3. dojo Quick Start/dojo入门手册--xmlhttp dojo.xhrGet
  4. 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
  5. 趣文:如果编程语言是车
  6. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之启动另一个Activity
  7. 草稿pyqt控件简单了解
  8. android win10 双系统,安卓+Win10双系统?这个可以有!
  9. 【UAV】光流传感器原理分析及讲解
  10. 天池大数据竞赛-河北高校邀请赛——二手车交易价格预测-初赛第22名
  11. 十一种常见的光纤网络传输方案
  12. 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
  13. 关于Java的抽象类与接口
  14. WIN7无法保存打印机设置错误0x000006d9处理办法(转载)
  15. 艾永亮:当产品遇到超级产品战略会发生什么?
  16. ERP-非财务人员的财务培训教(二)------如何评价公司/部门经营业绩收藏
  17. 谷歌小恐龙HTML源代码
  18. 计算机控制相机拍照,电脑操作单反 远程遥控拍摄电脑就这么简单!
  19. Windows 10 - Python - 数据分析 - 年龄分组统计 - 条形图 - matplotlib
  20. 面试技巧:原来薪资可以这样谈!

热门文章

  1. Python网络编程基础之ip地址,端口号,TCP,socket
  2. 书虫必备Android应用——豆瓣购书单
  3. 被编进教材的Python必须第一,不接受反驳!
  4. 数据库总结之基础知识篇
  5. 成都街头智能安保机器人吸引民众驻足
  6. SVM 原理详解,通俗易懂
  7. element tree ui 全选_element-ui Tree之懒加载叶子节点设置半选效果
  8. 【网络安全】系统安全与内容安全(二)(复习用)
  9. SAAS(软件即服务)初识
  10. Ubuntu 16.04下Intel SGX驱动、平台软件和SDK安装