暑假间做的图像处理基础知识提要

2024-01-08 05:32

本文主要是介绍暑假间做的图像处理基础知识提要,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图像处理

1.图像、图像处理

图像:凡是人类视觉上能感受到的信息都可称为图像。

图像处理:利用计算机将对图像进行去除噪声、增强、复原、分割、提取特征等的理论、方法、技术。

 

2.模拟图像、数字图像

模拟图像:如光学图像、照相图像、电视图像等。

                   优:处理速度快。

                   劣:精度、灵活性差、不易查找和判断。

模拟图像经过离散化处理成为数字图像。

数字图像:一个经过等距离矩阵网络采样,对幅度进行等距离间隔量化的二维函数。

 

3.目的、基本特点

目的:

1.提高图像视觉质量、以赏心悦目

  1. 去噪、改变亮度颜色
  2. 增强某些成分,抑制某些成分
  3. 对图像进行几何变换

2.提取图片中包含的某些特征信息、便于计算机分析

     a.用作模式识别、计算机视觉的预处理

    b.频域特征、灰度/颜色特性、边界/区域特性、纹理特性、形状/拓扑特性、关系结构等

3.对图像数据进行变换,编码、压缩、便于图像存储和传输。

 

特点:

  1. 处理精度高,再现性好
  2. 易于控制处理效果
  3. 处理的多样性
  4. 数字图像中各像素间相关性和压缩潜力大
  5. 图像处理数据庞大
  6. 占用频带较宽
  7. 图片质量评价受主观因素影响
  8. 图像处理技术综合性强

 

4.涉及领域、门类

涉及领域:通信技术、计算机技术、电子技术、电视技术

门类:

  1. 医疗
  2. 识别
  3. 零件检测
  4. 卫星图像

 

5.内容

  1. 图像数字化
  2. 图像几何变换
  3. 图像重建
  4. 图像变换
  5. 图像分析
  6. 图像增强
  7. 图像复原
  8. 图像隐藏
  9. 图像编码

 

6.图像质量

1.亮度

2.对比度(最大亮度/最小亮度)

3.尺寸

4.大小

5.细微层次(模糊)

6.颜色饱和度

 

7. 图像存储与格式

1. BMP(BitMaP)格式

2. GIF(Graphics Interchange Format)格式

3. TIFF(Tagged Image Format File)格式

4. JPEG(Joint Photographic Expert Group)格式

 

8.图像坐标变换

1.旋转

2.尺度(缩放)

3.平移

4.错切

5.反射

6.投影

7.反变换

8.1 旋转

原理:绕原点逆时针旋转θ度角的变换公式是x′=x cosθ − ysinθ与y′=xsinθ+ycosθ,在二维空间中用矩阵表示为:

但是为了可以表示仿射变换,需要使用齐次坐标,常见的矩阵变化都是在三维下进行的,在矩阵中增加一列与一行,除右下角的元素为1外其它部分填充为0,通过这种方法,所有的线性变换都可以转换为仿射变换。此时旋转矩阵如下所示

仿射变换:包含平移及线性映射,为了使矩阵乘法可同时实现这两个功能,需要所有向量在其末端扩长 1”且所有矩阵都于底部添加一排零,右边扩长一列转换向量,及右下角添加一个 1”。

 

MATLAB实现

clc;clear;close all;

%% image rotate

img = imread('/Users/Documents/MATLAB/lena.jpg');

rotateImg = imrotate(img,30);

figure;

subplot(1,2,1),imshow(img);

subplot(1,2,2),imshow(rotateImg);

效果可以看到图像逆时针旋转了30

 

简单解析

打开matlabimrotate函数源码,在命令行敲

type imrotate

找出关键信息可以看到,图像旋转利用矩阵旋转实现,旋转矩阵为tform

tform = affine2d([cosd(ang) -sind(ang) 0; sind(ang) cosd(ang) 0 ; 0 0 1])

B = imwarp(A,tform,method,'OutputView',Rout, 'SmoothEdges',true);

8.2尺度(缩放)

基于上文,即坐标变换通常3x3大小的矩阵完成,对矩阵中的每一点生成[x,y,1]三维向量与变换矩阵相乘,便得到新矩阵,大多数图像几何变换都基于矩阵完成,用字母表示为从A到I,如下图。

 

对于缩放有

 

 

8.3平移

8.4错切

错切常分为x轴错切或者y轴错切,平行于x轴的切变为x′=x+ky与y′=y,

平行于y轴的切变为x′=x与y′=y+kx,矩阵实现参考下图(不是很懂)

8.5反射

二维反射变换如下,三维的基于上文变为增广矩阵即可。

8.6投影

 

8.7反变换

     

9.采样与量化

大多数传感器(如CMOS)的输出是连续信号波形,为了产生一幅数字图像,需要把连续的感知数据转化为离散的数字形式,这包括两种处理:取样和量化。

取样(Sampling):图像函数定义域(空间坐 标)的数字化。

量化(Quantization):图像函数值域(灰度值) 的数字化。

采样:采样通常为求每个像素对应区域内的积分均值,实际中,模拟信号都是电流\电压值,经过A/D转换为数字信号,具体可参考VB工业编程。

 

 

采样点越多,数据量越多,图像越清晰

 

 

量化:量化常分为2^m,m=8最常见,即把模拟信号最大最小值中分段量化

量化阶数越高,视觉效果越好

 

 

 

10.像素、邻域、距离

像素

像素定义类似与眼球的杆状体,每张图片都是像素点的集合,常见的显示器描述就是以像素为单位,例如”640480”,它有横向640像素和纵向480像素(就像VGA显示器那样),因此其总数为640 × 480 = 307,200像素(30.72万像素)。

数字图像均由像素点构成,依据坐标原点位置的不同常分为两类,每个像素点标示为I(r,c)f(x,y)

灰度图像的值域I是一个一元标量: I=greylevel

彩色图像的值域I是一个多元向量: I=(r,g,b)

每一个像素所能表达的不同颜色数取决于比特每像素(BPP,bit per pixel)。这个最大数可以通过取2的色彩深度次幂来得到。例如,常见的取值有

8 bpp:256色              “8位”;

16 bpp:216=65,536色       “高彩色”;

24 bpp:224=16,777,216色    真彩色 “24位色”;

32 bpp:224 +28             全彩

电脑领域较常见的32位色并不是表示232种颜色,而是在24位色基础上增加了8位(28=256级)的灰阶,因此32位的色彩总数和24位是相同的,32位也称为。

(注:对于超过8位的深度,这些数位就是三个分量(红绿蓝)的各自的数位的总和。一个16位的深度通常分为5位红色和5比特蓝色,6比特绿色。24位的深度一般是每个分量8位。

一张普通图片的像素点如下图所示:

 

注:

1.matlab以矩阵形式读入即可查看图片属性,常见为8位灰度或者3通道RGB24位彩色图

2.人眼只能分辨1000种颜色

 

邻域

4邻域:像素p(x,y)4邻域是:(x+1,y);(x-1,y);(x,y+1);(x,y-1)

N4(p)表示像素p4邻域

 

D邻域:像素p(x,y)D邻域是:(x-1,y-1);(x-1,y+1);(x+1,y+1);(x+1,y-1)

ND(p)表示像素pD邻域

8邻域:4邻域的点+ D邻域的点

N8p表示像素p8邻域

N8p = N4p + NDp

 

连通性

对于灰度值在V中的像素pq,如果q在集合N4p中,则称这两个像素是4连通的,8联通与此类似

距离

像素间的距离分为三种

- 欧几里得距离(Euclidean distance)

- D4距离或城市距离(Manhattan distance)

- D8距离或棋盘距离(Chessboard distance

 

欧式距离:在欧氏距离定义下,具有与(x,y)距离小于等于某个值r的像素是:包含在以(x,y)为圆心,以r为半径的圆。像素p(x,y)和q(s,t)间的欧氏距离定义如下

  城市距离:像素p(x,y)q(s,t)间的城市距离定义如下:

具有D4 = 1的像素是(x,y)4邻域,具有与(x,y)距离小于等于某个值r的那些像素形成直角菱形

 

棋盘距离:像素p(x,y)q(s,t)间的 D8距离定义如下:

具有与(x,y)距离小于等于某个值r的那些像素形成正方形,具有D8 = 1的像素是(x,y)8邻域

 

路径

一条从具有坐标(x,y)的像素p,到具有坐标(s,t)的像素q的路径,是具有坐标(x0,y0),(x1,y1),,(xn,yn)的不同像素的序列。其中,(x0,y0) = (x,y)(xn,yn) = (s,t)(xi,yi) (xi-1,yi-1)是邻接的,1 i nn是路径的长度。

如果(x0,y0) = (xn,yn) ,则该路径是闭合路径。可以用定义连通的类似方法定义4-路径和8-路径。

 

11. 图像显示

抖动技术:误差抖动常用在图像/视频压缩中,用来降低色彩的深度。如下图所示,256级(8bit)灰度过度 【图二】将图一转换成16级(8bit)灰度(高4位不变,低4位置0) 【图三】将图一用误差扩散法转换成16级灰度。

可看出图3效果好于图2

 

参考文献:

  1. 图像处理基础知识总结1 - CSDN博客 https://blog.csdn.net/u013828589/article/details/72478508#t2
  2. 微信读书—数字图像处理与分析—杨帆—1.1和1.2
  3. 数字图像处理 http://www.graphics.pku.edu.cn/lectures/DigitalImageProcessing/dip_home.htm

这篇关于暑假间做的图像处理基础知识提要的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/582463

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

有关机械硬盘的基础知识

1,机械硬盘的品牌   目前市场中常见的笔记本电脑的机械硬盘品牌主要有希捷、西部数据、三星等。   2,机械硬盘的容量   硬盘容量,即硬盘所能存储的最大数据量。虽然笔记本电脑硬盘的容量会因单位密度的提升而增加,不过和台式电脑的大容量比起来,笔记本电脑硬盘的容量仍然落后许多。笔记本电脑的硬盘除了对磁盘有体积较小和数量较少的要求之外,对功耗、耐用程度、抗震性及成本等的考虑,也让笔记

OpenGL ES学习总结:基础知识简介

什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库。 为桌面版本OpenGL 的一个子集。 OpenGL ES管道(Pipeline) OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工

计算机基础知识复习9.6

点对点链路:两个相邻节点通过一个链路相连,没有第三者 应用:PPP协议,常用于广域网 广播式链路:所有主机共享通信介质 应用:早期的总线以太网,无线局域网,常用于局域网 典型拓扑结构:总线型 星型(逻辑总线型) 介质访问控制  静态划分信道 信道划分介质访问控制 频分多路复用FDM 时分多路复用TDM 波分多路复用WDM 码分多路复用CDM 动态分配信道 轮询访问介质访问控

Gitflow基础知识

0.理想状态 现状 听完后的理想状态 没使用过 git 知道 git 是什么,会用 git 基础流程命令 用过 git,但只通过图形化界面操作 脱离图形化界面操作,通过 git 命令操作 会 git 命令 掌握 gitflow 规范,合理使用 rebase 和解决代码冲突问题 1.Git 的基础流程&命令 1.1 基础概念 工作区:代码生产基地,pycharm