数字图像处理——数字图像基础(持续更新)

视觉感知要素——亮度适应和鉴别:

人眼对不同亮度的适应和鉴别能力:亮 -> 暗  适应;暗 -> 亮  适应

图像取样量化

1、概念:

数字化坐标值称为取样

数字化幅度值称为量化     

 2、

坐标的数字化称为采样,幅度值的数字化称为量化。

对于取样:图像的取样率:单位距离的取样数目(在两个空间方向上)

对于量化:对于灰度级的量化

空间坐标的数字化——图像取样

强度的数字化——灰度级量化

3、图像取样和量化的步骤

模拟图像信号--》空间采样--》灰度级(强度)量化

公式化表达:--》--》

4、

(1)均匀采样和量化
(2)非均匀采样和量化:
        非均匀采样:在灰度级变化尖锐的区域,用细腻的采样,在灰度级比较平滑的区域,用粗糙的采样。

        非均匀量化:频繁出现的灰度值范围,量化间隔取小一些,而对那些像素灰度值极少出现的范围,则量化间隔取大一些。(变化频繁,取小;变化不频繁,取大。

数字图像的表示

1、L=2^k,称为k位图,其中L为灰度级。

2、存储一幅512×512,有256个灰度级的图像需要多少比特?

        答: 存储一幅大小为M×N,有2^k个不同灰度级的图像所用的Bit数为: b=M×N×k

因此,存储一幅512×512 ,有256个灰度级(k=8)的图像需要512×512×8=2097152(Bit)

 空间和灰度分辨率

空间分辨率:图像中可分辨的最小细节,主要由采样间隔值决定

采样间隔值越小,空间分辨率越高。(成反比)

实例:空间分辨率变化对图像视觉效果的影响

>> rose1 = imread("rose1.tif");
>> rose2 = rose1(1:10:1024,1:10:1024);
>> subplot(1,2,1),imshow(rose1);title("原图");
>> subplot(1,2,2),imshow(rose2);title("采样后的图");

小结:

1、 图像的分辨率表示的是能看到图像细节的多少,显然依赖于 M × N L
         保持M × N 不变而减少 L 则会导致假轮廓
         保持L 不变而减少 M × N 则会导致棋盘状效果
2、 图像质量一般随着 M × N L 的增加而增加,但存储量增大。
3、 实验表明 图像的细节越多,用保持 M × N 恒定而增加 L 的方法来提高图像的显示效果就越不明显 ,因此,对于有大量细节的图像只需要少数的灰度级。

图像的收缩与放大

1、图像的收缩—— 行、列删除

2、图像的放大——创立新的象素位置;②给新象素赋灰度值

        最近邻域内插方法

        双线性内插方法

像素间的一些基本关系

1、邻域

 2、邻接性

相邻:位置相邻

邻接:位置和像素值都相同

(1)4邻接

(2)8邻接

(3)m邻接(混合邻接):若像素p和q的灰度值均属于V中的元素,{①q在N4(p)中,或者②q在ND(p)中}且{集合N4(p)∩N4(q)没有V值的像素},则具有V值的像素p和q是m邻接的。

例题1:

两种邻接及其关系见下图所示,相似性准则为V={1}

pq4邻接,也8邻接;

qr 8邻接但非4邻接。

 例题2:

4、通路

5、连通性

距离的度量

1、定义

2、三种距离的关系

通过D4D8的计算,可以大大减少运算量,以适应数字图像数据量很大的特点。

 图像处理的数学公式

1、矩阵操作

2、线性和非线性操作

3、算数操作

算术运算只涉及一个空间位置(象素)的运算;

算术运算在相同大小的图像之间进行;
1、加法: 去除“叠加性”噪音  ;生成图像的叠加效果

2、减法:去除不需要的叠加性图案;检测两幅图像之间的差别,增强细节;计算物体边界的梯度(差分运算)

3、乘法:图象的局部显示

实例:

>> a1 = imread('rose1.tif');
>> h = zeros(1024,1024);
>> h(500:700,500:700) = 1;
>> a1 = im2double(a1);
>>  a2 = a1.*h;
>> subplot(1,3,1),imshow(a1);title("原图");
>> subplot(1,3,2),imshow(h);title("h");
>> subplot(1,3,3),imshow(a2);title("a2");

4、图像处理的逻辑操作:与、非、或 (像素灰度值作为二进制串处理)

5、图像数据格式的转换: double(): 其他 格式转 double 格式 (常用)
6、imhist: 显示图像数据的柱状图。
语法: imhist (Image)

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

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

相关文章

【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式

【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式 一. 内容概述 1. 第二章主要有两个内容 (1)一个核心概念:状态值(state value):从一个状态出发,沿着一个策略我…

GIS水文分析填充伪洼地学习

1 基本操作 洼地是指流域内被较高高程所包围的局部区域; 分为自然洼地和伪洼地; 自然洼地是自然界实际存在的洼地; 在 DEM 数据中,由于数据处理的误差和不合适的插值方法所产生的洼地,称为伪洼地; DEM 数据…

【C语言】汉诺塔问题

目录 一、何为汉诺塔问题? 二、汉诺塔计算规律 三、打印汉诺塔的移动路径 总结 一、何为汉诺塔问题? 汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世…

Linux Shell:`cat`命令

Linux Shell:cat命令 Linux 系统中的 cat 命令是一种多用途的工具,主要用于查看、创建、连接和追加文件内容。其名称来源于 concatenate 的缩写,意味着它可以用来连接文件内容到标准输出(屏幕)。在日常使用中&#xf…

C语言整数和小数的存储

1.整数在内存中的存储 计算机使用二进制进行存储、运算,整数在内存中存储使用的是二进制补码 1.1原码、反码、补码 整数的2进制表⽰⽅法有三种,即 原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”&am…

WHILE循环

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 WHILE 循环是先判断条件,如果条件成立就执行循环体,如果不成立,就退出循环 while 条件表达式 loop 语句序列 end loop 运行的时候&…

14届蓝桥杯省赛 C/C++ B组 T8 整数删除(双向链表,堆)

瞬间定位一个数的左边或者右边,需要用到双向链表。 在过程中不断维护最小值,需要用到堆。 所以定义一个pair类型优先队列,每次取出堆顶进行删除,并且同时让删除元素的左右元素加上其值。 同时需要注意,在删除元素之后…

5. 4 二重循环将二维数组的某列、某矩形转大写

5. 4 二重循环将二维数组的某列、某矩形转大写 1. 把每一行的b都变成大写 assume cs:codesg,ds:data,ss:stack data segmeNTstr db aaaaabbbbbcccccdb aaaaabbbbbcccccdb aaaaabbbbbcccccdb aaaaabbbbbccccc,$ data endsstack segmentdb 10 dup(0) stack endscodesg SEgments…

船气废弃锅炉三维仿真vr交互展示降低培训门槛

火化炉是殡葬行业的核心设备,其操作技艺对于专业人才的培养至关重要。然而,传统实践教学受限于时间、场地、设备损耗等多重因素,难以给予学生充分的实操机会。面对这一挑战,我们创新推出了火化炉vr三维仿真培训软件,以…

Java私房菜:探索泛型之妙用与深意

“泛型”(generics)作为Java特性之一,相信大家也耳熟能详了,就算没听说过,也肯定看过或偶然间使用过泛型,在这里,我们一起重新温习一下泛型,通过一些案例引发些新的思考。Java中的泛…

保研复习数据结构-图(10)

一.图的定义和基本术语 1.什么是图? 图(Graph)是由顶点的有穷非空集合V(G)和顶点之间边的集合E(G)组成,通常表示为:G(V,E),其中,G表示图,V是图G中顶点的集合,E是图G中边的集合。 2.什么是完全图&#xf…

MySQL基础练习题:创建数据库

这部分主要是为了帮助大家回忆回忆MySQL的基本语法,数据库来自于MySQL的官方简化版,题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。 创建数据库 在开始练习之前,我默认你的电脑上是没有本系列练习题需要…

题目:【序列中删除指定数字】【变种水仙花数】【数组串联】【交换奇偶位】【offsetof宏的实现】

题目一:序列中删除指定数字 #include <stdio.h>int main(){int a0;int arr[50]{0};int c0;scanf("%d",&a);for(int i0;i<a;i){scanf("%d",&arr[i]);//输入a个值}scanf("%d",&c);//输入要删除的数据int i0;int j0;for(i0;i&…

【科东软件】鸿道Intewell-Win_V2.1.1_release版本正式发布

Intewell-Win_V2.1.1_release版本 版本号&#xff1a;V2.1.1 版本发布类型&#xff1a;release正式版本 版本特点 修复此前版本中的问题 运行环境推荐 Intewell developer可以运行在windows7及windows10 64位 支持硬件列表

【40分钟速成智能风控2】互联网金融信用风险

目录 ​编辑 信用风险 白名单准入 贷前识别 贷中管理 贷后催收 信用风险 白名单准入 白名单是信用风险管理的第一道门槛&#xff0c;与整个平台贷款产品的设计和定位有紧密的联系。白名单设立的初衷是圈定目标客户&#xff0c;有了目标客群之后才能更好地进行精准营销&…

非关系型数据库——三万字Redis数据库详解

目录 前言 一、Redis概述 1.主要特点 2.Redis优缺点 3.Redis为什么这么快 4.Redis那么快&#xff0c;为什么不用它做主数据库&#xff0c;只用它做缓存 5.线程模型 5.1单线程架构 5.2多线程IO处理&#xff08;Redis 6及以上&#xff09; 5.3线程模型的优化 6.作用 …

基于SpringBoot+微信小程序的点餐系统

一、项目背景介绍&#xff1a; 小程序外卖扫码点餐为客户提供的是最方便的饮食方式,以快速、便捷的点餐业务送货上门为 -客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。同时,小程序外卖扫码点餐可以辅助餐饮企业营销,通过信息管理,可以记录餐饮企业方方面面…

Linux--进程(2)

目录 前言 1. 进程的状态 1.1 进程排队 1.2 运行&#xff0c;阻塞&#xff0c;挂起 2.Linux下具体的进程状态 2.1僵尸和孤儿 3.进程的优先级 4.Linux的调度与切换 前言 这篇继续来学习进程的其它知识 上篇文章&#xff1a;Linux--进程&#xff08;1&#xff09;-CS…

挑战30天C++基本入门(DAY8--树)[part 3](速通哦~)

#上一章我们把搜索二叉树的知识给传授完毕&#xff0c;如果认真的看下去并且手打了几遍&#xff0c;基本上内部的逻辑还是可以理解的&#xff0c;那我们现在就截至继续学习树的一些重要知识啦~~ 树高怎么求呀&#xff1f;如果用上一次学的层次遍历来求树高&#xff0c;有点小题…

笔记 | 软件工程:需求分析

1 需求分析 #需求分析 1.1 需求分析概述 初步软件需求存在的问题&#xff1a;不具体&#xff0c;不清晰&#xff0c;关系不明朗&#xff0c;存在潜在缺陷&#xff0c;没有区分不同软件需求&#xff08;有必要鉴别不同软件需求项的重要性差别&#xff0c;区分不同软件需求的开…