机器视觉基础知识

定义

计算机视觉:一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。

图像和视频的基础知识

图像:彩色图像中,图像用二维矩阵表示,矩阵中的元素是RGB的值,每个值占一个字节(8位),值得取值范围是0~255。

三通道是用(255,0,0)代表红色,(0,255,0)代表绿色,(0,0,255)代表蓝色。

灰度图像中每个元素只有一个通道。(把白色与黑色之间按对数关系分为若干等级,称为灰度。)

分辨率:高像素*宽像素,如1080*1440分辨率

DPI(Dots Per Inch,每英寸像素点数) :通过DPI和像素可以求出图片的实际尺寸,如1080*1440分辨率,DPI96,那么图片实际高为1080/96 = 11.25英寸,宽为1440/96=15英寸。 

图片清晰程度不是由像素决定,而是用DPI来决定,DPI越大,清晰度越高。

图像深度:一张400*400的8位图,这张图的原始数据量是:400 * 400 * ( 8/8 )=160,000Bytes 

图像格式与压缩:常见的图片格式JPEG,PNG,BMP等本质上都是图片的一种压缩编码方式

视频:原始视频=图片序列。

I帧:表示关键帧,可以理解为这一幅画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)

P帧:表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。

B帧表示双向差别帧,记录的本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,要通过前后画面与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码比较麻烦。

CPU和GPU

CPU 跟 GPU 的差别主要在哪里呢? 它们的差别主要可以在两个方面去对比,第一个叫性能,第二个叫做吞吐量。 

低延时性就是当你的性能越好,你处理分析的效率越高,相当于你的延时性就越低

吞吐量的意思就是你同时能够处理的数据量。 

CPU 它是一个高性能,就是超低延时性的,他能够快速的去做复杂运算,并且能达到一个很好的性能要求。

GPU是以一个叫做运算单元为格式的,所以他的优点不在于低延时性,因为他确实不善于做复杂运算,他每一个处理器都非常的小,相对来说会很弱,但是它可以让它所有的弱处理器,同时去做处理,那相当于他就能够同时处理大量的数据,那这个就意味着它的吞吐量非常大,所以 CPU重视的是性能,GPU重视的是吞吐量。

所以大部分时候,GPU 他会跟另外一个词语联系在一起,叫做并行计算,意思就是它可以同时做大量的线程运算,为什么图像会特别适合用 GPU 运算呢?这是因为 GPU 它最开始的设计就是叫做图形处理单元,它的意思就是我可以把每一个像素,分割为一个线程去运算,每一个像素只做一些简单的运算,这个就是最开始图形处理器出现的原理。 

它要做图形渲染的时候,要计算的是每一个像素的变换。所以每一个像素变换的计算量是很小很小的,可能就是一个公式的计算,计算量很少,可以放在一个简单的计算单元里面去做计算。 

来源:CSDN,作者:左岸先生
原文链接:https://blog.csdn.net/weixin_40716512/article/details/81113791
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章