数字图像处理-绪论

数字图像处理-绪论

文章目录

    • 前言
    • 一、闲谈
    • 二、什么是数字图像处理?
      • 2.1. 什么是数字图像?
        • 2.1.1. 可见光图像
        • 2.1.2. 不可见光图像
      • 2.2. 什么是数字图像处理?
    • 三、数字图像处理的前世今生
      • 3.1. 数字图像处理的前世
      • 3.2. 数字图像处理的今生
    • 四、数字图像处理的应用
      • 4.1. 伽马射线成像
      • 4.2. X射线成像
      • 4.3. 紫外波段成像
      • 4.4. 可见光及红外波段成像
      • 4.5. 微波波段成像
      • 4.6. 无线电波段成像
    • 五、怎么对数字图像进行处理?
    • 小结、

前言

本专栏为对《数字图像处理》(作者:冈萨雷斯)一书学习与总结归纳,用于记录书中内容,以及个人理解。若有所误解与不足处,还望斧正。

一、闲谈

在这本书中,有十七页用于介绍绪论的部分。整个绪论部分的结构框架为,数字图像处理是什么?为什么要对数字图像进行处理?数字图像处理的应用有哪些?怎么对数字图像进行处理?以及数字图像处理系统的介绍五个部分。其中应用部分占比最大,诚然,如果数字图像处理没有用途的话,那么数字图像处理一书就少了些许引人入胜的韵味。整体框架的布局是值得学习的,本篇博客也将以这个框架进行展开。

数字图像的处理介质并不止计算机,还有光学仪器等物理操作,但由于本人主要利用计算机实现数据处理,因此物理手段及其他处理策略在本栏中并不会侧重说明。

二、什么是数字图像处理?

一幅图像通常把它定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标。任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或者灰度。当x,y和灰度值f是有限的离散数值时,称该图像为数字图像。数字图像处理是指借助于数字计算机来处理数字图像。

从图像处理到计算机视觉这个连续的统一体有三种典型的计算处理,即低级、中级和高级处理。

  1. 低级处理涉及初级操作,如降低噪声的图像预处理、对比度增强和图像锐化。以输入输出都是图片为特征。
  2. 中级处理涉及诸多任务,譬如(把一幅图像分为不同的区域或目标)分割,减少这些目标物的描述,以使其更适合计算机处理及对不同目标的分类(识别)。中级图像处理以输入为图像但输出是从这些图像中提取的特征(如边缘、轮廓及各物体的标识等)为特征。
  3. 高级处理涉及“理解”已识别目标的总体,以及在连续统一体的远端执行与视觉相关的认知功能。

2.1. 什么是数字图像?

然而在开始『什么是数字图像处理?』这个大问题之前,个人认为应该先了解什么是数字图像。图像,在平常认知中即为所见即所得, 从早晨睁眼到夜里入睡,几乎时时刻刻都在接受着图像信息。但我们并不会深究图像这一概念的基本构成(最小组成单位),也不会深究我们所看见的色彩变化存在着什么样的规律。

个人认为,图像是可被设备、仪器捕获的离散数据信息。根据肉眼是否直接可见,可将图像分为两大类,可见光图像和不可见光图像。
在这里插入图片描述

2.1.1. 可见光图像

可见光图像即我们肉眼所能看到的赤橙黄绿青蓝紫,本质上是由三原色构成。除了色彩丰富的图片外,还有黑白图片,这也属于可见光图像的范畴。而在电脑中,图像的常用存储策略为二维数据存储。每一个元素(像素)根据其坐标方位存放不同的数值进而实现图像在计算机中的存储。

二进制图像(黑白图像):这一类图像每个像素点非0即1。在计算机中0通常表示黑,1通常表示白。

binary_image = np.array([
    [0, 1],
    [1, 0]
])

在这里插入图片描述

灰度图像:此类图像每个像素点包含8bit颜色信息。

gray_image = np.zeros((256, 256), dtype=np.uint8)
gray_value = np.linspace(0, 255, 256, dtype=np.uint8)
gray_image[:, :] = np.tile(gray_value, (256, 1))

在这里插入图片描述

彩色图像:此类图像常用的是24位全彩色和256色图像。24位全彩色其实是由RGB三通道的数据构成,每个通道的像素都是8bit。而256色图像是单通道图像, 每个像素只使用一个8位字节来表示该像素在调色板中对应的颜色索引。由于全彩色图像可表示范围较大,此处仅模拟显示256色图像。
在这里插入图片描述

2.1.2. 不可见光图像

伽马射线成像、X射线成像、紫外波段成像、可见光及红外波段成像、微波波段成像、无线电波段成像等等。这些概念性词语以及专业获取方式,此处不一一赘述。

2.2. 什么是数字图像处理?

关于数字图像处理的方式,并未系统的学习过。但此前有做过一些对于图像的实验。比如说,角点检测、边缘检测、全景拼接等等,这些对图像进行一定的操作应该都属于图像处理的范畴。关于这一想法是否正确,且待我完成后续的学习再来回答。

关于灰度图片与彩色图片,下面扔一个之前做过的Bayer fliter相关的实验。

通过如图灰度图片:

在这里插入图片描述

与如下的三个通道对应的算子,简单来说通过计算白色区域相邻的黑色区域的均值赋值给白色区域实现不同通道的提取(详情见下方代码):

在这里插入图片描述

提取三通道的图像后,通过叠加获取彩色图片:
在这里插入图片描述

贴个代码:

h,w = img.shape
rgb = np.zeros((h,w,3),np.uint8);

IG = np.copy(img)
for row in range(0,h,4):
    for col in range(0,w,4):
        #B
        IG[row,col+1]=(int(img[row,col])+int(img[row,col+2]))/2
        #O
        IG[row+3,col+2]=(int(img[row+3,col+1])+int(img[row+3,col+3]))/2
        #E
        IG[row+1,col]=(int(img[row,col])+int(img[row+2,col+2]))/2
        #L
        IG[row+2,col+3]=(int(img[row+3,col+3])+int(img[row+1,col+3]))/2
        #M
        IG[row+3,col]= (int(img[row+2,col])+int(img[row+3,col+1]))/2
        #D
        IG[row,col+3]=(int(img[row,col+2])+int(img[row+1,col]))/2
        #G
        IG[row+1,col+2]=(int(img[row,col+2])+int(img[row+1,col+1])+int(img[row+2,col+2])+int(img[row+1,col+3]))/4
        #J
        IG[row+2,col+1]=(int(img[row+1,col+1])+int(img[row+2,col])+int(img[row+3,col+1])+int(img[row+2,col+2]))/4

IR = np.copy(img)
for row in range(0,h,4):
    for col in range(0,w,4):
        #C
        IR[row,col+2]=(int(img[row,col+1])+int(img[row,col+3]))/2
        #F
        IR[row+1,col+1]=(int(img[row+2,col+1])+int(img[row,col+1]))/2
        #H
        IR[row+1,col+3]=(int(img[row+2,col+3])+int(img[row,col+3]))/2
        #K
        IR[row+2,col+2]=(int(img[row+2,col+1])+int(img[row+2,col+3]))/2
        #G
        IR[row+1,col+2]=(int(img[row,col+1])+int(img[row,col+3])+int(img[row+2,col+1])+int(img[row+2,col+3]))/4
        #FIRST COLUMN
        IR[row,col] = IR[row,col+1]
        IR[row+1,col] = IR[row+1,col+1]
        IR[row+2,col] = IR[row+2,col+1]
        IR[row+3,col] = IR[row+2,col+1]
        #LAST RAW
        IR[row+3,col+1] = IR[row+2,col+1]
        IR[row+3,col+2] = IR[row+2,col+2]
        IR[row+3,col+3] = IR[row+2,col+3]

IB = np.copy(img)
for row in range(0,h,4):
    for col in range(0,w,4):
        #F
        IB[row+1,col+1]=(int(img[row+1,col])+int(img[row+1,col+2]))/2
        #I
        IB[row+2,col]=(int(img[row+1,col])+int(img[row+3,col]))/2
        #K
        IB[row+2,col+2]=(int(img[row+1,col+2])+int(img[row+3,col+2]))/2
        #N
        IB[row+3,col+1]=(int(img[row+3,col])+int(img[row+3,col+2]))/2
        #J
        IB[row+2,col+1]=(int(img[row+1,col])+int(img[row+3,col])+int(img[row+1,col+2])+int(img[row+3,col+2]))/4
        #FIRST ROW
        IB[row,col] = IB[row+1,col]
        IB[row,col+1] = IB[row+1,col+1]
        IB[row,col+2] = IB[row+1,col+2]
        IB[row,col+3] = IB[row+1,col+2]
        #LAST COLUMN
        IB[row+1,col+3] = IB[row+1,col+2]
        IB[row+2,col+3] = IB[row+2,col+2]
        IB[row+3,col+3] = IB[row+3,col+2]
        
rgb[:,:,0]=IR
rgb[:,:,1]=IG
rgb[:,:,2]=IB

三、数字图像处理的前世今生

3.1. 数字图像处理的前世

数字图像处理是在二十世纪初期开始发展的。在1920年代和1930年代,人们开始使用光电设备将实际物体的图像转换成数字信号。在20世纪50年代,数字计算机的出现为数字图像处理提供了强有力的支持,使得图像的处理和分析变得更加容易。

数字图像处理在医学图像处理、地质勘探、航空航天、材料检验等领域都得到了广泛的应用。随着计算机技术和数字图像处理技术的不断发展,数字图像处理已经成为一个非常重要的领域。它不仅在科学研究中得到了广泛的应用,而且在工业生产和日常生活中也得到了越来越多的应用。

3.2. 数字图像处理的今生

今生未完待续,敬请期待。

四、数字图像处理的应用

此书根据图像的信息源进行分类介绍。

4.1. 伽马射线成像

成像方法:利用放射性同位素的物质衰变所放射出的伽马射线的检测产生图像。

用途:主要用于核医学和天文观测。

4.2. X射线成像

成像方法: X射线管是带有阴极和阳极的真空管。阴极加热释放自由电子,这些电子以很高的速度向阳极流动,当电子撞击一个原子核时,能量被释放并形成X射线辐射,从而可以得到X射线成像。

用途: 医学诊断、 工业、天文学和其他领域 。

4.3. 紫外波段成像

成像方法: 当紫外辐射光子与荧光材料内原子中的电子碰撞时,它把电子提高到较高的能级,随后受激电子释放到较低的能级,并以可见光范围内的低能光子形式发光。

用途:平板印刷术、工业检测、显微方法、激光、生物成像和天文观测等。

4.4. 可见光及红外波段成像

成像方法:可见光及肉眼可见的光波,而红外波段常用于可见光图像的增强显示。

用途:计算机视觉,天文学,遥感等方面。

4.5. 微波波段成像

成像方法:获取微波反射信号实现图像的获取。

用途: 具有穿透力强、不易受光线、天气等环境干扰的特点。在军事、地质、农业等领域有一定的优势。

4.6. 无线电波段成像

成像方法:以医学为例。 该技术是把病人放在电磁场中,并让无线电波短脉冲通过病人的身体,每个脉冲将导致由病人的组织发射的无线电响应脉冲,这些信号发生的位置和强度由计算机确定,从而产生病人的一幅二维剖面图像。

用途: 主要应用于医学和天文学 。

五、怎么对数字图像进行处理?

根据此书中的介绍,要对图像进行处理首先应该要获取图像。获取到图像后根据应用场景选择图像滤波与增强、图像复原、彩色图像处理、小波与多分辨率处理、压缩等处理方式对图像数据进行预操作。然后根据图像处理场景属于形态学处理、分割、表示和描述还是目标识别,进而提取应用场景下所需的属性信息。由于本章属于绪论,对于数据处理方法更多的是介绍层面,后续会有针对性的展开介绍。

小结、

没有小结,去别的地方看看吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17685.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式系统】课程复习资料整理

【嵌入式系统】课程复习资料整理 一、绪论 1.定义 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件&a…

使用crontab定时自动更新DDNS

需求说明: N1盒子的armbian系统配置好了 ipv6 的ddns,实现了域名访问本机,但是本地ipv6可能会发生变化,当发生变化后,需要手动执行指令,将新的ip与域名绑定,现在我们采用定时任务,每…

Nuvoton NK-980IOT开发板 u-boot 编译

前言 最近搭建了 Nuvoton NK-980IOT开发板 的开发编译环境,记录一下 u-boot 的 编译流程 Nuvoton NK-980IOT开发板 资源还是比较的丰富的,可以用于 嵌入式Linux 或者 RT-Thread 的学习开发 开发板上电比较的容易,两根 USB 线即可&#xff0…

计网笔记 01 概述 计算机网络体系结构、参考模型

文章目录 前言1、计网概述1.1 概念、组成、功能、分类1.1.1 概念1.1.2 计网组成1.1.2 计网分类 1.2 标准化工作及相关组织1.2.1 标准的分类 1.3 性能指标★★★1.3.1 速率相关性能指标1.3.2 时延相关指标 2、体系结构&参考模型★★★★★(对应王道视频7-10p 相当…

Android Jetpack:利用Palette进行图片取色

与产品MM那些事 新来一个产品MM,因为比较平,我们就叫她A妹吧。A妹来第一天就指出:页面顶部的Banner广告位的背景是白色的,太单调啦,人家不喜欢啦,需要根据广告图片的内容自动切换背景颜色,颜色…

基于CUDA的GPU计算PI值

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 基于CUDA的GPU计算PI值。本项目使用CUDA编程模型并行计算PI值,研究GPU与CPU效率的比较,分析不同GPU线程分块对性能的影响。 异构计算试验报告 —实验1:基于CUDA的GPU计算PI值 第一部分&…

JS逆向 -- 某平台登录加密分析

一、打开网站,使用账号密码登录 账号:aiyou123.com 密码:123456 二、通过F12抓包,抓到如下数据,发现密码加密了 三、加密结果是32位,首先考虑是md5加密。 四、全局搜索pwd,点击右上角&#xf…

【ros2】ros melodic迁移到ros2 dashing过程中碰到的问题及解决方法

序言 总结踩坑经历,以利他人 1. error: forming pointer to reference type … & 报错原因: ros2回调函数的参数不能是引用形式 &,需要去除& 解决方法: 如果是指针引用,直接去除引用 void Callback(con…

javascript中的严格模式

认识严格模式: 在ECMAScript5标准中,JavaScript提出了严格模式的概念(Strict Mode): 严格模式很好理解,是一种具有限制性的JavaScript模式,从而是代码隐式的脱离了“懒散(sloppy)模…

软件测试实战,Web测试详细总结 (覆盖所有测试点),你要的都有

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Web自动化测试&…

在技术圈超卷的当下,学历到底是敲门砖还是枷锁?

前言 最近,突然之间被“孔乙己文学”刷屏了,短时间内“孔乙己文学”迅速走红,孔乙己是中国文学中的一位经典人物,他的长衫被认为是他的象征之一,孔乙己的长衫折射出很多现象,既有社会的,也有教育…

Android平台播放透明视频

Android平台播放透明视频 思路 设计一种特殊的视频,它的一半内容存储alpha信息,另一半内容存储rgb信息,接着通过OpenGL获取每个像素点的alpha值和rgb值进行混合,最后出来的画面就是带有透明效果的视频了。 可以上下的分&#xf…

服务器中了勒索病毒,升级后的Malox勒索病毒特征,勒索病毒解密数据恢复

Mallox勒索病毒是网络上较为流行的勒索病毒,但是随着黑客加密技术的不断升级,Mallox勒索病毒的新升级版本Malox勒索病毒已经开始出现。Malox勒索病毒是一种最近在网络上广泛传播的恶意软件,其感染方式多种多样,主要以加密受害人的…

基于zookeeper实现分布式锁

目录 zookeeper知识点复习 相关概念 java客户端操作 实现思路分析 基本实现 初始化链接 代码落地 优化:性能优化 实现阻塞锁 监听实现阻塞锁 优化:可重入锁 zk分布式锁小结 zookeeper知识点复习 Zookeeper(业界简称zk&#xff…

Zookeeper系统模型介绍

目录 一、数据模型 二、 节点的类型 (1)持久节点 (2)持久顺序节点 (3)临时节点 (4)临时顺序节点 三、客户端命令行 (1)创建节点 (2&…

最新VUE面试题

前言 本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性、框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度。 本文章节结构以从易到难进行组织,建议读者按章节顺序进行阅读,当然大佬级别的…

操作系统——进程管理

0.关注博主有更多知识 操作系统入门知识合集 目录 0.关注博主有更多知识 4.1进程概念 4.1.1进程基本概念 思考题: 4.1.2进程状态 思考题: 4.1.3进程控制块PCB 4.2进程控制 思考题: 4.3线程 思考题: 4.4临界资源与临…

【分布式技术专题】「授权认证体系」OAuth2.0协议的入门到精通系列之授权码模式

这里写目录标题 OAuth2.0是什么OAuth2.0协议体系的Roles角色OAuth定义了四个角色资源所有者资源服务器客户端授权服务器 传统的客户机-服务器身份验证模型的问题 协议流程认证授权授权码 OAuth2.0是什么 OAuth 2.0是用于授权的行业标准协议。OAuth 2.0专注于简化客户端开发人员…

一文介绍Linux EAS

能量感知调度(Energy Aware Scheduling,简称EAS)是目前Android手机中Linux线程调度器的基础功能,它使调度器能预测其决策对CPU能耗的影响。依靠CPU的能量模型(Energy Model,简称EM),…

疑难问题定位案例复盘(三)

今天我们分享一个数据库被异常改写的案例,通过该案例我们可以学习总结出常规的文件被改写问题定位思路。 问题现象 1、测试环境在进行特定压力测试时发现页面登陆异常,且调试日志多个进程持续打印“数据库打开失败”日志。 2、测试环境在进行多个压力测…