当前位置: 首页 > news >正文

opencv-图像基础变换

1,缩放

缩放是对图像的大小进行调整

缩放矩阵,相当于x和y乘一个常数

例如将图像放大两倍 

 

import cv2
img = cv2.imread('1.jpg')
img = cv2.resize(img, (400,400))
img = cv2.resize(img, (0,0), fx=3, fy=1)#表示x方向扩大三倍,y方向不变

 

 

2,平移

对每一个像素点坐标平移,可以让每一个像素点的x,y坐标都加一个变量

 

3,旋转

图像旋转是指图像按照某一个位置转动一定角度的过程,旋转中图像仍保持原始尺寸。图像旋转后图像的水平对称轴,垂直对称轴及中心坐标原点都可能会发生变换,因此需要对图像旋转中的坐标进行相应变换

如下图,坐标轴旋转θ,(x,y)与原点连线形成的直线相对于原始x轴旋转α,旋转后的x到旋转后的x‘轴的垂直距离即为要求的在旋转后坐标系下的横坐标,同理求纵坐标 。最后将(x,y)点的图像数据用原图像(x',y')位置上的数据替换即可

 

将其均带入即可得到x,y和x',y'的关系式,如下

 

写成矩阵形式 

 

 

如果旋转时以旋转中心为原点,旋转结束后还需要将坐标原点移动到图像左上角,也就是还要进行一次变换

变换后的坐标原点在图像中心 。左上角坐标为(left,top)

 

 

在opencv中图像旋转首先根据旋转角度和旋转中心获得选抓矩阵,然后根据旋转矩阵进行变换,即可实现任意角度和任意中心的旋转效果

 

 

4,错切

图像的错切是一种基于几何变换的图像处理技术,用于对图像进行非垂直投影,从而在水平或垂直方向上引入扭曲效果。错切变换可以通过改变像素点在投影平面上的坐标来实现图像的扭曲。

图像错切变换属于图像的几何变换。图像错切错切变换包括水平方向错切变换和竖直方向错切变换。水平方向错切就相当于有一摞书,保持高度不变的情况下,从上层到下层,整体按照一定的比例(其实就是斜率)向左侧或者右侧移动。而竖直方向则可以看做是水平方向旋转了90°的结果而已。错切示意图如下图所示。由矩形变为平行四边形

另一种表达方式:

 

沿y轴错切

 

沿x轴错切 

 

http://www.lryc.cn/news/414038.html

相关文章:

  • xss漏洞(三,xss进阶利用)
  • git 迁移仓库的方法
  • C# Where关键字
  • 《计算机组成原理》(第3版)第1章 计算机系统概论 复习笔记
  • 达梦数据库的系统视图v$cachers
  • 电路元件基本知识详解
  • 从零开始写一个微信小程序
  • 07030405复杂可编程逻辑器件CPLD现场可编程阵列FPGA
  • 《雅思口语真经总纲1.0》话题实战训练笔记part1——5. Bus or taxi
  • 《工程检索增强生成系统时的七个失败点》论文 AI 解读
  • 每日一题——贪心算法
  • Artix7系列FPGA实现SDI视频编解码+图像缩放+多路视频拼接,基于GTP高速接口,提供4套工程源码和技术支持
  • HTTP 状态码详细介绍
  • React前端面试每日一试 5.什么是受控组件和非受控组件?
  • 代码随想录打卡第四十四天
  • 【JAVA】枚举类的使用:通过枚举类名称得到对应值进行输出
  • 20240731软考架构------软考6-10答案解析
  • 学习记录——day25 多线程编程 临界资源 临界区 竞态 线程的同步互斥机制(用于解决竟态)
  • [RK3566]linux下使用upgrade_tool报错
  • 系统架构师(每日一练13)
  • Error: No module factory available for dependency type: CssDependency
  • 【langchain学习】使用Langchain生成多视角查询
  • ASPCMS 漏洞详细教程
  • 二维码生成原理及解码原理
  • 云计算实训20——mysql数据库安装及应用(增、删、改、查)
  • 24年电赛——自动行驶小车(H题)基于 CCS Theia -陀螺仪 JY60 代码移植到 MSPM0G3507(附代码)
  • 数组的增删查查改
  • 设计模式——动态代理
  • vue(element-ui组件) 的this.$notify的具体使用
  • c++ - 模拟实现set、map