CV新手的一些细节点记录

embedded/2024/10/11 13:26:57/

文章目录

前言

一、CV是什么?

二、细节点记录

1.图像坐标与图像矩阵

2.透视变换

总结


前言

很早之前就听闻计算机视觉,尔后又听闻机器学习,一个个高大上的大名,让人有种可望而不可及的感觉。

某日入坑其中,其实和学习其他领域知识类似,都是从基础概念入手,开始看似简单,但是各种基础概念,可能还需要其他学科基础(如数学),也是让人一时难以深入其中。

又某日,有些概念终于理清,故在此记录。


一、CV是什么?

CV即Computer Vision,计算机视觉。近几年很火的人脸识别、自动驾驶都需要用到CV,比较传统的应用还有图像分类、图像识别等等。

目前高端版CV则是利用机器学习、深度学习来实现CV应用,但是传统的CV基础、算法依旧有用武之地。

二、细节点记录

1.图像坐标与图像矩阵

图像一般就是二维的,而且一般的会设定图像的坐标原点在图像的左上角

现假设有一张图片宽1000像素,高700像素。

图片上某个点的坐标就是(x,y),这里x对应宽、y对应高。那么图像原点的对角线坐标就是(1000,700)。通过很多看图软件都可以看到点的坐标。


接下来,我们假设通过cv2或plt读取图片,此时会返回一个img对象,类型就是矩阵。

如果是RGB三通道图,那么img的shape就是(700,1000,3),即这里形状是(高,宽,通道数)

如果是灰度图,那么img的shape就是(700,1000),即这里形状是(高,宽),差别就是没有通道信息,但是前面部分都是(高,宽)

这样,要访问图像上某个点,即img[x,y],x对应高、y对应宽,和图像普通意义上的坐标是反的。

2.透视变换

透视变换是将图片投影到一个新的视平面,可用于修图,比如实际物体是直线的,通过相册拍摄以后成了曲线的,就可以通过透视变换将照片转换为直线的。

透视变换可以通过提供4组坐标点(原图、目标图),计算出变换矩阵,从而实现将原图变换为目标图。

这里4组坐标点,其实是普通坐标点,即(宽,高)形式的坐标,而非图像的矩阵点。

利用透视变换,可以很容易的实现图片旋转。给出原图4个角的坐标、再给出旋转后的4个角的坐标,即可计算出变换矩阵,进而求出旋转后图像。


总结

CV领域其实内容很多,学习也是一点一滴积累,这篇文章也会随着学习不断去维护和完善的。


http://www.ppmy.cn/embedded/13306.html

相关文章

网络基础-TCP/IP和OSI协议模型

一、OSI和TCP/IP模型 二、OSI七层模型 三、TCP/IP模型 参考:https://www.cnblogs.com/f-ck-need-u/p/7623252.html

国产系统注意事项

一、麒麟系统关闭安全限制: 麒麟关闭kysec 安全模块: - vim /etc/default/grub - securitykysec” 修改为“ security ” - update-grub - reboot - 查询状态 getstatus 如果不关闭安全限制可能会无法安装下载东西。 二、设置ssh密钥VsCode远程虚拟机…

使用jQuery实现无缝滚动的区域

在网页设计中,经常需要展示一些内容,比如新闻、图片、通知等,而滚动展示是一个常见的展示方式。本文将介绍如何使用jQuery实现一个无缝滚动的区域,让内容能够持续滚动展示,并且在滚动到最后一个内容时能够无缝地回到起…

从0开始学人工智能测试节选:Spark -- 结构化数据领域中测试人员的万金油技术(二)

Dataframe dataframe 是spark中参考pandas设计出的一套高级API,用户可以像操作pandas一样方便的操作结构化数据。毕竟纯的RDD操作是十分原始且麻烦的。而dataframe的出现可以让熟悉pandas的从业人员能用非常少的成本完成分布式的数据分析工作, 毕竟跟数据…

2024年 团体程序设计天梯赛个人总结

前言: 这是一个悲伤的故事~ 🏆题目传送门 ⭐L1一阶题⭐L1-097 编程解决一切(5分)⭐L1-098 再进去几个人(5分)⭐L1-099 帮助色盲(10分)⭐L1-100 四项全能(10 分&#xff0…

janus架构学习

基础介绍 Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器,它支持在Linux的服务器或MacOS上的机器进行编译和安装。Janus 是使用C语言进行编写的,它的性能十分优秀。 架构 janus为sfu架构 模块结构图 模块说明 core模…

MySQL主要内容

1,在表中插入数据 插入值的类型,必须和字段的类型保持一致 - 如果数据类型是字符串,必须引号引起来,数字的话,可以不加 - 插入的数据顺序和字段的顺序必须保持一致 格式一:向表中插入数据 insert in…

前端遇到的问题

1.window.οnlοadfunction(){} 和 $(function(){}); window.onload是js原生事件&#xff1b; $(function(){})是JQuery的方法&#xff1b; 实例&#xff1a;jsp中的元素 $ {html}是通过VelocityEngine生成的html元素 <% page contentType"text/html;charsetUTF-8&qu…