书籍详情

Visual C++数字图像与图形处理

Visual C++数字图像与图形处理

作者:向世明编著

出版社:电子工业出版社

出版时间:2002-01-01

ISBN:9787505374119

定价:¥58.00

购买这本书可以去
内容简介
  本书采用面向对象的方法介绍数字图像和图形处理的实用编程技术,共分两部分。第一部分以实用图像处理程序设计为主题,内容包括基本的图像空域处理方法、合成技术、几何变换技术、形态学操作、光栅操作、切换特技等。第一部分同时建立图像处理类层次体系结构。第二部分以标准的三维图形程序设计为主题,内容包括基元、次物体、几何拓扑、图形学变换、可见性测试、颜色缓冲、深度缓冲、光源、材质、光照明计算、着色等图形学基本技术。第二部分重点说明图形开发的基本过程。本书基于标准的图形技术开发路线,以类的形式重组了计算机图形学的基本知识。既能使读者从中体验图形开发的整个过程,也便于读者获取所需要的代码。本书作者多年来致力于计算机图形图像学的研究,本书特别适合于具有计算机图形学和数字图像处理基本知识的计算机软件开发人员和工程技术人员等阅读。前言我们生活在一个热衷于用图形和图像表达信息的时代。以图形开发和图像处理为基础的可视化技术通过大众媒体、计算机、网络等使人人都成为受益者。图形设计和图像处理技术迅猛地推动着传统行业的革新和新行业的萌芽,各个地区成千上万的人们,技术的和非技术的,都在从事与图形和图像相关的活动。现实的确是这样的。人人都为设计师或程序员所创作的美妙绝顶的画面激动不已。或许,我们正在尝试3DStudioMAX、MAYA、Painter、CorelDRAW、Photoshop。事实上,它们是表达定性设计或任务显示的首选工具。然而,作为程序员,大多数情况下我们所处理的是定量的数据。当想以“走捷径的方式”来完成特定的定量任务时,我们感到:这些“高级工具”无一例外地不能达到这样的技术层面:“任何时候我们正在做的就是我们所想要的”。我们转而求助于诸如OpenGL、Direct3D、Java3D等3DAPI。然而当我们去使用它们设计一个场景时,才会真正感觉到缺少什么。我们应该思索:图像处理和图形设计的底层技术是什么?我们可能选择以图像为主的技术开发之路,也可能选择一条以图形为主的技术开发之路。无论怎样,成功时的喜悦,无助时的沮丧将始终伴随着我们。当我们走得越远,一些技术性的难题就迎面而来。而且往往是解决得越多问题反而越多。比如,一方面,我们想尽办法提取出图像中的运动目标,获取了它们的特征数据;另一方面,却面临一个新的问题:如何重建其三维真实感图形。当用获取的数据绘制真实感图形时,大多数情况下所需要的信息是远远不够用的,这时就不得不求助于一些高级的图形绘制技术。图像和图形是密不可分的。图像处理与分析技术和图形绘制技术相结合,为一些重大问题的解决提供了广阔的思路。事实上,计算机视觉、模式识别、虚拟仿真等领域正卓有成效地实践着这条技术路线。本书将一切从零开始与读者一起进行图像和图形编程。我们将亲自建立所有的东西:建立一个图像处理类层次体系,建立自己的图形基元、光照计算系统和三维物体着色工具。本书基于标准的图形技术开发路线,以类的形式对计算机图形学的基本知识进行了组织。一方面,便于读者从中体验图形开发的整个过程;另一方面,也便于读者获取所需要的程序代码。比如,读者如需要图形变换程序,可直接从整个类体系中提取独立的CMatrix3D类。我们力求采用图像处理和图形设计的新方法和新思路,并准备将图像处理和图形设计结合起来。我们力求使每一个类都具有实用性、开放性和可移植性。的确,本书的工作仍然很有限。但是,实践即将开始。作者的水平是有限的。书中必然有错误,请读者一定指出。当完成本书的阅读后,读者也许会接受书中的全部或部分程序,也许会按自己的思路对其加以改进。无论如何,都是我们所鼓励和希望的。这正是本书的目的。作者的Eemail为xsm99@263.net,欢迎读者提出宝贵意见。参加本书编写工作的同志还有:上海交通大学的邓爱平、华中理工大学的杨克升、曾洪涛、武汉佳特设计资讯有限公司的曹淮、武汉鸿象信息技术公司的张玲、武汉适普公司的谢凌森、武汉天喻信息产业有限责任公司的王峰、西南交通大学的李开海、重庆大学的钟佑明、重庆邮电学院的潘显兵、重庆工学院的张朝辉等同志。在此作者再一次向他们表示深深的感谢。最后,作者还要诚挚地感谢电子工业出版社的领导和计算机图书事业部的编辑,他们为本书的出版付出了很多艰苦的劳动。
作者简介
暂缺《Visual C++数字图像与图形处理》作者简介
目录
第0章 介绍
0.1 谁是本书的读者
0.2 从本书获得什么
0.3 开发环境
0.4 本书的特点
0.5 本书的内容
0.6 本书是如何组织的
0.6.1 图像处理类层次结构
0.6.2 三维图形设计类体系
0.6.3 两个重要的头文件
0.6.4 实例名称及其分布结构
0.7 两套解释方法
0.8 如何列示代码
0.9 关于本书附带的CD-ROM
第1章 位图——通向图像处理和图形设计的桥梁
1.1 设备无关位图(DIB)
1.1.1 DIB的数据组织
1.1.2 操作DIB
1.2 处理DIB的CDib类
1.2.1 建立DisplayMode项目
1.2.2 CDib类
1.3 设备相关位图(DDB)
1.3.1 操作DDB
1.3.2 处理DDB的CDdb类
1.3.3 颜色量化
1.3.4 将DDB保存为DIB
1.4 响应用户对显示模式的设置
1.5 数据转换
1.5.1 问题是什么
1.5.2 数据转换CFormatDdbData类
1.5.3 将24位DDB数据转换为16位或32位DDB数据
1.5.4 将24位DDB数据转换为8位DDB数据
1.5.5 将32位DDB数据转换为8位、16位或24位DDB数据
第2章 图像点处理
2.1 图像处理头文件Img.h
2.2 改变图像亮度
2.2.1 建立Brightness项目
2.2.2 图像处理基类CImageProcess
2.2.3 图像点处理父类CImagePointProcess
2.2.4 亮度处理器CBrightnessProcess
2.2.5 改变亮度
2.2.6 更加简洁的数据回放机制——将数据捆绑为DDB
2.3 改变图像对比度
2.3.1 建立Contrast项目
2.3.2 对比度处理器CContrastProcess
2.3.3 改变图像对比度
2.4 图像灰度处理
2.4.1 灰度变换
2.4.2 直方图均衡化
2.4.3 直方图规定化
2.4.4 灰度概率统计法
2.4.5 建立Gray项目
2.4.6 灰度处理器CGrayProcess
2.4.7 修改灰度
2.5 着色图像
2.5.1 建立ImageRender项目
2.5.2 图像着色器CRenderProcess
2.5.3 颜色对话框
2.5.4 着色图像
2.6 曝光图像 
2.6.1 建立ImgeSolarize项目 
2.6.2 曝光处理器CSolarizationProcess 
2.6.3 曝光图像 
第3章 图像区域处理 
3.1 卷积过滤器 
3.1.1 卷积操作 
3.1.2 图像模糊与低通过滤 
3.1.3 高通过滤 
3.1.4 边缘检测 
3.1.5 建立Convolution项目 
3.1.6 图像区域处理父类CImageAreaProcess
3.1.7 统一的卷积过滤器CConvolutionFilter
3.1.8 图像区域处理对话框
3.1.9 集成卷积过滤——图像线性处理
3.2 生成浮雕效果
3.2.1 建立Emboss项目 
3.2.2 浮雕生成器CEmbossFilter 
3.2.3 浮雕对话框 
3.2.4 生成浮雕艺术效果 
3.3 特殊检测方法 
3.3.1 Sobel边缘检测和Kirsch边缘检测算法 
3.3.2 建立SobelKirsch项目 
3.3.3 特殊检测器CSpecialDetectionFilter 
3.3.4 检测图像 
3.4 中值滤波 
3.4.1 建立MedianBlur项目 
3.4.2 中值滤波器CMedianFilter 
3.4.3 过滤图像 
3.5 扩散图像 
3.5.1 建立Diffuse项目 
3.5.2 扩散过滤器CDiffuseFilter 
3.5.3 扩散图像 
3.6 颗粒粗化 
3.6.1 建立Granulate项目 
3.6.2 颗粒粗化过滤器GranulationFilter 
3.6.3 粒化图像 215
第4章 数学形态学——开创数字图像处理的新篇章 
4.1 数学形态学基本运算 
4.1.1 膨胀、腐蚀、开启和闭合运算 
4.1.2 拾取边界、形态浮雕、形态梯度、降低噪声、开合成和高帽变换 
4.2 多值图像数学形态学在数字图像处理中的应用 
4.2.1 建立MathMorph项目 
4.2.2 数学形态学CMathMorphology类 
4.2.3 数学形态学对话框 
4.2.4 数学形态学图像处理 
4.2.5 MathMorph VS Photoshop——使用导示与评注 
4.3 二值图像数学形态学运算的实现 
第5章 图像合成 
5.1 透明色匹配合成 
5.1.1 建立Transparent项目 
5.1.2 图像合成父类CImageComposite 
5.1.3 透明色匹配合成类CTransparentColorFilter 
5.1.4 透明颜色对话框 
5.1.5 合成图像——将小车、蝴蝶和背景进行匹配 
5.2 代数运算 
5.2.1 建立Algebra项目 
5.2.2 代数运算器CAlgebraOperation
5.2.3 代数运算对话框
5.2.4 合成图
5.3 逻辑运算
5.3.1 建立Logic项目
5.3.2 逻辑运算器CLogicOperation
5.3.3 逻辑运算对
5.3.4 合成图
5.4 图像融合技术
5.5 融合图像 
5.5.1 建立Blend项目
5.5.2 图像融合器CPixelBlend 
5.5.3 融合对话框 
5.5.4 合成图像 
5.5.5 实现梦幻的合成效果——应用程序Blend使用导示
第6章 图像几何变换 
6.1 缩放图像 
6.1.1 近邻取样法 
6.1.2 双线性内插法 
6.1.3 三次卷积法 
6.1.4 建立ImgScale项目 
6.1.5 图像几何CImageGeometry 
6.1.6 缩放变换对话框 
6.1.7 缩放图像 
6.2 旋转图像 
6.2.1 建立ImgRotate项目 
6.2.2 为CImageGeometry类添加旋转图像的功能 
6.2.3 旋转变换对话框 
6.2.4 旋转图像 
6.3 镜像图像 
6.3.1 建立ImgMirror项目 
6.3.2 为CImageGeometry类添加镜像图像的功能 
6.3.3 镜像图像 
6.4 扭曲图像形状 
6.4.1 建立ImgWarp项目 
6.4.2 图像一般变换的父类CImageGeneralTransform 
6.4.3 扭曲变换CImageWarp 
6.4.4 图像扭曲对话框 
6.4.5 扭曲图像 
第7章 光栅操作 
7.1 光栅操作 
7.2 显示位于椭圆形(含圆形)区域内的图像 
7.2.1 建立Raster项目 
7.2.2 参数控制对话框 
7.2.3 过滤像素 
第8章 切换特技 
8.1 常用的切换方式 
8.2 滑入 
8.2.1 建立ImageSlide项目 
8.2.2 滑入方式对话框 
8.2.3 具有内嵌效果的矩形CBorderRect 
8.2.4 演示滑入效果 
8.3 演示单向渐铺效果 
8.4 演示菱形、圆形、椭圆形和帘窗式渐铺效果 
8.5 演示推进效果 
8.6 淡入淡出(一) 
8.7 淡入淡出(二) 
第9章 图形基元(I) 
9.1 图形基元 
9.2 三维图形设计头文件Grphcs.h 
9.3 直线基元 
9.3.1 建立Line项目 
9.3.2 直线基元CPLine——统一的Bresenham扫描转换程序 
9.3.3 测试直线基元 
9.4 三角形基元 
9.4.1 Gouraud着色方法 
9.4.2 三角形的扫描转换与填充 
9.4.3 三角形基元CPTriangle——扫描转换三角形 
9.4.4 测试三角形基元 
9.5 几何构造 
9.5.1 直线段 
9.5.2 小面 
9.5.3 四边形的细化 
9.5.4 边的可见性 
第10章 三维图形技术 
10.1 底层图形的绘制原理 
10.2 三维自由向量 
10.3 三维几何变换、齐次变换矩阵 
10.4 通用模板堆栈、矩阵堆栈的意义 
10.5 次物体及其属性 
10.5.1 次物体的基类CSubObject3d 
10.5.2 几何顶点及其属性 
10.5.3 边及其属性 
10.5.4 小面及其属性 
10.6 三维物体的建立 
10.7 取景与视口变换 
10.8 可见性测试 
10.9 浮点颜色 
10.10 物体的着色
10.11 立方体 
10.12 着色立方体的线框、刻面和光滑模型 
第11章 光照处理 
11.1 建立Light项目
11.2 光源
11.2.1 光源属性
11.2.2 如何定义泛光光源和聚光光源
11.3 物体的材质
11.3.1 标准材质
11.3.2 如何定义标准材质
11.3.3 常用的金属和非金属材质的属性
11.4 基本光照模型
11.5 光照明计算
11.5.1 光照明计算
11.5.2 多光源照射系统
11.6 球体
11.6.1 球体的几何拓扑
11.6.2 球体
11.7 光照场景
11.7.1 光照场景实例
11.7.2 调整光源和材质的属性——编程导示
第12章 图形基元(II) 
12.1 z-buffer算法
12.2 建立Primitive项目 
12.3 颜色缓冲器 
12.4 深度缓冲器 
12.5 基于颜色缓冲器和深度缓冲器的直线基元 
12.6 基于颜色缓冲器和深度缓冲器的三角形基元 
12.7 绘制相互交叠的三个四边形 
12.8 引入图像处理技术 
12.8.1 图形设计离不开图像处理技术 
12.8.2 用图像作颜色缓冲区的背景 
第13章 深度消隐 
13.1 场景深度消隐 
13.1.1 建立Depth项目 
13.1.2 场景深度消隐与着色 
13.1.3 着色简单场景 
13.2 绘制复杂场景 
13.2.1 建立Scene项目 
13.2.2 着色场景 
第14章 动画 
14.1 动画生成技术 
14.2 双缓存机制的工作原理 
14.3 帧动画——熊熊燃烧的火焰 
14.4 运动动画——模拟小球的非弹性碰撞 
14.4.1 具有高光效果的虚拟球 
14.4.2 具有高光效果的虚拟圆柱 
14.4.3 砖块 
14.4.4 模拟小球的非弹性碰撞 
参考文献
猜您喜欢

读书导航