OpenCV 【六】————youtu(图像)——旋转保存图片
OpenCV Mat结构的图片 旋转顺时针90度 180度 270度 逆时针90度
Mat matRotateClockWise90(Mat src)
{if (src.empty()){qDebug()<<"RorateMat src is empty!";}// 矩阵转置transpose(src, src);//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转flip(src, src, 1);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)return src;
}Mat matRotateClockWise180(Mat src)//顺时针180
{if (src.empty()){qDebug() << "RorateMat src is empty!";}//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转flip(src, src, 0);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)flip(src, src, 1);return src;//transpose(src, src);// 矩阵转置
}Mat matRotateClockWise270(Mat src)//顺时针270
{if (src.empty()){qDebug() << "RorateMat src is empty!";}// 矩阵转置//transpose(src, src);//0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转transpose(src, src);// 翻转模式,flipCode == 0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)flip(src, src, 0);return src;
}Mat myRotateAntiClockWise90(Mat src)//逆时针90°
{if (src.empty()){qDebug()<<"mat is empty!";}transpose(src, src);flip(src, src, 0);
cv::Mat depth_image_(FLAGS_deptrum_output_height,FLAGS_deptrum_output_width,CV_16UC1,&depth_image[0]);std::string depth_filename = FLAGS_deptrum_prefix + "depth.png";cv::imwrite(depth_filename.c_str(), depth_image_);std::string depth_filename = FLAGS_deptrum_prefix + "depth.txt";SaveDepth(depth_filename, depth_image, FLAGS_deptrum_output_height, FLAGS_deptrum_output_width);// Save obj_image_bg png 旋转图片std::string depth_filename_ir = FLAGS_deptrum_prefix + "ir.png";cv::Mat srcCopy = cv::Mat(obj_image_bg.rows, obj_image_bg.cols, obj_image_bg.depth());cv::transpose(obj_image_bg, srcCopy);cv::flip(srcCopy, srcCopy, -1);cv::imwrite(depth_filename_ir.c_str(), srcCopy);// Save obj_image_rgb bmpobj_image_rgb = image_rgb.clone();std::string depth_filename_rgb = FLAGS_deptrum_prefix + "rbg.bmp";cv::imwrite(depth_filename_rgb.c_str(), obj_image_rgb);cv::Mat roi_on_depth_image_(rgb_height, rgb_width, CV_16UC1, &roi_on_depth_image[0]);std::string rgb_depth_image_name = FLAGS_deptrum_prefix + "depth.png";cv::imwrite(rgb_depth_image_name.c_str(), roi_on_depth_image_);// The order of edge imageint edge_image_num_ = 0;
OpenCV 【六】————youtu(图像)——旋转保存图片相关推荐
- 经验 | OpenCV图像旋转的原理与技巧
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的 ...
- OpenCV图像旋转的原理与技巧
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的第一 ...
- 图像旋转的MATLAB和OpenCV源码
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 源码中用到的lena.jpg.lena_gray ...
- 2.2 获取图像感兴趣区域_基于Hu距的图像旋转矫正之OpenCV实现
目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...
- 90度旋转 flip opencv_基于Hu距的图像旋转矫正之OpenCV实现
目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...
- OPENCV入门教程九:图像旋转任意角度
一.目标 学习如何旋转图片. 二.函数说明 在OpenCV中,没有现成的函数直接用来实现图像旋转,它是用仿射变换函数warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰 ...
- OpenCV中图像旋转(warpAffine)算法的实现过程
在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...
- python opencv 图像旋转
python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...
- 应用OpenCV进行图像旋转和平移
简 介: 本文中,你了解了了如何通过OpenCV完成对于图像的旋转和平移.我们首先通过 getRotationMatrix2D() 获取2D旋转矩阵,然后完成了对于图像的旋转.具体是通过warpAff ...
- 使用python+opencv和pillow以及numpy对图像进行旋转,以及解决图像旋转过程中出现的黑边问题
文章目录: 1 使用pillow对图像进行旋转 1.1 pillow对图像进行旋转 1.2 解决使用pillow旋转过程中出现的黑边问题 2 使用opencv对图像进行旋转 2.1 opencv对图像 ...
最新文章
- 五、(H3C)基于802.1x+AD+DHCP+NPS动态下发vlan 华三交换机配置
- 2021中大厂php+go面试题(1)
- python语言入门电子版-python从入门到精通pdf
- spring21:Aspectj实现后置通知@AfterReturning
- 图解Oracle用户管理
- python编程工具是什么_python编程应该用什么工具
- Kafka : KafkaProducer Closing the kafka producer with timeoutMillis
- Confluence 6 PostgreSQL 输入你的数据库细节
- 快速破解基于linux内核的开源路由器后台管理登录密码
- JAVA设计模式之桥接模式
- 前端项目如何向一个后端项目传递数组?(批量删除如何传参)
- uniapp页面通讯-uni.$emit、uni.$on、uni.$once、uni.$off
- 从毕业到2010的Java程序员生涯(一)
- 外国月亮也不圆?在硅谷,只有失败者才朝九晚五
- 通过调用Word模板(Doc、dot)直接打印 z
- cocos-creator学习笔记1(旋转,位置移动,键盘监控移动基础)
- WxJava springboot微信支付商户直连分账使用总结
- matplotlib画各种图的方法(2)
- UVa-11212编辑书稿
- 使用PongoOS读取苹果ARM64 CPU功能支持寄存器
热门文章
- 黑龙江科技大学计算机类分数线,2019年黑龙江科技大学优势专业排名及分数线...
- 图像处理怎么学matlab,Matlab数字图像处理学习(1)-亮度变换
- 机器学习四剑客3——Pandas
- 机器学习中的数学基础(4.1):支持向量机Support Vector Machine(SVM)
- Grasp2Vec:通过自我监督式抓取学习物体表征
- 基于pytorch后量化(mnist分类)---浮点训练vs多bit后量化vs多bit量化感知训练效果对比
- 自定义apt升级脚本
- FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)
- 协方差及PCA降维计算
- UE capability与 双连接相关的参数。