当前位置:首页 > 工业技术
C/C++图像处理编程
C/C++图像处理编程

C/C++图像处理编程PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:陆宗骐编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302095310
  • 页数:522 页
图书介绍:本书以图像处理编程为主线将图像的显示、存储、处理与采集的基础知识集中在一起。主要内容包括图像显示与存储的基础知识及其编程,图像处理的常用算法及其编程,Windows C. VC++及C++ Builder环境下的图像编程,以及电视图像采集卡的工作原理及编程方法。
《C/C++图像处理编程》目录

目录 1

第1章 绪论 1

1.1 数字图像与图像处理 1

1.1.1 图像 1

1.1.2 数字图像 3

1.1.3 图像处理的主要内容 5

1.1.4 图像处理的应用 6

1.2 颜色模式 8

1.2.1 颜色的分类和特性 8

1.2.2 RGB颜色模式 11

1.2.3 CMYK颜色模式 12

1.2.4 HSV(HSB、HLS)颜色模式 14

1.3 数字图像处理系统 15

1.3.1 图像处理系统的构成 15

1.3.2 图像的输入设备 16

1.3.3 高分辨率彩色显示器与图形显示卡 20

1.3.4 图像的硬拷贝 21

第2章 图像显示原理 23

2.1 彩色图像显示原理 23

2.1.1 黑白图像显示电路 23

2.1.2 不同图像类型的显示原理 25

2.1.3 调色板 28

2.1.4 调色板原理 29

2.1.5 图像数据的存储、传送和处理 31

2.2 VESA视频标准 33

2.2.1 显示模式与视频服务程序 33

2.2.2 VESA BIOS的功能及其调用方法 34

2.2.3 VESA视频标准下的特征参数 35

2.3 图像显示与处理用基本子程序 38

2.3.1 控制参数与基本子程序 38

2.3.2 模式的设置 39

2.3.3 显示存储器中像素数据的读、写 40

2.3.4 数据的成块传输 41

2.3.5 调色板单元的存取 45

2.3.6 基本子程序的源程序 47

2.4 DOS程序的Windows仿真 49

2.4.1 软件的层次结构 49

2.4.2 软件接口 50

2.4.3 仿真程序的特点 50

2.4.4 接口程序的源程序 52

2.4.5 图像处理演示程序的内容 55

2.5 基本图形功能 57

2.5.1 默认调色板和颜色的设置 57

2.5.2 矩形窗口填色及其应用 58

2.5.3 直线的绘制 60

2.5.4 圆的绘制与充填 61

2.5.5 图形功能基本子程序的源程序 62

2.6 图形功能演示 66

2.6.1 程序功能 66

2.6.2 程序内容 66

2.6.3 相关子程序原型 67

2.6.4 图像显示模式下的简单图形功能 69

第3章 图像文件格式 74

3.1 概述 74

3.1.1 图像文件 74

3.1.2 图像文件的结构 74

3.1.3 图像文件的常用参数 75

3.1.5 图像显示与存储的过程 77

3.1.4 图像文件的类型 77

3.1.6 不同显示格式间像素数据的转换 79

3.2 BMP文件格式 84

3.2.1 BMP文件的结构 84

3.2.2 位图文件头与位图信息头 85

3.2.3 主要参数 86

3.2.4 256色图像颜色数据的转换 87

3.2.5 子程序原型 89

3.2.6 BMP文件读、写子程序 90

3.2.7 读、写与显示BMP图像文件 93

3.3.1 PCX文件的结构 95

3.3 PCX文件格式 95

3.3.2 文件头结构 96

3.3.3 主要参数 97

3.3.4 子程序介绍 97

3.3.5 演示程序 98

3.4 GIF文件格式 100

3.4.1 GIF文件的结构 100

3.4.2 主要参数 101

3.5 TGA文件格式 102

3.5.1 TGA文件的结构 102

3.5.3 主要参数 103

3.5.2 文件头结构 103

3.6 TIF文件格式 104

3.6.1 TIF文件的结构 104

3.6.2 文件内部的数据结构 104

3.6.3 数据编码 106

3.6.4 TIF图像文件示例 108

3.6.5 主要参数 109

3.7 图像的简单处理 110

3.7.1 图像的复制、漫游与移动 110

3.7.2 256色图像的反相及色彩变化 111

3.7.3 图像的马赛克及整数倍缩放 111

3.7.6 演示程序 113

3.7.5 真彩色图像的颜色分量 113

3.7.4 图像的正交角旋转 113

第4章 图文界面的制作 123

4.1 图符和汉字的显示 123

4.1.1 引言 123

4.1.2 汉字字库文件的格式 124

4.1.3 子程序介绍 126

4.1.4 8×16西文字库的获取 127

4.1.5 子程序源程序 128

4.1.6 24×24点阵字体的变形 130

4.1.7 汉字与字符的显示 131

4.2 人机交互与动态图像 133

4.2.1 键盘与键值 134

4.2.2 鼠标及其控制 134

4.2.3 动态图像显示原理 135

4.2.4 子程序介绍 135

4.3 图像像素数据的显示 140

4.3.1 编程目的 140

4.3.2 程序内容 140

4.3.3 子程序原型 140

4.3.4 演示程序 141

4.4 真彩色模式下图形、图像的显示 143

4.4.1 虚拟调色板 143

4.4.2 图形的通用显示 146

4.4.3 不同类型图像的同屏显示 147

4.4.4 子程序介绍 149

4.4.5 演示程序 149

第5章 图像的点处理 152

5.1 屏蔽与叠加 152

5.1.1 编程原理 152

5.1.2 子程序介绍 153

5.1.3 演示程序 154

5.2 投影与平均定位 155

5.2.1 编程原理 155

5.2.2 子程序介绍 156

5.2.3 演示程序 157

5.3 灰度直方图 159

5.3.1 编程原理 159

5.3.2 子程序介绍 160

5.3.3 演示程序 162

5.4 灰度变换 164

5.4.1  编程原理 164

5.4.2 子程序介绍 165

5.4.3 演示程序 167

5.5 伪彩色显示 168

5.5.1 编程原理 168

5.5.2 子程序介绍 169

5.5.3 演示程序 171

5.6.1 图像的几何变换 174

5.6 图像的任意角旋转 174

5.6.2 编程原理 175

5.6.3 一维数组转换成二维数组 176

5.6.4 子程序介绍 176

5.6.5 演示程序 177

5.7 图像的非整数倍缩放 179

5.7.1 编程原理 179

5.7.2 直接生成图像的二维数组 180

5.7.3 子程序介绍 180

5.7.4 演示程序 181

6.1.1 邻域处理 184

第6章 图像的邻域处理 184

6.1 邻域平均 184

6.1.2 卷积与卷积模板 185

6.1.3 编程原理 188

6.1.4 子程序介绍 188

6.1.5 演示程序 189

6.2 中值滤波 191

6.2.1 编程原理 191

6.2.2 子程序介绍 191

6.2.3 演示程序 193

6.3.1 编程原理 195

6.3 常规边缘检测 195

6.3.2 子程序介绍 196

6.3.3 演示程序 199

6.4 带方向的边缘检测 202

6.4.1 编程原理 202

6.4.2 子程序介绍 202

6.4.3 演示程序 205

6.5 Laplacian边缘增强与素描 209

6.5.1 二值图像的勾边 209

6.5.2 边缘和导数 209

6.5.3 Laplacian边缘增强 210

6.5.4 Laplacian素描 211

6.5.5 子程序介绍 213

6.5.6 演示程序 214

6.6 Sobel边缘细化 216

6.6.1 编程原理 216

6.6.2 细化方法的改进 216

6.6.3 子程序介绍 218

6.6.4 演示程序 219

6.7 高斯型laplacian算法 222

6.8 霍夫(Hough)变换 224

6.8.1 编程原理 224

6.8.2 子程序介绍 225

6.8.3 演示程序 226

第7章 二值与彩色图像的处理 229

7.1 图像的二值化 229

7.1.1 编程原理 229

7.1.2 子程序介绍 230

7.1.3 演示程序 231

7.2 大津法二值化 234

7.2.1 编程原理 234

7.2.2 子程序介绍 234

7.2.3 演示程序 236

7.3 数学形态学运算 237

7.3.1 编程原理 237

7.3.2 子程序介绍 239

7.3.3 演示程序 240

7.4 距离变换 246

7.4.1 编程原理 246

7.4.2 二维两字节整数数组的建立 248

7.4.3 子程序介绍 248

7.4.4 演示程序 250

7.5 线条细化 251

7.5.1 编程原理 251

7.5.2 子程序介绍 252

7.5.3 演示程序 254

7.6.2 子程序介绍 255

7.6 RGB与HSV颜色模式间的转换 255

7.6.1 编程原理 255

7.6.3 演示程序 256

7.7 色调数据的二值化 260

7.7.1 编程原理 260

7.7.2 子程序介绍 261

7.7.3 演示程序 262

7.8 光密度 265

7.8.1 编程原理 265

7.8.2 光密度与对比灵敏度 265

7.8.3 非线性边缘检测 266

7.8.4 朗伯—比耳定律 267

7.8.5 子程序介绍 268

7.8.6 演示程序 269

7.9 灰度形态学 270

7.9.1 编程原理 270

7.9.2 子程序介绍 271

7.9.3 演示程序 275

第8章 轮廓跟踪 277

8.1 链码表与线段表 277

8.1.1 区域的两种表示方法 277

8.1.2 链码表 278

8.1.3 轮廓的绘制与周长的计算 279

8.1.4 线段表 280

8.1.5 区域参数的计算以及区域的充填与复制 281

8.1.6 演示程序 283

8.2 轮廓跟踪原理 286

8.2.1 单区域轮廓跟踪 286

8.2.2 链码表至线段表的转换 289

8.2.3 多区域跟踪 292

8.2.4 二值化表 294

8.2.5 不同类型的跟踪 294

8.3 链码与曲线形状 298

8.3.1 三点链码和及其计算方法 298

8.3.2 边界的基本参数 300

8.3.3 形状特征 302

8.3.4 细胞分割举例 304

8.3.5 演示程序 306

8.4 粘连区域的跟踪计数 309

8.4.1 粘连区域的计数 309

8.4.2 核心尺寸的确定 309

8.4.3 演示程序 310

8.5 徒手画 313

8.5.1 徒手画制作模板 313

8.5.2 图像块的拖动 315

8.5.3 演示程序 316

9.1.1 行程编码与线段 319

第9章 线段编码 319

9.1 线段编码原理 319

9.1.2 线段编码的步骤 320

9.1.3 子程序介绍 321

9.1.4 演示程序 324

9.2 线段表至链码表的转换 327

9.2.1 线段的分类 327

9.2.2 转换过程 329

9.2.3 子程序介绍 331

9.2.4 演示程序 337

9.3.1 外边界与孔边界 339

9.3 区域与孔的分割 339

9.3.2 两类边界分离的步骤 340

9.3.3 子程序介绍 340

9.3.4 演示程序 343

9.4 直方图估值法 346

9.4.1 线长直方图与面积直方图 346

9.4.2 线长直方图估值法 347

9.4.3 面积直方图估值法 348

9.4.4 子程序介绍 349

9.4.5 演示程序 350

9.5 距离变换图中搜索种子点 353

9.5.1 距离变换图中的核心区域与种子点 353

9.5.2 种子点的搜索 354

9.5.3 搜索的步骤 355

9.5.4 子程序介绍 356

9.5.5 演示程序 359

9.6 分水岭算法 361

9.6.1 编程原理 361

9.6.2 等值线跟踪法 362

9.6.3 分割线的确定 364

9.6.4 子程序介绍 366

9.6.5 演示程序 374

10.1 Windows编程 377

10.1.1 Windows简介 377

第10章 Windows编程初步 377

10.1.2 事件驱动程序设计 378

10.1.3 窗口主函数 378

10.1.4 窗口过程 380

10.1.5 资源文件 381

10.1.6 演示程序框架 382

10.2 Windows图形编程 387

10.2.1 图形设备接口(GDI) 387

10.2.2 设备描述表 388

10.2.3 映像模式和坐标系统 389

10.2.4 画笔、画刷及基本图形元素 389

10.2.5 演示程序 393

10.2.6 图形功能的实现 398

10.3 设备相关位图与设备无关位图 400

10.3.1 设备相关位图(DDB) 400

10.3.2 设备无关位图(DIB) 401

10.3.3 演示程序中两种位图的作用 402

10.3.4 与位图有关的常用Windows GDI函数 403

第11章 Windows图像编程 406

11.1 图像的备份 406

11.1.1 窗口的备份 406

11.1.2 设备参数的获取 406

11.1.3 DDB的建立 407

11.1.4 DDB的调用与初始化 408

11.1.5 DDB显示演示程序 410

11.2 BMP图像的显示与存储 412

11.2.1 设备无关位图结构IMAGE 412

11.2.2 DIB至DDB间的数据传递 413

11.2.3 BMP图像文件的显示与存储 413

11.2.4 图像显示演示程序 415

11.3 图像处理基本子程序 418

11.3.1 图像处理与绘图的差异 418

11.3.2 Windows图像处理基本子程序 418

11.3.3 基本子程序的调用 420

11.3.4 基本子程序演示程序 422

11.4.1 鼠标事件 426

11.4 鼠标事件及其处理 426

11.4.2 线条上像素数据的保存与恢复 428

11.4.3 屏幕窗口的截取 429

11.4.4 多幅图像的同屏显示与同步漫游 430

11.4.5 演示程序 432

11.5 图像处理实例 438

11.5.1 颜色分量的分离 438

11.5.2 图像的任意角旋转 441

11.5.3 演示程序 443

11.5.4 其他处理实例 444

12.1.1 概述 447

12.1 设备无关位图类 447

第12章 C++图像编程 447

12.1.2 CDIB的定义 448

12.1.3 DIB参数 449

12.1.4 CDIB的调用 450

12.1.5 演示程序 451

12.2 C++Builder图像处理演示程序 453

12.2.1 概述 453

12.2.2 位图类的属性 453

12.2.3 C++Builder图像处理实例 454

12.2.4 CDIB的定义 455

12.2.6 演示程序的设置 460

12.2.5 CDIB的调用 460

12.3 VC++图像处理演示程序 461

12.3.1 概述 461

12.3.2 演示程序的结构 462

12.3.3 图像处理类的定义 463

12.3.4 DIB的读入、存储和显示 464

12.3.5 图像处理类的实现 466

12.3.6 文档与视 473

第13章 图像的采集 482

13.1 动态图像的采集 482

13.1.1 电视图像采集卡 482

13.1.2 OK系列PCI图像卡 483

13.1.3 采集过程中的图像对象 484

13.2 C语言图像采集程序 486

13.2.1 基本采集子程序 486

13.2.2 采集子程序原型 498

13.2.3 图像采集演示程序 499

13.3 C++图像采集程序 504

13.3.1 图像采集类的定义 504

1 3.3.2 C++Builder图像采集程序 506

13.3.3 VC++图像采集程序 511

附录A 演示程序说明 519

参考文献 521

相关图书
作者其它书籍
返回顶部