计算机中的图形(Graphic)和图像(Image)

在计算机中处理的图像是经过”数字化”后的视觉图像,称为数字化图像

图像(Image):也叫位图,保存方式为点阵存储,也称为点阵图像或绘制图像

图形(Graphic):也叫矢量图,用数学方法描述存储,也称为面向对象的图像或绘图图像

图像(位图)以像素为基本单位,像素是指基本原色素及其灰度的基本编码,像素是构成数码图像的基本单位,通常以像素每英寸PPI为单位来表示图像分辨率的大小。例如 300x300 PPI分辨率,即表示 水平方向上和垂直方向上每英寸长度上的像素都是300,也可表示为一平方英寸内有9万个像素(300x300) ,分辨率越高,图像越清晰,暂用的空间越大。主要适用于照片或要求精细细节的图像,主要缺点是放大会失真。

图形(矢量图)是由矢量的数学对象定义的线条和曲线组成。例如:一个圆,用矢量表示只需要圆心坐标( x , y )和半径 r 这三个参数表示。主要用于描述一副画中所包含的基本图形,如 直线,圆,圆弧,矩形的大小和形状,也可用于更为复杂的形式表示图形中的曲面,光照,材质等效果。适用于文字,商标等规则的图形。矢量图主要优点是放大时不会失真。

图像文件格式是记录和存储影像信息的格式。对数字图像进行存储、处理、传播,必须采用一定的图像格式, 也就是把图像的像素按照一定的方式进行组织和存储,把图像数据存储成文件就得到图像文件。

图像文件格式决定了应该在文件中存放何种类型的信息,文件如何与各种应用软件兼容,文件如何与其它文件交换数据

图像图像的常用格式:

BMP(Bitmap)格式

BMP(位图格式):是DOS和WindowS兼容计算机系统的标准Windows图像格式。BMP格式支持RGB、索引颜色、灰度和位图颜色模式, 但不支持Alpha通道。BMP格式支持1、4、24、32位的RGB位图,对图像信息不压缩,占用磁盘空间大。

TIFF(TagImage File Format)格式

TIFF(标记图像文件格式)用于在应用程序之间和计算机平台之间交换文件。TIFF是一种灵活的图像格式,被所有绘画、图像编辑和页面排版应用程序支持。

几乎所有的桌面扫描仪都可以生成TIFF图像。而且TIFF格式还可加入作者、版权、备注以及自定义信息,存放多幅图像

JPEG(Joint Photographic Experts Group)格式

JPEG(联合图片专家组)是目前所有格式中压缩率最高的格式。大多数彩色和灰度图像都使用JPEG格式压缩图像,压缩比很大而且支持多种压缩级别的格式,当对图像的精度要求不高而存储空间又有限时,JPEG是一种理想的压缩方式。在WorldWideweb和其它网上服务的HTML文档中,JPEG用于显示图片和其它连续色调的图像文档。JPEG支持CMYK、RGB和灰度颜色模式。JPEG格式保留RGB图像中的所有颜色信息,通过选择性地去掉数据来压缩文件。
 
PDF(Portable Document Format)格式

PDF(可移植文档格式)用于Adobe Acrobat,Adobe Acrobat是Adobe公司用于Windows、UNIX和DOS系统的一种电子出版软件,十分流行。与Postseript页面一样,PDF可以包含矢量和位图图形,还可以包含电子文档查找和导航功能。

PNG(Portable Network Graphic Format)格式

PNG 图片以任何颜色深度存储单个光栅图像。

PNG 是与平台无关的格式。

优点:
PNG 支持高级别无损耗压缩。
支持 alpha 通道透明度。
PNG 支持伽玛校正。
PNG 支持交错。
PNG 受最新的 Web 浏览器支持。

缺点:
较旧的浏览器和程序可能不支持 PNG 文件。

作为 Internet文件格式,与 JPEG 的有损耗压缩相比,PNG 提供的压缩量较少。作为 Internet 文件格式,PNG 对多图像文件或动画文件不提供任何支持

GIF(Graphic Interchange Format)格式

GIF(图像交换格式)是一种LZw压缩格式,用来最小化文件大小和电子传递时间。分为静态GIF和动态GIF,在WorldWideWeb和其它网上服务的HTML(超文本标记语言)文档中,
GIF文件格式普遍用于现实索引颜色和图像。GIF还支持灰度模式,采用256色压缩文件格式,最多只能存储256色的图像,但已经能满足一般的需要,且占用空间较小,背景可透明,也可做成动画图片。

计算机中图像的表示

图像表示是图像信息在计算机中的表示和存储方式。图像表示和图像运算一起组成图像模型,是模式分析中的重要组成部分

最简单的图就是单通道的灰度图。在一张灰度图中,每个像素位置 ( x , y ) 对应一个灰度值I,图像在计算机中就存储为数值矩阵。

一张宽度为640像素,高度为480像素分辨率的灰度图就可以表示为:

unsigned char image[480][640]

为什么这里的二维数组是 480 × 640 呢?因为在程序中,图像以一个二维数组形式存储。它的第一个下标则是指数组的行,而第二个下标是列。在图像中,数组的行数对应图像的高度,而列数对应图像的宽度。

当我们访问某一个像素时,需要指明它所处的坐标,请看下图:


左边显示了传统像素坐标系的定义方式。一个像素坐标系原点位于图像的左上角,X 轴向右,Y 轴向下(也就是前面所说的 u, v 坐标)。如果它还有第三个轴的话,根据右手法则,Z 轴应该是向前的。这种定义方式是与相机坐标系一致的。我们平时说的图像的宽度和列数,对应着 X 轴;而图像的行数或高度,则对应着它的 Y 轴。

根据这种定义方式,如果我们讨论一个位于 x ,y 处的像素,那么它在程序中的访问方
式应该是:

unsigned char pixel = image[y][x];

来源:CSDN,作者:幸福在路上wellbeing
原文:https://blog.csdn.net/xingfuyusheng/article/details/81564038
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章