注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETVisual C++.NET 图像处理编程

Visual C++.NET 图像处理编程

Visual C++.NET 图像处理编程

定 价:¥42.00

作 者: 陆宗骐,金登男 编著
出版社: 清华大学出版社
丛编项: 程序员书库
标 签: VC++

ISBN: 9787302125532 出版时间: 2006-03-01 包装: 胶版纸
开本: 小16开 页数: 441 字数:  

内容简介

  本书以CImage类为基础介绍了VisualC++.NET环境下的图像基础知识与图像处理常用算法的编程原理和方法。通过自建CImage仿真类,本书方法也适用于VisualC++环境。本书包括4个部分。第1部分介绍图像显示与存储的基础知识;第2部分介绍VisualC++.NET应用程序框架的建立,图形编程,图像的存取、显示与生成,以及图像的变化;第3部分介绍图像的点处理,邻域处理,二值图像的处理,形态学图像处理,彩色图像的处理,轮廓跟踪与线段编码;第4部分介绍CImage仿真类的建立与图像文件的读写。本书附有光盘,提供了演示程序的全部源代码以及处理所需的图像实例。.本书可作为计算机及相关专业数字图像处理的教材或教学参考书,也可作为电子、信息类专业的学生与科研人员在图像处理方面的参考书或程序库。...

作者简介

暂缺《Visual C++.NET 图像处理编程》作者简介

图书目录

第1章  图像基础知识    1
1.1  数字图像与图像处理    1
1.1.1  图像    1
1.1.2  数字图像    3
1.1.3  图像处理的主要内容    5
1.2  颜色模式    6
1.2.1  颜色的分类和特性    6
1.2.2  RGB颜色模式    8
1.2.3  CMYK颜色模式    9
1.2.4  HSV(HSB、HLS)颜色模式    11
1.3  彩色图像显示原理    13
1.3.1  黑白图像显示电路    13
1.3.2  不同类型图像的显示原理    14
1.3.3  调色板    18
1.3.4  调色板原理    18
1.3.5  电视图像采集卡    21
1.3.6  图像数据的存储、传送和处理    21
1.4  图像文件概述    23
1.4.1  图像文件    23
1.4.2  图像文件的结构    23
1.4.3  图像文件的常用参数    24
1.4.4  图像文件的类型    25
1.4.5  图像显示与存储的过程    26
1.4.6  不同显示格式间像素数据的转换    27
1.5  BMP图像文件    31
1.5.1  BMP文件的结构    31
1.5.2  位图文件头与位图信息头    32
1.5.3  主要参数    32
1.5.4  图像文件读入内存与显示    33
第2章  建立应用程序框架    36
2.1  创建Visual C++.NET程序    36
2.1.1  新建Visual C++.NET项目    36
2.1.2  选择应用程序类型    37
2.2  建立菜单    38
2.2.1  添加菜单资源    38
2.2.2  插入顶层菜单项    39
2.2.3  添加菜单项    39
2.2.4  添加命令处理函数    40
2.3  鼠标与键盘事件的响应    41
2.3.1  处理鼠标键消息    41
2.3.2  捕获鼠标    44
2.3.3  处理键盘消息    44
第3章  Visual C++图形编程    47
3.1  设备环境类(CDC)    47
3.1.1  图形设备接口与设备环境    47
3.1.2  MFC应用程序的绘制操作对象    49
3.1.3  映像模式和坐标系统    50
3.1.4  在窗口用户区绘图    50
3.1.5  设备环境的主要属性    51
3.1.6  绘制图形演示程序    52
3.2  画笔与线条图的绘制    53
3.2.1  创建画笔    53
3.2.2  线条图绘制函数    55
3.2.3  线条绘制实例    56
3.3  画刷与区域填充    58
3.3.1  创建画刷    58
3.3.2  封闭曲线绘制函数    60
3.3.3  区域填充实例    61
3.4  字体与文本的显示    62
3.4.1  创建字体    62
3.4.2  库存字体    64
3.4.3  文本绘制函数    64
3.4.4  文本显示实例    65
3.5  位图与位块的处理    66
3.5.1  建立位图    66
3.5.2  位块函数    66
3.5.3  位块函数实例    68
第4章  图像的存取、显示与生成    71
4.1  位图与CImage类    71
4.1.1  位图    71
4.1.2  两种位图的差异    72
4.1.3  CImage类    74
4.1.4  演示程序    76
4.1.5  图像的输入/输出    77
4.2  画布    80
4.2.1  画布(绘图表面)    80
4.2.2  窗口画面的备份与清除    83
4.2.3  不同画布间数据的传递    84
4.2.4  演示程序    88
4.3  图像处理基本子程序    90
4.3.1  图像数据的存取    90
4.3.2  函数原型及其实现    95
4.3.3  演示程序    99
4.4  像素与调色板数据的存取    104
4.4.1  生成图像及修改调色板演示程序    104
4.4.2  真彩色图像的生成    105
4.4.3  256色彩色图像的生成    106
4.4.4  调色板数据的修改    110
第5章  图像的变化    114
5.1  色调与模式的变化    114
5.1.1  图像色调的变换    114
5.1.2  图像模式的转换    117
5.1.3  演示程序    121
5.2  简单几何变换    122
5.2.1  像素与行的复制    122
5.2.2  图像的镜像    123
5.2.3  图像的马赛克    124
5.2.4  图像的整数倍缩放    125
5.2.5  图像的90°旋转    127
5.2.6  添加命令    129
5.3  图像的非整数倍缩放与任意角旋转    131
5.3.1  图像的几何变换    131
5.3.2  非整数倍缩放    133
5.3.3  任意角旋转    134
5.3.4  添加命令    137
5.4  图像位置的变化    138
5.4.1  动态图像显示原理    138
5.4.2  添加命令    140
5.4.3  矩形区域的选择    140
5.4.4  图像块的操作    143
5.4.5  图像像素数据的显示    150
第6章  图像的点处理    153
6.1  像素数据的结构与演示程序框架    153
6.1.1  像素数据的数据结构    153
6.1.2  图像处理演示程序框架    156
6.2  图像的投影与平均定位    158
6.2.1  投影与平均定位    158
6.2.2  添加命令    161
6.3  灰度直方图    161
6.3.1  图像的灰度直方图    161
6.3.2  直方图的绘制    163
6.3.3  添加命令    166
6.4  图像的灰度变换    167
6.4.1  灰度变换    167
6.4.2  图像的伪彩色显示    168
6.4.3  灰度变换的实现    169
6.4.4  添加命令    174
6.5  图像与图像的运算    175
6.5.1  图像与图像的代数运算    175
6.5.2  图像去背景    176
6.5.3  添加命令    179
第7章  图像的邻域处理    181
7.1  邻域与卷积    181
7.1.1  邻域处理    181
7.1.2  图像卷积    182
7.2  图像平滑    185
7.2.1  平滑去噪声    185
7.2.2  邻域平均    186
7.2.3  中值滤波    187
7.2.4  演示程序    189
7.3  一阶微分边缘检测    192
7.3.1  边缘检测    192
7.3.2  带方向的边缘检测    195
7.3.3  演示程序    198
7.4  二阶微分边缘检测    201
7.4.1  Laplacian边缘检测    201
7.4.2  孤立点、细线与线条的检测    203
7.4.3  Laplacian边缘增强    205
7.4.4  高斯型Laplacian边缘检测(LoG)    206
7.4.5  程序实现    206
7.4.6  演示程序    208
7.5  灰阶边缘的细化    209
7.5.1  灰阶边缘的单点化    209
7.5.2  Sobel边缘细化    210
7.5.3  程序实现    211
7.5.4  演示程序    214
第8章  二值图像的处理    215
8.1  图像的二值化    215
8.1.1  对象与背景的分离    215
8.1.2  二值化方法    217
8.1.3  波形分析法    220
8.1.4  判别函数法    222
8.2  二值化的实现    227
8.2.1  二值化函数    227
8.2.2  演示程序    235
8.2.3  处理实例    240
8.3  非线性边缘检测    241
8.3.1  反射成像模型    241
8.3.2  光密度与对比灵敏度    242
8.3.3  非线性边缘检测    243
8.3.4  程序实现    245
8.3.5  演示程序    246
8.4  线条细化    247
8.4.1  二值图像中像素的性质    247
8.4.2  线条细化的实现    248
8.4.3  程序实现    249
8.4.4  演示程序    251
8.5  距离变换    253
8.5.1  距离变换模板    253
8.5.2  实现程序    255
8.5.3  演示程序    257
第9章  形态学图像处理    259
9.1  形态学基本运算    259
9.1.1  边界与膨胀、腐蚀    259
9.1.2  膨胀、腐蚀的实现    261
9.1.3  开运算、闭运算与骨架    263
9.1.4  演示程序    265
9.2  形态学运算的集合论定义    269
9.2.1  膨胀与腐蚀    269
9.2.2  开运算与闭运算    271
9.2.3  形态学细化    272
9.2.4  模式法细化    275
9.2.5  演示程序    279
9.3  灰值形态学    280
9.3.1  灰阶图像的形态学运算    280
9.3.2  灰值形态学的应用    280
9.3.3  演示程序    281
第10章  彩色图像的处理    287
10.1  RGB与HSV颜色模式间的转换    287
10.1.1  模式间的转换    287
10.1.2  颜色分量的提取    290
10.1.3  颜色轮与选色平面的绘制    293
10.1.4  演示程序    295
10.2  彩色图像的直方图    297
10.2.1  彩色图像的一维直方图    297
10.2.2  二维直方图    300
10.2.3  演示程序    303
10.3  真彩色图像的减色处理    305
10.3.1  减色处理    305
10.3.2  八叉树颜色量化算法    306
10.3.3  程序实现    308
10.3.4  演示程序    312
10.4  彩色图像的边缘检测    313
10.4.1  彩色图像的边缘    313
10.4.2  YIQ与L*a*b*颜色模式    313
10.4.3  程序实现    315
10.4.4  演示程序    320
第11章  轮廓跟踪    323
11.1  链码表与线段表    323
11.1.1  区域的两种表示方法    323
11.1.2  链码表    324
11.1.3  线段表    325
11.1.4  区域参数的计算    326
11.2  轮廓跟踪原理    329
11.2.1  二值化表    329
11.2.2  多区域跟踪    330
11.2.3  单区域跟踪    331
11.2.4  链码表至线段表的转换    334
11.2.5  不同类型的跟踪    338
11.2.6  演示程序    342
11.3  区域参数测量与图像模板制作    346
11.3.1  三点链码和及其计算方法    346
11.3.2  边界的基本参数    348
11.3.3  徒手画制作图像模板    349
11.3.4  鼠标管理    353
11.3.5  演示程序    354
第12章  线段编码    359
12.1  线段编码原理    359
12.1.1  像素标记法    359
12.1.2  行程编码与线段    360
12.1.3  线段编码的步骤    360
12.1.4  程序实现    362
12.1.5  区域数据索引    366
12.1.6  演示程序    367
12.2  区域种子点的搜索    371
12.2.1  区域内核与种子点    371
12.2.2  种子点的搜索    372
12.2.3  种子点搜索步骤    373
12.2.4  程序实现    373
12.2.5  演示程序    376
12.3  极限腐蚀与条件膨胀    379
12.3.1  粘连区域的分割    379
12.3.2  条件膨胀中像素的连接数    380
12.3.3  编程原理    381
12.3.4  程序实现    383
12.3.5  演示程序    387
12.3.6  处理实例    389
第13章  CImage仿真类的建立    390
13.1  Win32图像处理函数    390
13.1.1  Win32中新增的DIB函数    390
13.1.2  DIBSECTION    391
13.1.3  调色板数据的存取    392
13.1.4  位块传输操作    393
13.2  CImage仿真类    394
13.2.1  VC++编程环境功能的扩展    394
13.2.2  CImage仿真类的定义    395
13.2.3  CImage仿真类的实现    396
13.3  图像文件的读写与显示    401
13.3.1  演示程序的建立    401
13.3.2  图像文件的读写    402
13.3.3  图像的显示    404
第14章  图像文件读写    406
14.1  概述    406
14.1.1  图像文件的读写过程    406
14.1.2  BMP文件的读写    407
14.1.3  其他格式图像文件的读写    408
14.2  TGA图像文件    409
14.2.1  TGA文件的结构    409
14.2.2  文件头结构    410
14.2.3  主要参数    411
14.2.4  TGA文件的读写    411
14.3  GIF图像文件    414
14.3.1  GIF文件的结构    414
14.3.2  主要参数    415
14.3.3  GIF文件的读写    416
14.4  PCX图像文件    418
14.4.1  PCX文件的结构    418
14.4.2  文件头结构    419
14.4.3  主要参数    420
14.4.4  行程编码    421
14.4.5  PCX文件的读写    423
14.5  TIF图像文件    426
14.5.1  TIF文件的结构    426
14.5.2  文件内部的数据结构    427
14.5.3  数据编码    428
14.5.4  主要参数    430
14.5.5  TIF文件的读写    430
14.6  JPEG图像文件    436
14.6.1  JPEG文件简介    436
14.6.2  JPEGLIB2函数库    436
14.6.3  JPEG文件的读写    437
参考文献    440

本目录推荐