python opencv 图像旋转

原图

顺时针旋转

代码:

import cv2
path = '2.jpg'
img = cv2.imread(path,1)
trans_img = cv2.transpose(img)
new_img = cv2.flip(trans_img, 1)
cv2.imshow('new_img',new_img)
cv2.waitKey(0)

效果:

逆时针旋转

代码

import cv2
path = '2.jpg'
img = cv2.imread(path,1)
trans_img = cv2.transpose(img)
new_img = cv2.flip(trans_img, 0)
cv2.imshow('new_img',new_img)
cv2.waitKey(0)

效果

逆时针旋转

代码

import cv2
import numpy as np
# 读取图片
img = cv2.imread('2.jpg',1)
# 图片的宽、高、通道
rows,cols,can = img.shape
# 参数:旋转中心、旋转角度、大小变化
M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),90,1)
dst = cv2.warpAffine(img,M,(cols,rows))
# 拼接图片
result = np.hstack([img, dst])
cv2.imshow('result',result)
cv2.waitKey(0)

效果


上面这种方法有个问题:图片的长宽没有随着旋转而变化

python opencv 图像旋转相关推荐

  1. python opencv 图像膨胀

    python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...

  2. OpenCV图像旋转,指定填充背景颜色边界颜色

    OpenCV图像旋转,指定填充背景颜色边界颜色 OpenCV与图像旋转有关的函数: (1)warpAffine函数 void cv::warpAffine ( InputArray  src,     ...

  3. OpenCV:OpenCV图像旋转的代码

    OpenCV图像旋转的代码 cv::transpose( bfM, bfM ) 前提:使用两个矩阵Mat型进行下标操作是不行的,耗费的时间太长了.直接使用两个指针对拷贝才是王道.不知道和OpenCV比 ...

  4. python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例

    python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...

  5. 【Python+OpenCV 图像透视变换 warpPerspective函数】

    Python+OpenCV 图像透视变换 warpPerspective函数 1.函数介绍 2.代码实例 3.实现效果 1.函数介绍 warpPerspective():对图像进行透视变换.简单来说, ...

  6. 【Python+OpenCV 图像的缩放和裁剪】

    Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...

  7. OpenCV 图像旋转、平移、缩放

    本文是 OpenCV图像视觉入门之路的第7篇文章,本文详细的进行了图像的缩放 cv2.resize().旋转 cv2.flip().平移 cv2.warpAffine()等操作. OpenCV 图像旋 ...

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

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

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

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

最新文章

  1. python简单代码表白-python浪漫表白源码
  2. Maven学习总结(二)——Maven项目构建过程练习
  3. 安全行业中的event与incident区别
  4. 农信计算机资料录入试题,农村信用社考试计算机测试题(一)
  5. fatal error C1070: mismatched wabtags.h
  6. 文件操作-小文件复制
  7. spark学习-SparkSQL--07-SparkContext类和SparkConf类
  8. pythonwhile循环怎么修改数据类型_分级程序有while循环问题,使用不同的数据类型...
  9. Django的路由层
  10. python免费网课-Python网课推荐——免费学习Python编程
  11. java XML 通过BeanUtils的population为对象赋值 根据用户选择进行dom4j解析
  12. 音视频 H.264格式介绍
  13. 好读书之后是什么?(转)
  14. C# /.NET6 实现语音转文字(科大讯飞语音转文字接口)
  15. 企业领袖必备的八大特质
  16. C++多维数组:存储方式、访问方式和作为函数参数
  17. JuiceFS 在大搜车数据平台的实践
  18. 罗生门:一个简单查询实现引发的思考
  19. 欢迎光临Simon个人空间
  20. LOCAL_PRIVILEGED_MODULE 详解(1)

热门文章

  1. 1. 验证集 -- 批量测试和可视化 2. 测试集 -- 批量测试和可视化
  2. java web项目测试_java web项目怎么测试?
  3. TensorFlow中Session.run和Tensor.eval的区别
  4. RDKit | 基于RDKit探索ChEMBL数据库中合成药物历史
  5. 基于BERT的化学空间映射
  6. 不显示调用super_super关键字
  7. 在线绘图|2分钟轻松搞定桑基图(Sankey diagrams)
  8. 时玉:微生物地理分布的分析方法与技术
  9. GraPhlAn绘制的超高颜值物种树Cladogram
  10. NBT:扩增子及其他测序的最小信息标准和测序规范(MIMARKS)