0


OpenCV中图像的缩放与旋转讲解及实战演示(附Python源码)

需要源码请点赞关注收藏后评论区留言私信~~~

几何变换是指改变图像的几何结构,例如大小、角度和形状等,让图像呈现出缩放、翻转、映射和透视效果。这些几何变换操作都涉及复杂、精密的计算,OpenCV将这些计算过程封装成非常灵活的方法,开发者只需修改一些参数,就能实现图像的变换效果

一、缩放

缩表示缩小,放表示放大,通过OpenCV提供的resize方法可以随意更改图像的大小比例 语法如下

dst=cv2.resize(src,dsize,fx,fy,interpolation)

参数说明如下

src 原始图像

dsize 输出图像的大小 格式为宽高

fx 可选参数 水平方向的缩放比例

fy 可选参数 垂直方向的缩放比例

interpolation 可选参数 缩放的插值方式

dst 缩值之后的图像

resize方法有两种使用方式,一种是通过dsize参数实现缩放,另一种是通过fx和fy参数实现缩放 下面分别介绍

dsize参数实现缩放

dsize参数的格式是一个元组,如果使用dsize参数,就可以不写fx和fy参数

下面将图像按照指定宽高进行缩放 原图 放大 缩小对比如下

代码如下

  1. import cv2
  2. img = cv2.imread("demo.png") # 读取图像
  3. dst1 = cv2.resize(img, (100, 100)) # 按照宽100像素、高100像素的大小进行缩放
  4. dst2 = cv2.resize(img, (400, 400)) # 按照宽400像素、高400像素的大小进行缩放
  5. cv2.imshow("img", img) # 显示原图
  6. cv2.imshow("dst1", dst1) # 显示缩放图像
  7. cv2.imshow("dst2", dst2)
  8. cv2.waitKey() # 按下任何键盘按键后
  9. cv2.destroyAllWindows() # 释放所有窗体

fx和fy参数实现缩放

使用fx和fy参数控制缩放时,dsize参数值必须使用None,否则fx和fy失效,fx参数和fy参数可以使用浮点值,小于1的值表示缩小,大于1的值表示放大 计算公式为

新图像宽度,高度=round(fx/fy*原图像高度,宽度)

下面将图像按照指定比例进行缩放

二、翻转

水平方向称为X轴,垂直方向称为Y轴

OpenCV通过cv2.flip方法实现翻转效果 语法如下

dst=cv2.flip(src,flipcode)

flipcode为反转类型

0为沿X轴翻转

正数为沿Y轴翻转

负数为同时沿X轴 Y轴翻转

沿X轴翻转的效果

沿Y轴翻转的效果

下面同时实现三种翻转效果

代码如下

  1. import cv2
  2. img = cv2.imread("demo.png") # 读取图像
  3. dst1 = cv2.flip(img, 0) # 沿X轴翻转
  4. dst2 = cv2.flip(img, 1) # 沿Y轴翻转
  5. dst3 = cv2.flip(img, -1) # 同时沿X轴、Y轴翻转
  6. cv2.imshow("img", img) # 显示原图
  7. cv2.imshow("dst1", dst1) # 显示翻转之后的图像
  8. cv2.imshow("dst2", dst2)
  9. cv2.imshow("dst3", dst3)
  10. cv2.waitKey() # 按下任何键盘按键后
  11. cv2.destroyAllWindows() # 释放所有窗体

** 创作不易 觉得有帮助请点赞关注收藏~~~**


本文转载自: https://blog.csdn.net/jiebaoshayebuhui/article/details/128740382
版权归原作者 showswoller 所有, 如有侵权,请联系我们删除。

“OpenCV中图像的缩放与旋转讲解及实战演示(附Python源码)”的评论:

还没有评论