opencv图片旋转90°/-90°/180°(网上很多转换,长宽出问题,这里可以长宽对其)
需求:想把一张图片围绕中心旋转90°、180°等,但是在网上很难找到可以旋转的,尤其是对应的图片宽高进行旋转,很少,即使有也是很笨的方法及for循环行和列对换,因此在查找时
发现一个思路可以解决问题, 如下:
用到2个函数:
transpose(Mat src,Mat &dst); //转置
flip(Mat src,Mat &dst,int nFlag) ; //镜像
Mat src = imread("C:\\Users\\zsffuture\\Pictures\\Saved Pictures\\1.jpg");
Mat temp, dst0, dst1, dst_1;
//先转置一下图片,此时图片是转置并和原图像呈现镜像,因此使用镜像一次
transpose(src, temp);
//使用镜像操作转换过来,第三个参数为1,镜像后相当于原图像的顺时针旋转了90°
flip(temp, dst1, 1);
//第三个参数,0时,镜像后相当于原图逆时针90°
flip(temp, dst0, 0);
//第三个参数为-1时,镜像后相当于旋转180度
flip(temp, dst_1, -1);
imshow("src", src);
imshow("transpose", temp);
imshow("flip:1", dst1);
imshow("flip:0", dst0);
imshow("flip:-1", dst_1);
waitKey();
总结:
需顺时针90°旋转时,transpose(src,tmp) + flip(tmp,dst,1)
需逆时针90°旋转时,transpose(src,tmp) + flip(tmp,dst,0)
需180°旋转时,直接flip(src,dst,-1)
opencv图片旋转90°/-90°/180°(网上很多转换,长宽出问题,这里可以长宽对其)相关推荐
- 拍照图片加入水印效果图片旋转了90度
前端时间项目中遇到在部分机型上拍照照片加上水印效果后,存储图片旋转了90度的问题. 解决这个问题需要用到android提供的ExifInterface. ExifInterface是什么? ExifI ...
- OpenCV 图片旋转
OpenCV 图片旋转的两个函数 cv2.getRotationMatrix2D 获得仿射变化矩阵 cv2.warpAffine 进行仿射变化 getRotationMatrix2D 获得仿射变化矩阵 ...
- opencv图片旋转90°/-90°/180°
一般角度旋转,我们会这样做: 先用getRotationMatrix2D()来计算二维旋转变换矩阵, 再用warpAffine()来进行仿射变换 对于需90°或-90°旋转,如果我们也这样做: Mat ...
- 三星Android5.0系统以上 相册中选择相片后 图片旋转了90度问题
这个问题在实际应用开发中也是无意中碰到,下面给出代码解决 其中avatar为头像地址,path为在相册中选择完的相片地址 int degree = ImageUtils.readPictureDegr ...
- python cv2 opencv 图片旋转
import cv2 import numpy as npdef opencv_rotate(img, angle):"""图片旋转,默认应该是逆时针转动:param i ...
- opencv 图片旋转90度
这个小功能居然会折腾我很久,都怪opencv的官方函数warpAffine旋转后总会平移,结果留下难看的黑边.几经google,终于发现opencv的c函数中有神奇的transpose和flip可以互 ...
- python opencv图片旋转180度_Python opencv图像镜像翻转
最近在训练CNN网络,需要对数据进行扩充,于是想做一下图像的镜像翻转,主要参考了博客: 不过我发现博主使用的是opencv老版本了,现在大家都是cv2了,因此我对博主的代码进行了必要的修改. 首先,说 ...
- opencv图片旋转关于中心旋转任意角度与坐标转换
如下例子,实现图片关于中心旋转任意角度,及坐标变换 import os import os.path import cv2 import numpy as np from math import co ...
- 怎么将图片旋转45度?
怎么将图片旋转45度?相信很多小伙伴在学习和工作的过程中,时常会需要将图片旋转45度,这个时候很多人习惯使用word和美图秀秀操作,或者使用系统自带的编辑器处理,但他们可能会很容易的把图片旋转90度, ...
最新文章
- 查看LINUX发行版的名称及其版本号
- Java数据结构与算法(一) 数组
- mysql 共享锁和排他锁 意向锁 记录锁 Gap Locks Next-Key Locks 插入意向锁介绍
- TCP连接之报文首部
- Spring Boot知识清单
- Chrome DevTools — Network 1
- 485通讯转换器产品功能特点介绍
- 【java并发编程艺术学习】(一)初衷、感想与笔记目录
- 4.3.2 用jQuery进行异步加载(2)
- python 判断中文字符数量_python判断列表里数量python中文乱码问题大总结
- Windows10桌面美化合集(壁纸+任务栏+资源管理器)
- 关于DllRegisterServer的调用失败的问题解决办法
- 移动端安卓手机车牌识别SDK
- 如何拼局域网所有ip_在windows命令行批量ping局域网内IP
- 业务系统安全工程在阿里的实践|阿里巴巴DevOps实践指南
- GIS应用技巧之密度分析
- 视频目标检测入门介绍
- Word2Vec词向量模型代码
- android 实现磨砂效果_Android(Android5.0)下毛玻璃(磨砂)效果如何实现?
- VBA使用FileSystemObject将读取或写入文本文件
热门文章
- Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
- 大数据应用需注意哪些安全问题
- websocket php apache,PHP第一篇:PHP WebSocket实现前后端数据交互,亲测可用(windows+ apache2.4 +php5.6 )...
- python 面向对象的封装_Python面向对象封装操作案例详解
- python绘制散点图的函数_python绘制散点图
- docker Ubuntu系统中使用 powershell
- 2020考研计算机专业课,2020考研:计算机考这4个科目,各科该这样备考
- 前端直接访问登录页面报错_如何实现登录、URL和页面按钮的访问控制
- AcWing 874. 筛法求欧拉函数(欧拉函数)
- linux服务器云防火墙配置文件,Linux云服务器防火墙配置之Firewalld