目录 1
第1章Visual C++编程概述 1
1.1 为什么用C++来实现图像处理编程 1
1.2 Visual C++技术概要 2
1.2.1 Win32编程 3
1.2.2框架和文档-视结构 4
1.2.3消息映射 7
1.2.4 Visual C++可视化编程 8
1.3 Visual C++.NET的新增特性 9
1.4编程风格问题 14
1.5本章小结 17
第2章图像基础 18
2.1数字图像的基本概念 18
2.2调色板 21
2.2.1调色板的概念 22
2.2.2调色板操作 23
2.2.3定义几个调色板函数 24
2.3与设备相关位图(DDB) 30
2.4与设备无关位图(DIB) 32
2.4.1 DIB位图的结构 32
2.4.2 OS/2 DIB格式 35
2.4.3 DIB位图的操作 35
2.5一个简单的位图示例:ShowDIB 48
2.6本章小结 51
第3章面向对象的图像编程 52
3.1定义DIB处理函数集 52
3.1.1 Win32 SDK中的DIB API函数 53
3.1.2定义DIB处理函数集 55
3.2 CDib类的设计目标 84
3.3构造CDib类 86
3.4 CDib类的编程示例:ViewDIB 104
3.5本章小结 107
第4章图像的特技显示 108
4.1特技显示的技术基础 108
4.2扫描 110
4.3移动 115
4.4百叶窗 120
4.5栅条 122
4.6马赛克 124
4.7渐显与渐隐 126
4.8透明显示 133
4.9增强CDib 135
4.10显示特技示例:EffectShow 137
4.11本章小结 139
第5章图像变换 140
5.1图像变换的理论基础 140
5.2裁剪与合并 146
5.3缩放 153
5.4旋转 159
5.5镜像 169
5.6 增强CDib 172
5.7图像变换示例:TransformShow 174
5.8本章小结 178
第6章颜色处理 179
6.1颜色处理的理论基础 179
6.2灰度化与伪彩色处理 184
6.3颜色调整 188
6.4亮度/对比度调整 196
6.5颜色量化与减色 200
6.6抖动 211
6.7增强CDib 222
6.8颜色处理示例:ColorProcess 226
6.9本章小结 228
第7章图像处理 229
7.1 图像处理的基本方法 230
7.2 正交变换 238
7.2.1傅里叶变换 238
7.2.2离散余弦变换 252
7.2.3沃尔什变换 259
7.3卷积 269
7.4 滑与锐化 273
7.5 边缘增强 275
7.6 Sobel边缘检测和Hough边缘检测 279
7.7反转 280
7.8腐蚀与膨胀 281
7.9开与闭 286
7.10边缘提取 287
7.11细化 290
7.12去除随机噪声 293
7.13增强CDib 296
7.14图像处理示例:ImageProcess 299
7.15本章小结 303
8.1.1数据冗余 304
8.1图像编码 304
第8章图像格式 304
8.1.2数据编码 306
8.2 PCX 331
8.2.1 PCX格式说明 331
8.2.2实现操作PCX的类 334
8.3 GIF 336
8.3.1 GIF文件存储结构 337
8.3.2 LZW算法和GIF数据压缩 345
8.3.3实现操作GIF的类 349
8.4JPEG 352
8.5TGA 354
8.5.1TGA格式解释 355
8.5.2实现操作TGA的类 362
8.6TIFF 363
8.7图像格式示例:ViewImage 379
8.8本章小结 383
第9章图像处理类库ImageLib及其应用实例 384
9.1创建图像处理类库ImageLib 384
9.2基于ImageLib实现图像处理程序ImageBoard 386
9.2.1界面设计 388
9.2.2程序结构 389
9.2.3 工具条与状态条 393
9.2.4橡皮筋矩形选块或画图 406
9.2.5画曲线和写字 416
9.2.6选块的拖曳 424
9.2.7剪贴板操作 427
9.2.8文件操作 433
9.2.9关于进一步开发的建议 438