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

这篇具有很好参考价值的文章主要介绍了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参数

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

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

代码如下

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

 fx和fy参数实现缩放

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

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

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

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

 二、翻转

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

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

dst=cv2.flip(src,flipcode)

flipcode为反转类型

0为沿X轴翻转

正数为沿Y轴翻转

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

沿X轴翻转的效果

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

沿Y轴翻转的效果

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

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

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

代码如下

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

 创作不易 觉得有帮助请点赞关注收藏~~~文章来源地址https://www.toymoban.com/news/detail-424335.html

到了这里,关于OpenCV中图像的缩放与旋转讲解及实战演示(附Python源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV图像的仿射变换、旋转和缩放

    以下是对代码的逐行解释:

    2024年02月13日
    浏览(31)
  • opencv 图像的缩放(放大,缩小),翻转,旋转

    opencv 图像的缩放(放大,缩小),翻转,旋转 opencv 最常用的图像缩放方法是使用 cv2::resize() 函数,它需要指定输出图像的大小,和插值算法; opencv 最常用的图像翻转方法是使用 cv::flip() 函数,它需要指定图像翻转方式; opencv 最常用的图像旋转方法是使用 cv::warpAffine() 函数,

    2024年02月07日
    浏览(41)
  • opencv006图像处理之仿射变换(旋转,缩放,平移)

    空间变换中的仿射变换对应着五种变换,平移,缩放,旋转,翻转,错切。而这五种变化由原图像转变到变换图像的过程,可以用仿射变换矩阵进行描述。而这个变换过程可以用一个2*3的矩阵与原图进行相乘得到。关键就是这个矩阵M:  平移,旋转   透视 M: 变换矩阵 desi

    2024年01月21日
    浏览(32)
  • C++实战Opencv第二天——色彩空间转换函数和opencv中图像对象创建与赋值(从零开始,保姆教学)

    OpenCV是一个强大的计算机视觉库,使用C++作为主要编程语言,对于图像处理和计算机视觉领域具有重要意义。其提供了丰富的功能和算法,使得开发者能够快速实现各种图像处理和计算机视觉应用。OpenCV C++为图像处理和计算机视觉领域的开发者提供了一个高效、稳定的工具。

    2024年02月20日
    浏览(32)
  • 【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能

    仿射变换是一种二维变换,它可以将一个二维图形映射到另一个二维图形上,保持了图形的“形状”和“大小”不变,但可能会改变图形的方向和位置。仿射变换可以用一个线性变换矩阵来表示,该矩阵包含了六个参数,可以进行平移、缩放、旋转等操作。通过原理、函数和

    2024年02月05日
    浏览(35)
  • 三维变换矩阵实战——三维点云的旋转、缩放、镜像、错切、平移、正交投影

    旋转矩阵:右边矩阵是点云的原始坐标,左边的是旋转矩阵     可视化:绕x轴旋转90度 代码: 旋转矩阵:    可视化:绕y轴旋转180度 代码: 旋转矩阵:    可视化:绕z轴旋转90度 代码: 旋转矩阵:  线绕哪个轴转,xyz矩阵就和哪和轴的旋转矩阵先计算      可视化:先

    2024年02月04日
    浏览(72)
  • 【SSRF漏洞】实战演示 超详细讲解

    💕💕💕 博主昵称:摆烂阳💕💕💕 🥰博主主页链接https://blog.csdn.net/qinshuoyang1?type=blog 👩‍💻博主研究方向:web渗透测试 、python编程 📃 博主寄语:希望本篇文章能给大家带来帮助,有不足的地方,希望友友们给予指导 ———————————————— 第一步: 创建

    2024年02月04日
    浏览(30)
  • Halcon中图像旋转的两种方式

    Halcon图像旋转有两种类型,一种类型是直接使用 这样的图像只能围绕中心进行旋转,而且设置的时候只能设置旋转角度,其中函数组成如下: 效果如下:   这种变换方法简单方便,但是可控制参数太少,如果要实现更多功能,我们可以通过仿射变换算子来进行图像旋转缩放

    2024年02月11日
    浏览(23)
  • OpenCV中读取、显示、保存摄像头视频讲解与实战(附Python源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像以固定的时间间隔从视频中获取。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要处理视频,需要先对视频进

    2024年02月05日
    浏览(32)
  • python实现两函数通过缩放,平移和旋转进行完美拟合

    前几天在工作的时候接到了一个需求,希望将不同坐标系,不同角度的两条不规则曲线,并且组成该曲线的点集数量不一致,需求是希望那个可以通过算法的平移和旋转搞到一个概念里最贴合,拟合态进行比较。 这是初步将两组数据画到图里的情况,和背景需求是一致的。其

    2024年02月15日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包