和托托一起学计算机图形学(一)-初识计算机图形学

news2024/11/22 21:37:31

文章目录

  • 初识计算机图形学
    • 一、计算机科学与视觉信息处理
    • 二、计算机图形学的应用
    • 三、总结
  • 数字图像基础
    • 一、像素
    • 二、RGB和CMY颜色模型
    • 三、颜色编码
    • 四、查色表
    • 五、图像文件
    • 六、总结

初识计算机图形学

一、计算机科学与视觉信息处理

计算机图形学:建模(建立模型)和成图(生成图像)

图像处理:对视觉信息进行处理加工

计算机视觉:对视觉信息进行识别辨认

计算机图形学与图像处理和计算机视觉的区别,可以用一本书来举例说明。

如果要在并非真正拥有该书的情况下,制作一幅它的图像,我们需要借助计算机图形学。

然而如果已有一幅该书的图像,只是想对图像进行改动,以突出书的外轮廓,我们则需要使用图像处理技术。

如果要以一幅书的图像作为输入信息,而由计算机识别出图中的物体,并作出图中有一本书的报告,我们就进入了人工智能的领域之一,计算机视觉。

二、计算机图形学的应用

图形学有着近乎无数的实际应用,首先点击式图形化用户界面(graphical user interface GUI)使得计算机在使用上既简单又直观,从而变成了普通家电。在演示图(又称商务图)方面,人们将数据或者信息以图表的形式表达,例如用直方图表示股票的开盘高低,收盘价格,用饼图表示各类产品的营业额,利润成本分布用块状图表示企业机构各部门的隶属与业务关系,以及用流程图表示工程程序,各步骤在时间上的相互制约,这比一满页数字和文字更能直观传达出一种在结构走向和比例上的感觉。在计算机辅助设计方面,计算机图形学使工程师无需创造实物,而能以设计数据为基础,在计算机上产生一个玩具,一座房子,一辆汽车或一架飞机的途径,低成本高效率的帮助验证设计方案,在科学数据形象化方面,科学家用色调和亮度作为视觉提示手段,来帮助揭示数据的内在模式和突出表现至关重要的信息,例如给一个用数学方法定义的曲面或立体着色,可为了解其形状和形态提供一个独特的观察思想思考角度,一段采用有特定含义的颜色产生的计算机模拟的燃烧室内井动画,可生动的显示器。热分布情况在数字化艺术和娱乐方面,计算机图形学为艺术家的创作想象提供了新天地,使他们能创造出表现像恐龙这样无人却知其真实相貌的物体的电子游戏和电影。

三、总结

  • 计算机图形学,图像处理和计算机视觉分别涉及视觉信息的 产生处理加工识别

  • 产生视觉信息又称 成图(图像合成)

  • 计算机图形学的两个主要部分是 建模成图

  • GUI代表 Graphical user interface.

  • 列出除GUI以外的计算机图形学的四项应用 演示图计算机辅助设计科学数据形象化数字化艺术和娱乐

数字图像基础

一、像素

一副数字图像简称图像,是由离散的图像元素及构成该图的原始构造单元所组成的,这些图像元素叫做像素。它们一般以行与列的方式分布组成一个格子型的长方形,图像区域常称为图山,在计算机合成图像这一任务,从本质上讲是计算每一个像素的颜色特征,呈现不同颜色特征的像素的综合效应,生成一幅我们看到的图像。图像的大小通常以横向像素总数乘以纵向像素总数的方式来表示,如512*512。

计算机系统中专门用来存放正在合成或显示图像的存储器,通常称为帧缓冲器,一副图像中的像素与帧缓冲器中的像素,都可以将其坐标设置为地址或者索引,一个典型做法是把位于左下角的像素放在像素坐标系的原点(0,0)于是一副800×600的图像或一个800×600的帧缓冲器右下角的像素,坐标是(799,0),而位于右上角像素的坐标则为(799,599)。

二、RGB和CMY颜色模型

对图像处理而言,RGB是最为重要和常见的颜色模型,它建立在笛卡尔坐标系中,以红、绿、蓝三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,俗称三基色模式。
RGB颜色空间是用一个单位长度的立方体来表示颜色的,黑蓝绿青红紫黄白8种常见颜色分别位居立方体的8个顶点,通常将黑色置于三维直角坐标系的原点,红绿蓝分别置于3根坐标轴上,整个立方体放在第1卦限内。如下图1所示。而其中的青色与红色、紫色与绿色、黄色与蓝色是互补色。各参数的取值范围是:R:0-255;G:0-255;B:0-255。参数值也称为三色系数或基色系数或颜色值,除以255后归一到0-1之间,但不是无穷多个而是有限多个值。由于每个灰度级都定为256,所以,红绿蓝分量全部组合起来共可表示2563=16777216种不同的颜色。它比人眼能分辨的颜色种数多得多。因此,虽然自然界中的颜色非常多,但用RGB颜色空间来近似表达自然界中的颜色是完全够用了。

在这里插入图片描述

用RGB颜色模型指定颜色是个添加的过程,我们以黑色为起点,加上适量的颜色成分来产生某种想要的颜色,这与许多显示设备的工作原理十分匹配,在没有其他颜色可显示时,我们看到的是黑色。另一方面还有一个与RGB颜色模型互补的CMY颜色模型,后者采用减去法指定颜色与各种打印设备的工作原理相配,在无物可验时,我们看到的是白色打印纸的正常颜色,这是由于打印纸将来自光源,通常是白色的三原色全部反射到我们眼中。

CMY颜色模型中,CMY是青(Cyan)、洋红(或品红)(Magenta)和黄(Yellow)三种颜色的简写,加上黑色(Black),即为CMYK相减混色模式,用这种方法产生的颜色之所以称为相减色,乃是因为它减少了为视觉系统识别颜色所需要的反射光。

RGB和CMY之间的转换:

在这里插入图片描述

三、颜色编码

直接编码法:

RGB
000黑色
001蓝色
010绿色
011青色
100红色
101紫色
110黄色
111白色

我们可以分给每个像素三个二进制数位,其中每一位对应一种原色。这个三位表示法,允许RGB三原色相互独立的在0(关)或1(开)两种强度等级之间变换,因此每个像素能呈现对应于RGB颜色,立方体8个角的8种颜色中的任何一种。

工业编码:

工业界广泛采纳的标准是每个像素三个字节,也就是24个二进制数位,其中每一字节对应一种颜色,照此法我们允许每一原色拥有256种不同强度等级对应于从00000000~11111111的二进制数值。于是每个像素能呈现256×256×256或16 777 216种可能选择中的任何一种颜色。这个24位表示形式,有时称为真实颜色表示法。原因是在一般观看条件下,两种仅在一个或多个原色成分上。有一个强度等级之差的颜色是几乎无法区分的,于是从看到的颜色准确度方面讲,使用更多二技术位的更精确的表示法,基本上是不必要的。

黑白编码:

直接编码有一个值得注意的特别情形,那就是二值(黑与白)与灰度图像的表示。这类图像的三个颜色成分总是等值,因而不需要分别编码。对黑白图像来讲,每个像素只要一个二级数位,其中0代表黑色,1代表白色。编码格式是每个像素8个二进数位,用来实现256种强度或灰度等级。

虽然直接编码法既简单又支持多种应用,但是它的24位标准对存储空间有较高的需求,例如一副1000×1000真实颜色图像要占用300万个字节。此外即使该图像的每个像素都有独特的颜色,图像里也只有100万种颜色,对许多应用来讲,出现在每幅特定的图像的颜色,数目要明显少于100万。因此标准的24位表示法可以表示一幅图像里同时出现1,670万种不同颜色的能力,看起来有些大材小用。

四、查色表

使用查色表进行图像表示可以说是我们的双重愿望,愿望之一是降低存储需求,愿望之二是支持尽可能多的能同时出现在一幅图像里的颜色。在这里像素时并不直接表示颜色,而是代表一个色纸表的地址或索引,每一个像素的颜色由该像素值所指向的表里的颜色值所决定。

每一个像素点不再存储颜色,而是存储类似于指针指向查色表的地址。

表值24位,表长256的查色表表示法是一个广泛使用的工业标准,通常称为8位表示法。使用这种方法,可以将一副1000×1000的图像存储需求减少到100万字节,外加查色表中颜色值所需的768字节。这256种可以同时出现在一幅图像里的颜色,则来自1,670万种可能的选择。

查色表表示法的要点是:一幅图像不仅有它的像素值,还有与其相应的查色表中的颜色值,所对应这些颜色值,组成该图像的颜色映射图

  • 查色表动画

查色表表示法的一项有趣的应用称为查色表动画,这项技术改变了一个表项的内容,同时影响了许多的像素,于是我们用查色表为捷径来改变一幅显示中的图像,而不是用比较费时的将一个新的颜色值送到帧缓冲器中多个像素的方式。举例来说,我们可以将一个物体几个预先确定的位置上画入帧缓冲器,每个位置占用一个或多个连续的表项,对应位置零的表象是该物体颜色的初始值,所有其他表象则设置为背景色,这就意味着该物体开始时只要出现在位置零,此刻假如我们将该物体颜色复制到位于位置一的表项,并把对应于位置,零的表象重设为背景色,我们就在没有重画,该物体图像的情况下,把它从位置零移到了位置一将该物体的颜色轮转移位。则使该物体看起来像是一边自转,一边绕显示中心旋转。

五、图像文件

数字图像常以二进制文件的方式保存,以便于存储和运输,在多种多样的文件格式中有视窗位图BMP(.bmp),联合图像专家组文件互换格式JPEG(.jpg)及标记图像文件格式TIFF(.tif),彩色图像文件格式(.gif)虽然这些格式在技术细节上有差异,他们的结构上却有相似之处。

格式/版本标识
图像宽高(以像素数目计算)-
图像类型
图像数据格式-
压缩类型
其他-
颜色映射图图像
像素值数据

文件主要由两大部分组成:文件头和图像数据。位于文件投资手的是指明该文件格式的二进制代码或 ASCII字符串。可能还附有版本序号。图像的宽与高以像素数目的方式给定,常见图像类型包括黑白,8位灰度,8位彩色及24位彩色。图像数据格式则指定像素值在图像数据部分的存放次序。通常使用的存放次序是从左到右自上而下,另一种可能的次序是从左到右自下而上,图像数据格式还指明颜色映射图或图像中的RGB值是否交错出现,也就是查色表的存储结构。

颜色值以交错方式出现,就意味着对应于每一个查色表项或像素的三个原色成分被连续存放。接着是对应于下一个查色表表项或像素的三个原色成分。

颜色值以非交错方式出现,就意味着对应于所有查色表表项或像素的一个原色成分首先出现,接着是下一个原色成分。

图像数据部分的颜色值可以用压缩算法进行压缩,例如行程编码RLE。形成编码的基本概念,可以通过一个占用12字节存储空间的字符串“xxxxxxyyzzzz”来阐明。如果我们从左到右查看该字符串,寻找由重复字符组成的段落,并把每一段换成一个占用一字节的重复技术,再加上被重复的字符,我们就把给定的字符串转换或压缩成只占用6个字节的"6x2y4z"。这个压缩版可以通过重现跟在每个重复计算后的字符的方式进行拓展或还原,恢复原始的字符串。这种100%的原物再造使RLE成为一种无损的压缩方法。它压缩技术,如JPEG标准所用的离散余弦变换法则,因真实原件不能从压缩版恢复而被称为有损压缩方法。

文件头的长度通常是固定的,否则就有必要将长度信息放入文件头,以指明图像数据部分的起点。另一方面图像数据部分的各个组成部分的长度,则取决于图像类型,压缩方法等因素,这些信息以及其他与具体格式有关的信息都可在文件头中找到。

六、总结

  • 数字图像的原始构造单元是图像元素。

  • 横向与纵向单位长度上像素的数量是图像的分辨率。

  • 计算一幅有1024×768个像素,且大小为4×3英寸的图像的分辨率:1024/4=768/3=256个像素。

  • 宽度与高度的比率是图像的纵横比。

  • 一幅纵横比为1.5的,图像的高度为两英寸,其宽度为三英寸。

  • 如果我们要将一幅大小为1024×768个像素的图像调整为宽度为640个像素的图像,并保持纵横比不变,调整后的图像的高度为:640*768/1024=480。

  • 能否将一副5×3又1/2英寸的图像,以6×4英寸的大小呈现,而不引起几何失真?不能,会引起纵横比失协。

  • 如果我们要在一幅800×600的图像的中央切出一副512×512的局部图像,什么是位于局部图像左下角的像素在原始图像下的坐标?((800-512)/2,(600-512)/2)=(144,44)。

  • 找出在RGB颜色空间位于(0.2,1, 0.5)的颜色的CMY坐标:(1-0.2,1=1,1-0.5)=(0.8,0,0.5)。

  • 找出在CM外颜色空间位于(0.15,0.75,0)的颜色的RGB坐标:(1-0.15,1-0.75,1-0)=(0.85,0.25,1)。

  • 如果用每原色两个二进数位的方式表示RGB颜色值,一共有多少种可能的颜色?如果每原色10个二进制数位呢?:2²×2²×2²=64;210×210×210=10243=1073741824>10亿。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/625223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka-Eagle安装及连接成功web端登陆不了问题解决

kafka自身并没有集成监控管理系统,因此对kafka的监控管理比较不便,好在有大量的第三方监控管理系统来使用,常见的有: Kafka EagleKafkaOffsetMonitorKafka Manager(雅虎开源的Kafka集群管理器)Kafka Web C…

1.7 基于XML配置方式使用Spring MVC

一、基于XML配置与注解的方式使用Spring MVC 1、创建Maven项目 Maven项目 - SpringMvcDemo01 单击【Finish】按钮 2、添加相关依赖 在pom.xml文件里添加支持Spring MVC的相关依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmln…

excel学习--开始界面控制台讲解

1、部分基础控制台讲解 上面的那行表示垂直居中 下面的那行表示水平居中 上面设置表格内容的表现方向 下面设置表格内容的缩进量 合并单元格的两种主要方式即左图所示&#xff0c;一种是跨越合并&#xff0c;另一种是合并单元格&#xff0c;跨越合并只能进行列合并&#xff0c…

09 - Linux进程层次分析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. 详解Linux进程组1.1 Linux进程组1.2 进程组示例程序1.3 编程实验&#xff1a;Linux进程组1.4 深入理解进程组1.4.1 进程组标识设置技巧…

【算法题解】35. 两两交换链表中的节点

这是一道 中等难度 的题 https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff…

LVS负载均衡群集及VS/NAT部署

一、企业群集应用概述 1.群集的含义 群集&#xff08;Cluster&#xff09;&#xff0c;又称集群。由多台主机构成&#xff0c;但对外只表现为一个整体&#xff0c;只提供一个访问入口&#xff08;域名或IP地址&#xff09;&#xff0c;相当于一台大型计算机。 但是在互联网应…

htmlCSS-----元素类型

目录 前言&#xff1a; 元素类型 1.块级元素 2. 行内元素 3. 行内块元素 前言&#xff1a; 今天我们就学习CSS中的元素的类型&#xff0c;了解网页元素类型的相关性质&#xff0c;有助于我们去对网页进行排版处理。下面就一起去看看吧。 元素类型 常见元素类型有&#xff…

又壕又实惠的 AI 训练来了,Hugging Face 第一的 LLM 大模型 Falcon 40B 纳入亚马逊云科技服务

出品 | CSDN 云计算 2023 年&#xff0c;几乎是 AI 爆炸式发展的一年。各类大模型接踵而至&#xff0c;全行业都将 AIGC 融入生产流程&#xff0c;以提升效率。最近&#xff0c;阿联酋首都阿布扎比的科研中心 TII&#xff08;Technology Innovation Institute&#xff09;拥有 …

制氧机语音芯片新方案,高品质低功耗NV040C语音IC

在医疗设备行业中&#xff0c;制氧机是一种常见的设备&#xff0c;尤其在之前疫情期间&#xff0c;制氧机甚至成为了医院中不可或缺的设备之一。而在制氧机中加入语音芯片的语音方案&#xff0c;则可以进一步提高其人机交互的体验&#xff0c;增强其功能和可靠性。在制氧机中&a…

超超超详细C++入门总结

C入门知识总结 1.什么是C2. C关键字(C98)3.命名空间3.1命名空间定义1.命名空间的普通定义2.命名空间的嵌套定义3.同一个工程中允许存在多个相同名称的命名空间&#xff0c;编译器最后会合成同一个命名空间 3.2命名空间的使用1.加命名空间名称以及作用域限定符2.使用using将命名…

Flume事务

Flume事务 在Flume中一共有两个事务 Put事务&#xff1a;在Source组件和Channel组件之间&#xff0c;保证Source组件到Channel组件之间数据传递的可靠性。 take事务&#xff1a;在Channel组件和Sink组件之间&#xff0c;保证channel组件到Sink组件之间数据传输的可靠性。Put事务…

算法拾遗三十二bfprt算法,蓄水池算法

算法拾遗三十二bfprt算法&#xff0c;蓄水池算法 在无序数组中求第k小的数快排解法bfprt解法 练习题目蓄水池算法bfprt 应用 在无序数组中求第k小的数 快排解法 // 改写快排&#xff0c;时间复杂度O(N)// k > 1public static int minKth2(int[] array, int k) {int[] arr …

HNU计算机图形学-作业一

任务一&#xff1a;创建交互式三维场景 前言 完整工程文件 具体运行环境配置看这个栏目的第一篇文章 专选课计算机图形学的第一次作业&#xff0c;老师是第一次给本科生上课&#xff0c;用的作业是香港中文大学的计算机图形学的作业内容&#xff08;老师就是这个学校毕业&a…

软件测试方法 -- 等价类边界值

测试用例的定义 测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果&#xff0c;以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果&#xff0c;他是指导测试工作进行的依据。 下面我们介绍几种常用的黑盒测试方法 等价类划分法 定…

微信小程序实用工具——渐变色按钮(一)

今日推荐&#x1f481;‍♂️ 2023五月天演唱会&#x1f3a4;&#x1f3a4;&#x1f3a4;大家一起冲冲冲&#x1f3c3;‍♂️&#x1f3c3;‍♂️&#x1f3c3;‍♂️ 文章目录 今日推荐&#x1f481;‍♂️&#x1f3d6;️开头介绍 &#x1f468;‍&#x1f3eb;1️⃣ 按钮一…

【数学建模】 非线性规划+二次规划

非线性规划概念和实例 如果目标函数或约束条件中包含非线性函数&#xff0c;就称这种规划问题为非线性规划问题。一般说来&#xff0c;解非线性规划要比解线性规划问题困难得多。而且&#xff0c;也不象线性规划有单纯形法这一通用方法&#xff0c;非线性规划目前还没有适于各…

大咖驾到:XR云新未来|弹性算力赋能可交互、沉浸式商业实践

活动背景 XR市场作为数字化经济的重要发展方向&#xff0c;成为各大企业竞相布局的焦点。技术的进步和应用场景的扩大&#xff0c;为企业抢占XR市场先机、实现商业化带来了巨大机遇&#xff0c;同时也带来了技术挑战和成本压力。如何在竞争激烈的市场中脱颖而出&#xff0c;成…

【每日挠头算法题(3)】字符串解码|数组中重复的数字

每日挠头算法题 一、字符串解码思路&#xff1a;栈具体代码如下&#xff1a; 二、数组中重复的数字思路1&#xff1a;计数法具体代码如下&#xff1a; 思路2&#xff1a;原地交换法具体代码如下&#xff1a; 总结 一、字符串解码 点我直达~ 思路&#xff1a;栈 这道题怎么看都…

python 爬虫某东网商品信息 | 没想到销量最高的是

哈喽大家好&#xff0c;我是咸鱼 好久没更新 python 爬虫相关的文章了&#xff0c;今天我们使用 selenium 模块来简单写个爬虫程序——爬取某东网商品信息 网址链接&#xff1a;https://www.jd.com/ 完整源码在文章最后 元素定位 我们需要找到网页上元素的位置信息&#x…

Spring内容

(195条消息) 超高频面试题系列之----Spring全家桶&#xff08;面试亲测&#xff09;_spring全家桶面试题_zyyn_未来可期的博客-CSDN博客 1、推断构造方法&#xff1a; &#xff08;1&#xff09;如果只有一个构造方法&#xff0c;没问题就用这个 &#xff08;2&#xff09;如…