学习python对计算机图形学有用么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习python对计算机图形学有用么?相关的知识,希望对你有一定的参考价值。

任何语言实际上都是工具,只有顺手不顺手之分,python作为一种脚本语言,学习相对简单资料也很多,功能也很强大,主流的计算机图形学库都有python版本的api(如OpenCV),自己的库也很丰富,更重要的是可以作为各种语言之间的粘合剂来使用,也就是说可以尽量多的融合不同程序语种写出的程序到同一个项目中来,在主流的3D软件和后期软件中都以普遍支持了python作为脚本api。
传言说python执行效率不高,但我想这也分两说,因为毕竟属于脚本语言,随执行编译,多少都会有影响的,不过如果对于图形方面多是密集型运算的时候不妨单独用C++开发运算部分,python做其他管理部分还是很顺手的。
很有用,毕竟有时候也会应用在影视方面,速度也够快,维护也不像其他程序语言那样走编译流程,直接就可以执行。python是跨平台的,这点也挺重要。
参考技术A 不然Python出现了这么多年了,优点又那么多,口碑那么好,还是用的不多。要学Python的学过Python的不少,真正能把Python玩的行云流水的不多。

“会”这个概念太广了,如果学过其它语言再学Python,学会判断、循环、函数、对象……这些概念可以说不费吹灰之力,只是写法上有些不一样而已,理论上也可以用Python开发出任何需要的东西了。但这种“会”仅仅是会用Python写程序而已,还没有把Python的思想融会贯通,如果Python仅仅是写法上跟其它语言不一样,Python也失去存在的意义了。

我的OpenGL学习进阶之旅计算机视觉 VS 计算机图形学

PS: 本文摘自互联网几篇文章整合的内容。


计算机视觉、图形学和图像处理,三者有什么联系? 中有如下所示的描述:

先说区别

  1. Computer Graphics,简称 CG 。输入的是对虚拟场景的描述,通常为多边形数组,而每个多边形由三个顶点组成,每个顶点包括三维坐标、贴图坐标、rgb 颜色等。输出的是图像,即二维像素数组。

[xyz xyz xyz … xyz] -> 图片

  1. Computer Vision,简称 CV。输入的是图像或图像序列,通常来自相机、摄像头或视频文件。输出的是对于图像序列对应的真实世界的理解,比如检测人脸、识别车牌、区分猫狗。

图片 -> dog or cat?
图片 -> [xyz xyz xyz … xyz]

  1. Digital Image Processing,简称 DIP。输入的是图像,输出的也是图像。Photoshop 中对一副图像应用滤镜就是典型的一种图像处理。常见操作有模糊、灰度化、增强对比度等。

图片 -> ps后的图片

再说联系

1. CG 中也会用到 DIP,现今的三维游戏为了增加表现力都会叠加全屏的后期特效,原理就是 DIP,只是将计算量放在了显卡端。通常的做法是绘制一个全屏的矩形,在 Pixel Shader 中进行图像处理。

2. CV 大量依赖 DIP 来打杂活,比如对需要识别的照片进行预处理,增强对比度、去除噪点。

3. 最后还要提到今年的热点——增强现实(AR),它既需要 CG,又需要 CV,当然也不会漏掉 DIP。它用 DIP 进行预处理,用 CV 进行跟踪物体的识别与姿态获取,用 CG 进行虚拟三维物体的叠加。


图像处理(计算机图形学)和计算机视觉的区别和关系中是这样描述的

随着工业互联网的发展,图片处理计算机图形学计算机视觉的应用越来越多,两者有区别也有紧密联系,在此进行简单介绍,共同学习。

计算机图形学:图像处理

是对输入的图像做某种变换,输出仍然是图像,基本不涉及或者很少涉及图像内容的分析。比较典型的有图像变换,图像增强,图像去噪,图像压缩,图像恢复,二值图像处理等等。基于阈值的图像分割也属于图像处理的范畴。它一般处理的是单幅图像。

计算机视觉

试图用视网膜输入来做人脑的工作,是对图像的内容进行分析、提取出有意义的特征再对得到的特征进行分析和预测视觉输入,提取场景的语义表示从而让计算机具有人眼和人脑的能力。它处理的是部分单幅图像、多幅图像或者序列图像。

计算机图形学 和 计算机视觉 的关联


【Games 101 】中有如下所示的PPT

闫令琪老是说过: 一切需要猜测的基本都是计算机视觉。需要计算机去理解图像。


一图理解计算机视觉、计算机图形学、数字图像处理 中有如下表述:

这张图片有着科学工作者们都无法抗拒的简洁美感,使目前科技领域几个重要概念显得泾渭分明。我尝试结合自身的经验去解释下这张图:


一图理解计算机视觉、计算机图形学、数字图像处理 中是这样描述的:

计算机视觉人工智能的重要方向,数字图像处理计算机视觉的第一步,而计算机图形学,作为工具和平台支撑着数字图像处理计算机视觉的发展与应用。

数字图像处理

数字图像处理,输入是图片,输出也是图片。

包括数字成像与图像处理。

数字成像最广泛的应用是:

数码相机:把大自然中的光信号转化为数字信号,通过一系列计算机处理得过程后,通过显示设备再度呈现为图像。

图像处理最广泛的应用是各类P图软件。Prisma是去年火爆世界的一款软件,它通过深度学习,让机器掌握把各类艺术家的艺术风格,然后再把某种艺术风格施加到正常的照片,进而让照片成为“大师之作”。

计算机视觉

计算机视觉,输入是图片,输出是知识。

包括机器视觉和计算机视觉,机器视觉广泛应用于工业检测领域,目的是高精度的测量。

而计算机视觉,重在让计算机像人类一样,看懂一张照片或视频中的内容,具体内容请参考李飞飞演讲。

医学类的应用主要是把AI应用在医疗影像学上:

计算机图形学

计算机图形学,输入是知识,输出是图片。

计算机图形学最广泛的应用是计算机辅助设计软件CAD,它彻底改变了人类工程设计的习惯。

而在娱乐上,基于计算机图形学的现代电脑游戏,也已经深刻影响着人类的娱乐习惯。

人工智能

人工智能,输入是各类信息,输出是知识

低水平的人工智能已经广泛应用于人类生活生产中——智能控制系统。

高水平的人工智能,也就是具备深度学习能力的人工智能,在最近两年已经证明了其巨大的潜力:

学无止境,从构建知识体系架构开始吧。

参考链接

以上是关于学习python对计算机图形学有用么?的主要内容,如果未能解决你的问题,请参考以下文章

3D图形学理论入门指南

推荐几本这个系列封面的编程书,涉及Python计算机图形学Linux

我的OpenGL学习进阶之旅计算机视觉 VS 计算机图形学

我的OpenGL学习进阶之旅计算机视觉 VS 计算机图形学

什么是计算机图形学?

计算机图形学