冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见

2023-11-13

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython

一、引言

好几月前开始自学OpenCV-Python,但老猿以前没接触过图像基础知识,数学知识基本上也都忘光了,因此在自学OpenCV-Python过程中遇到了很多困难。OpenCV-Python虽然网上资料丰富,但对于一个缺乏图像处理基础知识的人还是远远不够,导致进展非常缓慢。

为了弥补基础知识的不足,特地下载了冈萨雷斯(Rafael C. Gonzalez)编著的《数字图像处理》(Digital Image Processing)第三版的中文译本和英文原本电子书对照学习,准备好好补补基础知识。

为了供老猿类似情况的同好能快速理解图像处理基础知识,老猿将学习后的关键知识和感悟整理后通过博文发布出来,另外在记录知识的同时对部分中文版的翻译进行了老猿认为的改善(斜体字表示),供各位有类似情况的同好参考,也可以节约大家的学习时间。

二、知识概要:百闻不如一见

开篇第一句话:One picture is worth more than ten thousand words
中文版翻译成:百闻不如一见
老猿的感觉:用得非常贴切,翻译得神!

数字图像处理方法源于两个应用领域:改善图像信息以便于人们理解和解释、处理图像用于进行图像存储、传递以及形成便于机器感知理解的表现形式

2.1、定义

  • 数字图像:一幅图像可定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,而在任何一对空间坐标(x,y)处的幅值对应为函数值f(x,y),该幅值称为图像在该点处的强度或灰度级。当x,y和灰度值f是有限的离散数值时,我们称该图像为数字图像。
  • 数字图像处理:借助计算机进行数字图像的处理。
  • 像素:构成数字图像的元素称为像素,每个元素都由代表位置的坐标和代表幅值的数值组成。像素又可以称为图画元素、图片元素,对应英文单词为:picture elements, image elements、pels、pixels

2.2、数字图像处理的应用领域

  • 空间探测:1964年美国“徘徊者7号”卫星传送了月球图像,使用计算机对航天器电视摄像机拍摄图像的各种畸变进行了校正,这是图像复原和增强方法的基础。
  • 医学、生物学:X光照片、CT影像
  • 地球资源遥感监测
  • 天文学观察
  • 考古学:复原图片
  • 物理学:高能等离子图像、电子显微镜图像
  • 国防及工业领域
  • 机器感知:OCR图片文字识别、工业机器人感知、军事目标自动识别、指纹自动处理、血样分类、天气预报云图识别等

2.3、数字图像成像类型

视觉是人类最高级的感知,但人类的感知仅限于电磁波谱的视觉波段,而成像机器几乎可以覆盖从伽马射线到无线电波的整个电磁波谱。它们可以对非人类所习惯的那些图像源进行加工,这些图像源包括超声波、电子显微镜和计算机产生的图像。因而,数字图像处理涉及很宽泛的各种各样的应用领域。

图像的生成需要成像的各种能量,最常见的生成图像的能量是电磁波,另外还有声波、超声波和电子。

电磁波为各种波长传播的正弦波,是无质量的粒子流,每个粒子包含一束能量以光速传播,每束能量称为一个光子。根据光子的能量(单位电子伏特)对电磁波谱进行分组如下:
在这里插入图片描述

根据生成图像的能源来划分,可以将数字图像成像机制分成如下:

  • 伽马射线成像:主要用于核医学和天文观测,如医学上的PET(positron emission tomography,正电子仿射断层)影像
  • X射线成像:用于医学检测(x光照片、血管造影、CT等)、工业检测、天文学观察
  • 紫外线成像:用于平板印刷、工业检测、显微镜(荧光显微镜)、激光、生物成像、天文观测
  • 可见光成像:这是最常见的,如相机,也可以用于显微镜、天文学、遥感、工业检测
  • 红外成像:用途类似于可见光,只是不同的物体适用不同波长的可见光或红外光
  • 微波成像:如雷达
  • 无线电波成像:主要用于医学和天文学,如核磁共振MRI成像
  • 声波成像:主要用于地质勘察、工业和医学应用
  • 超声波成像:主要用于制造业和医学
  • 电子显微镜成像:用于生物学、工业检测、物理学、天文学等,如透射电子显微镜TEM、扫描电子显微镜SEM
  • 计算机成像:用计算机根据一定算法生成图像,如三维建模

在书中,作者花了比较大的篇幅详细介绍了这些数字成像应用的案例,看了这些案例对于感性理解数字成像还是很有帮助的。

2.4、数字图像处理研究的范围

数字图像相关的处理涉及很多层面,从简单的图像对比度增强到图像识别再到计算机视觉,从简单图像处理到AI,涉及的领域跨度很大,并且没有明显的界限,但这一广袤的范围并不全都属于数字图像处理研究的范围。

一种常见的方法是将数字图像处理到计算机视觉这一广袤的范围划分成低级、中级、高级三个阶段:

  1. 低级处理:涉及图像的初级操作,如降噪处理、对比度增强、锐化处理,其特征是输入、输出都是图像;
  2. 中级处理:输入为图像,但输出是从图像中提取的特征,如边缘、轮廓、物体标识的识别
  3. 高级处理:识别图像整体、与视觉相关的认知。

在《数字图像处理》一书中,将数字图像处理界定为:

  • 输入和输出都是图像的处理
  • 从图像中提取特征
  • 图像中各个目标的识别

书中以OCR图像文字识别为例,对图像进行预处理(图像对比度增强等)、分割字符、识别分割的每个字符等都是属于数字图像处理的范围,但将文字组成的句子进行语义识别则不属于数字图像处理范围。

2.5、数字图像处理基本步骤

数字图像处理基本步骤如下:

  1. 图像获取(Image acquisition);主要用于获得数字图像,包含图像预处理如图像缩放。
    图像获取首先要进行图像感知(image sensing),图像感知首先需要一个对希望成像的目标辐射(radiated,老猿认为包括反射、透射两种)能量很敏感的物理设备用于收集能量,然后需要一个数字化器部件(digitizer),用于将感知的不同能量输出成数字。
  2. 图像增强(Image enhancement):对图像进行某种操作使得结果图像比原始图像更适合特定应用的处理,图像增强是主观的,因为必须符合后续应用的需要
  3. 图像复原(Image restoration):图像复原与增强一样也是改进的图像外观,但图像复原是依据图像退化( image degradation)的数学模型或概率模型来进行的比较客观化的处理。
    老猿补充说明: 图像退化是图像在形成、记录、处理和传输过程中,由于成像系统、记录设备、传输介质和处理方法的不完善,导致图像质量的下降。图像复原是将图像退化的过程模型化,并据此采取相反的过程以得到原始的图像(保证噪声最小)
  4. 彩色图像处理(Color image processing):对彩色图像基于彩色图像的模型和数字领域色彩处理的方式进行的处理
  5. 小波变换(Wavelets):小波是以不同分辨率描述图像的基础,在本章节没有展开介绍,老猿拷贝一网上的介绍:小波变换是将图像信号分解为由原始小波位移和缩放之后的一组小波。小波在图像处理里被称为图像显微镜,原因在于它的多分辨率分解能力可以将图片信息一层一层分解剥离开来。剥离的手段就是通过低通和高通滤波器。
  6. 图像压缩(Compression):用于节省存储和传输带宽的手段
  7. 形态学处理(Morphological processing):形态学处理用于提取图像分量,可以参考《https://blog.csdn.net/LaoYuanPython/article/details/109556425 OpenCV-Python图像形态变换概述及morphologyEx函数介绍
  8. 分割(Segmentation) :将图像划分为图像的组成部分或组成对象,分割越准确,后续的图像识别越成功
  9. 表示与描述(Representation and description):表示确认将图像的数据确定为一个边界还是一个完整区域,选择一种表述仅是将原始数据转换成适合后续计算机处理的形式的一部分,描述又称为特征选择(feature selection),它是基于一些感兴趣的量化信息的结果或者不同对象彼此区分的基本特征的基础上进行的属性提取处理
  10. 识别(Recognition) :是基于一个图像对象的描述给其赋予一个标识的处理,如识别图像中的车辆。

对于以上步骤与本书的目录结构对应关系如下:
在这里插入图片描述

2.6、图像处理系统构成

在这里插入图片描述

三、感想

作为全书的第一章,本章介绍了数字图像的概念、数字图像处理的起源、应用领域、研究范围、基本步骤和通用的系统构成。

阅读本章,老猿有如下一些杂乱的感想:

  • 首先使得我们了解了美国等国的先行者们比我们早了很多年进行数字图像处理,并且将其应用在广泛的领域,确实比我们领先了很多年,基础知识研究很杂实
  • 数字图像的应用领域很宽广,在现代科技处理、国计民生中有不可替代的重要作用
  • 本书写作质量真是非常的高,案例很丰富还非常贴近实际,作者的知识面和人脉都很广,光一个绪论就写得提纲挈领,内容详尽,不愧为经典
  • 中译本整体翻译尚可,但有些细节还有待改善,但两个电子版对照来看,中译本的图像案例很多都比原版差很多,甚至差到影响对讲述内容的理解,因此就算不看原版文字,图像案例最好还是用原版的
  • 数字图像处理需要学习的知识很多,笔者自己还没入门,还需要更多时间去学习, 加油!

四、部分术语英汉对照

除了在总结部分已经添加了中英文对照的术语外,将部分前面没有对照的重要术语在此列出,希望于大家有益:

  • Digital Image Processing:数字图像处理
  • spatial (plane) coordinates:空间(平面)坐标
  • intensity:强度
  • gray level:灰度级、灰级、灰度值
  • amplitude:幅值、幅度
  • photon:光子
  • gamma ray:伽马射线
  • electromagnetic energy spectrum:电磁能谱
  • acoustic:声学
  • ultrasonic:超声波
  • electronic:电子
  • visual bands of the spectrum:可见光谱
  • Electromagnetic waves:电磁波
  • visual band:可见光波段
  • infrared band:红外波段

五、小结

本文简明扼要地归纳总结了冈萨雷斯《数字图像处理》第一章绪论涉及的基础知识,通过中英文对照方式对该章中译本翻译的知识进行了部分改善并以斜体字方式体现。通过对本章知识的总结,有助于各位与老猿相同基础的同好快速了解数字图像处理的基础概念、数字图像处理的起源、应用领域、研究范围、基本步骤和通用的系统构成等知识。同时通过部分关键术语的中英文对照,有助于提高阅读者的数字图像处理英语知识。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

如对文章内容存在疑问,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见 的相关文章

随机推荐

  • 史上最全的OpenCV入门教程

    一 Python OpenCV 入门 欢迎阅读系列教程 内容涵盖 OpenCV 它是一个图像和视频处理库 包含 C C Python 和 Java 的绑定 OpenCV 用于各种图像和视频分析 如面部识别和检测 车牌阅读 照片编辑 高级机器
  • JS实现奇偶数的判断

    奇数和偶数的判断是数学运算中经常碰到的问题 比如 有变量x 如果x 1则为奇数 为2则为偶数 这篇文章主要讲解通过JavaScript来实现奇偶数的判断 方法一 求余 if else的形式 var num parseInt prompt 请
  • 人物专访

    把算法应用到各行各业中 这是我从创业初期就有的梦想 华院计算创始人 董事长宣晓华表示 文 科创板日报 黄心怡 成立于2002年的华院计算 可谓国内算法和AI的最早探索者之一 多年来始终致力于算法技术的研究和应用 面对当前的大模型浪潮 宣晓华
  • keyshot保存为ksp_keyshot渲染教程:keyshot教你如何简单的渲染冰与水

    摘要 keyshot是一个互动性的光线追踪与全域光渲染程序 keyshot的渲染的教程有哪些呢 下面是小编整理的关于keyshot渲染教程之keyshot教你如何简单的渲染冰与水 keyshot是一个互动性的光线追踪与全域光渲染程序 key
  • Windows解决camelot报错OSError: Ghostscript is not installed

    文章目录 解决方案 1 安装并配置Ghostscript 2 添加环境变量 3 重启python应用 解决方法也很简单 就是安装并配置Ghostscript 解决方案 1 安装并配置Ghostscript 首先访问 https ghosts
  • LeetCode--初级算法--数组篇-存在重复

    题目 给定一个整数数组 判断是否存在重复元素 如果任何值在数组中出现至少两次 函数返回 true 如果数组中每个元素都不相同 则返回 false 示例 1 输入 1 2 3 1 输出 true 示例 2 输入 1 2 3 4 输出 fals
  • 我是如何在12周内由零基础成为一名程序员的(转)

    我是如何在12周内由零基础成为一名程序员的 我的故事 在海军陆战队服役超过10年后 我于去年7月份退役了 随后在8月份找到了一份赌场的工作做公关 到今年2月中旬的时候又被辞退了 到5月中旬的时候我在DE协会找到了一份临时的 初级用户体验工程
  • Redis持久化的原理及优化

    更多内容 欢迎关注微信公众号 全菜工程师小辉 Redis提供了将数据定期自动持久化至硬盘的能力 包括RDB和AOF两种方案 两种方案分别有其长处和短板 可以配合起来同时运行 确保数据的稳定性 RDB 保存数据快照至一个RDB文件中 用于持久
  • An HTTP error occurred when trying to retrieve this URL.

    问题背景 conda install xxx 提示 An HTTP error occurred when trying to retrieve this URL Fetching package metadata CondaHTTPErr
  • 【Leetcode】863. 二叉树中所有距离为 K 的结点

    题目描述 题解 用map记录每个结点的父结点 然后让dfs从target结点开始 假设target就是根结点 然后递归时纪录深度 只要深度等于k 就是和target的距离等于k 就可以存入list 执行用时 14 ms 在所有 Java 提
  • LeetCode-1304. Find N Unique Integers Sum up to Zero

    Given an integer n return any array containing n unique integers such that they add up to 0 Example 1 Input n 5 Output 7
  • 毕业遭失业,前途一片黑暗...不得已转行软件测试,太多心酸和无助...

    大家好 我叫小涵 一名应届毕业生 目前已经成功转行互联网 写这篇文章的目的是因为很多人不喜欢自己的现状 想通过学习改变 奈何没有出路 所以想为这部分人提供一些思路 其次文章会总结我自己转行前后的经历和思考 提供一些我亲测有效的面试资源 找不
  • 解决Vmware Unbuntu 22虚拟机网络故障问题

    上午启动Vmware Unbuntu 22虚拟机 发现不能上网 屏幕右上侧的网络图标没有显示 怀疑是昨天在虚拟机上做路由器功能设置的时候某个操作产生的问题 于是进行排障 先尝试重启网络服务 service NetworkManager re
  • elasticsearch安装 及 启动异常解决

    虚拟机使用net连接模式 1 Download and unzip the latest Elasticsearch distribution 2 Run bin elasticsearch on Unix or bin elasticse
  • 第14课 右值引用(1)_基本概念

    1 左值和右值 1 两者区别 左值 能对表达式取地址 或具名对象 变量 一般指表达式结束后依然存在的持久对象 右值 不能对表达式取地址 或匿名对象 一般指表达式结束就不再存在的临时对象 2 右值的分类 将亡值 xvalue eXpiring
  • 数据中台-让数据用起来-7

    文章目录 第七章 数据体系建设 7 1 数体系规划 7 2 贴源数据层建设 全域数据统一存储 7 2 1 相关概念 7 2 2 贴源数据表设计 7 2 3 贴源数据表实现 7 3统一数仓层建设 标准化的数据底座 7 3 1 相关概念 7 3
  • Java高阶面试问答-通用基础

    线程和进程区别 进程是资源分配的最小单位 线程是程序执行的最小单位 进程有自己的独立地址空间 每启动一个进程 系统就会为它分配地址空间 建立数据表来维护代码段 堆栈段和数据段 线程是共享进程的数据空间 因此CPU切换一个线程的花费远比进程要
  • LeetCode-1775. 通过最少操作次数使数组的和相等【贪心,数组,计数】

    LeetCode 1775 通过最少操作次数使数组的和相等 贪心 数组 计数 题目描述 解题思路一 让sum1
  • kubernetes pv回收策略

    本文最近更新于2021 9 11 kubernetes pv回收策略 当用户不再使用其存储卷时 他们可以从 API 中将 PVC 对象删除 从而允许该资源被回收再利用 PersistentVolume 对象的回收策略告诉集群 当其被从申领中
  • 冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见

    前往老猿Python博文目录 https blog csdn net LaoYuanPython 一 引言 好几月前开始自学OpenCV Python 但老猿以前没接触过图像基础知识 数学知识基本上也都忘光了 因此在自学OpenCV Pyt