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(图像)——旋转保存图片相关推荐

  1. 经验 | OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的 ...

  2. OpenCV图像旋转的原理与技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|OpenCV学堂 01 引言 初学图像处理,很多人遇到的第一 ...

  3. 图像旋转的MATLAB和OpenCV源码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 源码中用到的lena.jpg.lena_gray ...

  4. 2.2 获取图像感兴趣区域_基于Hu距的图像旋转矫正之OpenCV实现

    目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...

  5. 90度旋转 flip opencv_基于Hu距的图像旋转矫正之OpenCV实现

    目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...

  6. OPENCV入门教程九:图像旋转任意角度

    一.目标 学习如何旋转图片. 二.函数说明 在OpenCV中,没有现成的函数直接用来实现图像旋转,它是用仿射变换函数warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰 ...

  7. OpenCV中图像旋转(warpAffine)算法的实现过程

    在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...

  8. python opencv 图像旋转

    python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...

  9. 应用OpenCV进行图像旋转和平移

    简 介: 本文中,你了解了了如何通过OpenCV完成对于图像的旋转和平移.我们首先通过 getRotationMatrix2D() 获取2D旋转矩阵,然后完成了对于图像的旋转.具体是通过warpAff ...

  10. 使用python+opencv和pillow以及numpy对图像进行旋转,以及解决图像旋转过程中出现的黑边问题

    文章目录: 1 使用pillow对图像进行旋转 1.1 pillow对图像进行旋转 1.2 解决使用pillow旋转过程中出现的黑边问题 2 使用opencv对图像进行旋转 2.1 opencv对图像 ...

最新文章

  1. 五、(H3C)基于802.1x+AD+DHCP+NPS动态下发vlan 华三交换机配置
  2. 2021中大厂php+go面试题(1)
  3. python语言入门电子版-python从入门到精通pdf
  4. spring21:Aspectj实现后置通知@AfterReturning
  5. 图解Oracle用户管理
  6. python编程工具是什么_python编程应该用什么工具
  7. Kafka : KafkaProducer Closing the kafka producer with timeoutMillis
  8. Confluence 6 PostgreSQL 输入你的数据库细节
  9. 快速破解基于linux内核的开源路由器后台管理登录密码
  10. JAVA设计模式之桥接模式
  11. 前端项目如何向一个后端项目传递数组?(批量删除如何传参)
  12. uniapp页面通讯-uni.$emit、uni.$on、uni.$once、uni.$off
  13. 从毕业到2010的Java程序员生涯(一)
  14. 外国月亮也不圆?在硅谷,只有失败者才朝九晚五
  15. 通过调用Word模板(Doc、dot)直接打印 z
  16. cocos-creator学习笔记1(旋转,位置移动,键盘监控移动基础)
  17. WxJava springboot微信支付商户直连分账使用总结
  18. matplotlib画各种图的方法(2)
  19. UVa-11212编辑书稿
  20. 使用PongoOS读取苹果ARM64 CPU功能支持寄存器

热门文章

  1. 黑龙江科技大学计算机类分数线,2019年黑龙江科技大学优势专业排名及分数线...
  2. 图像处理怎么学matlab,Matlab数字图像处理学习(1)-亮度变换
  3. 机器学习四剑客3——Pandas
  4. 机器学习中的数学基础(4.1):支持向量机Support Vector Machine(SVM)
  5. Grasp2Vec:通过自我监督式抓取学习物体表征
  6. 基于pytorch后量化(mnist分类)---浮点训练vs多bit后量化vs多bit量化感知训练效果对比
  7. 自定义apt升级脚本
  8. FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)
  9. 协方差及PCA降维计算
  10. UE capability与 双连接相关的参数。