变换

大小

import numpy as np
import cv2 as cv
img = cv.imread('messi5.jpg')
res = cv.resize(img,None,fx=2, fy=2, interpolation = cv.INTER_CUBIC)
#OR
height, width = img.shape[:2]
res = cv.resize(img,(2*width, 2*height), interpolation = cv.INTER_CUBIC)

平移

import numpy as np
import cv2 as cv
img = cv.imread('messi5.jpg',0)
rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv.warpAffine(img,M,(cols,rows))
cv.imshow('img',dst)
cv.waitKey(0)
cv.destroyAllWindows()

旋转

img = cv.imread('messi5.jpg',0)
rows,cols = img.shape
# cols-1 and rows-1 are the coordinate limits.
M = cv.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),90,1)
dst = cv.warpAffine(img,M,(cols,rows))

仿射变换

img = cv.imread('drawing.png')
rows,cols,ch = img.shape
pts1 = np.float32([[50,50],[200,50],[50,200]])
pts2 = np.float32([[10,100],[200,50],[100,250]])
M = cv.getAffineTransform(pts1,pts2)
dst = cv.warpAffine(img,M,(cols,rows))
plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')
plt.show()

perspective transformation


img = cv.imread('sudoku.png')
rows,cols,ch = img.shape
pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]])
pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]])
M = cv.getPerspectiveTransform(pts1,pts2)
dst = cv.warpPerspective(img,M,(300,300))
plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')

参考文献:
https://docs.opencv.org/master/da/d6e/tutorial_py_geometric_transformations.html

opencv 图像几何变换相关推荐

  1. OpenCV图像几何变换专题(缩放、翻转、仿射变换及透视)【python-Open_CV系列(五)】

    OpenCV图像几何变换专题(缩放.翻转.仿射变换及透视)(python为工具) [Open_CV系列(五)] 文章目录 准备图片 1. 缩放 cv2.resize()方法 2. 翻转 cv2.fli ...

  2. [Python图像处理] 三十六.OpenCV图像几何变换万字详解(平移缩放旋转、镜像仿射透视)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  3. OpenCV图像几何变换——转置,镜像,倒置

    图像几何变换方法之--remap使用. 源图像 一.图像转置 #include <iostream> #include <opencv2/opencv.hpp> using n ...

  4. OpenCV-Python学习(18)—— OpenCV 图像几何变换之图像平移(cv.warpAffine)

    1. 学习目标 学习图像的平移矩阵: 学习 OpenCV 图像平移函数. 2. 图像的平移矩阵 平移是物体位置在水平和垂直方向的移动. 像素点 (x,y) 沿 x 轴平移 dx.沿 y 轴平移 dy, ...

  5. OpenCV-Python学习(19)—— OpenCV 图像几何变换之图像缩放(cv.warpAffine、cv.resize)

    1. 学习目标 学习图像的缩放矩阵: 学习 OpenCV 图像缩放函数 cv.resize 和 cv.warpAffine. 2. 图像的缩放矩阵 缩放是物体在 x 轴和 y 轴的缩放比例. fx 是 ...

  6. Opencv图像几何变换

    DataWhale 机器视觉组队学习task2 2.1 简介   该部分将对基本的几何变换进行学习,几何变换的原理大多都是相似,只是变换矩阵不同,因此,我们以最常用的平移和旋转为例进行学习.在深度学习 ...

  7. opencv android 透视,OpenCV图像几何变换之透视变换

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 1. 基本原理 透视变换(Perspective Transformation)的本质是将图像投影到一个新的视平面 ...

  8. Python 计算机视觉(五)—— OpenCV 进行图像几何变换

    几何变换不改变图像的像素值,只是实现图像像素点的重新安排:恰当的进行图像的几何变换,可以减小甚至避免由于角度等一些因素造成的图像失真问题,有利于我们在识别图像时将注意力集中到图像的有效信息中而不至于被 ...

  9. OpenCV中的图像处理 —— 改变颜色空间+图像几何变换

    OpenCV中的图像处理 -- 改变颜色空间+图像几何变换 这一部分主要介绍OpenCV图像处理中的改变颜色空间和图像的几何变换,颜色空间的改变应用非常广泛,在处理图像的实际问题中,经常需要要图像变换 ...

最新文章

  1. 数据中心暖通相关知识与空调规划设计知识
  2. symfony php 更新内容,Symfony框架中的Doctrine
  3. 2000多一件的大牌T恤,真实成本有多少?
  4. 面试:一文搞懂重载和重写的区别
  5. 服务高可用利器——限流算法介绍与示例
  6. VS C++ memcpy() 用于double、int、结构体
  7. ul阻燃标准有几个等级_UL 阻燃标准
  8. 基于团队的持续优化之道
  9. CF755F PolandBall and Gifts
  10. 什么是Socket 编程
  11. H.266/VVC代码学习32:VTM5.0解码端最上层函数
  12. linux怎么在终端里查系统信息,Neofetch:在终端中显示Linux系统信息
  13. Spring 框架分析
  14. 计算机软考具体有哪几方面,计算机软考全国有哪些常用考点呢
  15. 卡罗拉 (COROLLA) - 开启引擎盖
  16. 一个完整的AjaxPro例子
  17. 超表面学习 初步印象
  18. 车辆管理系统-公务用车管理系统
  19. CSS相关知识点记录
  20. mkv to mp4

热门文章

  1. ulead gif animator_搞笑GIF:家庭聚餐,还有三十多个没来呢?|搞笑gif
  2. 美萍系统服务器密码,从得到美萍计费管理专家管理员密码开始
  3. Python+django网页设计入门(19):创建新模型扩展自带用户表的字段
  4. 使用Python处理声音文件(五):绘制立体声音乐左右声道频谱
  5. Spring 基础 编写基本的控制器(系列号3)
  6. python pylab画图工具
  7. java实现订单物品计算佣金,java三角形、NextDay、佣金问题代码
  8. mysql innodb trx_如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog
  9. nodejs 更新_NodeJs(一)我对NodeJs的认知
  10. jwt判断token是否过期_4spring-security5整合jwt做登录、权限验证,全网最全!!!可用...