数字图像处理(1)——认识数字图像

article/2025/11/8 0:14:01

目录

1、数字图像的构成

2、不同环境图像的存储方式

2.1、计算机中的颜色是离散的

2.2、MATLAB、OpenCV、Python中的图像都是什么

3、图像中的信息

4、数字图像处理的基本步骤

5、预备知识

5.1、邻接性、连通性、区域和边界

5.1.1 邻接性

5.1.2、连通性

5.1.3、区域和边界

5.1.4、度量图像的距离

5.2、图像的基本操作

5.2.1、点运算和邻域运算

5.2.2、线性和非线性操作

参考:


1、数字图像的构成

        简单说,数字图像其实就是能在计算机上显示和操作的图。要说图像,其实必须得先讲图像得成像原理。大家通过中学得学习都了解三原色的知识:

       当然,在计算机的表示中,采用的光学三原色方式存储的。这里就简单的说一下,人们将不同的颜色进行细分,有点类似于AD转换的原理,就是把模拟量按一定的精度以二进制存放到计算机里面,以用于计算和显示。

详细说的话得借用朱有鹏老师的介绍:

颜色在计算机中的表示
1.1、颜色的本质
(1)颜色是主观存在的,颜色其实是自然光在人的眼睛中和大脑中产生的一种映像。
(2)颜色的本质决定于光的波长
1.2、自然光的颜色是连续的
光的波长是连续的,导致颜色也是连续的。理论上,只要眼睛的分变能力足够好,可以在自然界中发现无数种颜色。

根据图像特性可以分为两类:位图和矢量图。位图在我们常见的图片格式中主要是BMP、JPG、GIF等,位图表现为像素构成的图像,就是各种点形成的。而矢量图则由矢量数据库表示,最常见的就是 PNG 格式的图。矢量图缩放不会造成图像的失真,入下图[1]:

位图与矢量图对比
图像类型组成优点不足
位图像素只要有足够多的不同色彩的像素,就可以制作出色彩丰富的图象,逼真地表现自然界的景象缩放和旋转容易失真,同时文件容量较大
矢量图矢量文件容量较小,在进行放大、缩小或旋转等操作时图象不会失真不易制作色彩变化太多的图象

本系列主要采用位图来做处理。

2、不同环境图像的存储方式

2.1、计算机中的颜色是离散的


    (1)计算机中不可能存储无数种颜色,所以必须将颜色有限化,所以就用有限种颜色来代表自然界种的无限种颜色。这个理论类似于AD转换。
    (2)这种离散化的缺点是不够真实,漏掉了很多种颜色。因此计算机种所能表示的颜色不如自然界中的丰富(计算机屏幕上显示的图像和真实图像有差别)。
    (3)计算机所能表达的颜色种类个数,这个参数就叫像素深度。
    1位:一个二进制位表示颜色,这种就叫单色显示。实例就是小饭店、理发店门口的LED屏。

单色屏,只有亮和不亮的元素

                                                                                
    8位:用8个二进制位来表示颜色,此时能表示256中颜色。这种叫灰度显示。这时候是黑白的,没有彩色。我们把纯白到纯黑分别对应表示255-0。中间的数对应不同的灰。实例就是以前的黑白电视机。

灰度图像


    16位:用16个二进制位表示颜色,此时能表示65536种颜色。这时候就可以彩色显示了。一般采用RGB565的颜色分布(5位二进制表示红色、6位二进制表示绿色、5位二进制表示蓝色)。这种红绿蓝都有的颜色表示法就是一种模拟自然界中所有颜色的表示方式。但是因为RGB的颜色表达本身二进制位数不够多(导致红绿蓝三种颜色本身分的都不够细致),所以这样显示的彩色失真比较严重,所以人眼能明显看出显示的不真实。
补充:颜色的组成,三原色RGB。

RGB图像
RGB图像


    24位:用24个二进制位表示颜色,能够表示16777216。这种表示方法和16位表示原理一样,只是RGB三种颜色各自的精度都更高了,RGB888。比RGB565更加真实细腻,虽然说比自然界无数种颜色还是少了很多,不过由于人眼的不理想性,人眼是感受不到这种差别,于是把RGB888的表示方法称为真彩色;RGB565位伪彩色。
    32位:总共用32位二进制表示颜色,其中24位表示红绿蓝三原色,仍为RGB888,剩下的8位表示透明度。这种显色方式就叫ARGB(A为alpha,表示透明度),现在的PC中一般都是ARGB表示颜色。

2.2、MATLAB、OpenCV、Python中的图像都是什么

       在考试的时候可能会遇到这样的问题:"opencv里面RGB图像的存储方式是什么?"

       (1)、MATLAB 是一个强大的数学计算软件,MATLAB 中的图像是作为三维矩阵来存放的。

MATLAB中300*300*3的图像
image(:,:,1) 红色分布情况(右边的黑线哪来的?)

 

image(:,:,3)蓝色分布情况
image(:,:,2)绿色分布情况

 

上面的黑线不知道哪里来的,原图是直接从百度扣下来的!!

MATLAB直接作为矩阵操作即可。

RGB存储位(24位)-MATLAB
颜色RGB
红色(0xFF0000)25500
绿色(0x00FF00)02550
蓝色(0x0000FF)00255

(2)OpenCV 是一个开源的图像处理函数库,主要由C++写成。

图像在OpenCV中的存放方式与MATLAB不同,大家可以参考[2]。

RGB存储位(24位)-OpenCV
颜色RGB
红色(0x0000FF)25500
绿色(0xFF0000)02550
蓝色(0xFF0000)00255

在OpenCV中,红色存储在低位,蓝色存储在高位上。

(3)Python 不使用OpennCV的情况下

        Python是一种跨平台的计算机程序设计语言[3]。,可以通过各种各样的模块来进行各种开发项目。本系列主要针对 PIL 模块进行图像处理的研究。

        图像在Python中的存放方式与MATLAB中相同,也是采用了类似于矩阵的形式。Python中用于图像处理的库主要有PIL和matplotlib,并且常常结合numpy来使用。其中matplotlib受到matlab的启发,是绘制各类可视化图形的重要工具。

理解图像的存储方式对于后续的计算和使用十分重要!!!!!

3、图像中的信息

      通过视觉,人和动物感知外界物体的大小、明暗、颜色、动静,获得对机体生存具有重要意义的各种信息,至少有80%以上的外界信息经视觉获得,视觉是人和动物最重要的感觉[4]。

       在数字图像处理中,图像含有很多有用的信息,提取出来这些信息是图像处理的主要工作。这些信息有轮廓、颜色等。

4、数字图像处理的基本步骤

数字图像处理的步骤主要有以下[5]:

(1)图像的点运算:如图像的拉伸、对比度增强、直方图均衡和直方图匹配等;

(2)图像的几何变换:主要应用于图像的几何归一化;

(3)图像的增强;

(4)小波变换;

(5)图像复原;

(6)彩色图像处理;

(7)图像分割;

(8)特征提取;

(9)对象识别。

 

5、预备知识

5.1、邻接性、连通性、区域和边界

5.1.1 邻接性

        邻接性主要用于确定像素之间的相似程度,主要有3种邻接关系[5],如图:

相似性其实是有主观标准的。另外,邻域的定义是有数学形式的。

首先定义一个概念,就是 N_{D}(P) 为对角邻域,即第三幅图所示的位置;另外,定义V用于决定邻接性的灰度值集合,用于确定像素之间的相似度,假设我们认为只有灰度值为1的像素是相似的,则V = {1},假如我们认为 灰度为0,1,2的像素是相似的,那么V = {0,1,2}。即 V 是相似灰度值(或彩色值)相似的值的集合。

4-邻接:设一个像素 Q满足 Q 在 P 的四邻域内,即 Q\in N_{4}(P) ,则称V中两个数值的像素 P,Q 是 4 邻接的。

理解:这里要求的四邻接有2个条件,首先,像素 Q满足 Q 在 P 的四邻域内;其次像素P和Q的灰度值要在V中,这样才能称为 4 邻域。

同样,8-邻域也是这样定义的。

5.1.2、连通性

       连通性的定义与邻接性相关,首先定义一个通路(Path)的概念。

       通路:是指两个不同位置的像素P(x0,y0),Q(xm,yn),从一个像素出发,存在至少一个特定的像素序列 (xi,yj) i=0,1,...m,j=0,1,....,n。使对所有的 (x_{i},y_{j})  与 (x_{i-1},y_{j-1}) ,1<=i,j<=m,n是邻接的。则这个像素序列就称为通路。

       连通性:令S代表一幅图像的像素子集。如果在S中全部像素之间存在一个通路,则可以称2个像素P,Q在S中是连通的。此外,对于S中任何像素P,S中连通到该像素的像素集叫做S的连通分量,如果S中仅有一个连通分量,则集合S叫做连通集

连通
连通集

                                              

上图中,阴影部分为图像子集S,而 V={1}。则红线表示连通分量。

5.1.3、区域和边界

       区域的概念是建立在连通集上的,令R是图像中的一个像素子集,如果R同时是连通集,则称R为一个区域。

       边界是相对于区域而言的,一个区域的边界是区域中所有有一个或多个不在区域R上的邻接像素或像素的集合。

B所穿过的像素为边界、R包含的为区域、红色为连通分量

5.1.4、度量图像的距离

        假设对于像素 P(xp,yp)、像素Q(xq,yq)、R(xr,yr)满足如下三个条件,有函数D,则D为距离。

(1)D(P,Q) >= 0,当且仅当P=Q时,D(P,Q)==0;

(2)D(P,Q) = D(Q,P);

(3)D(P,Q)<= D(P,R)+D(R,Q);

常见的距离函数:

(1)欧式距离:

其实就是两点之间的距离公式,表示直线距离;距离等于 r 的像素形成以P为圆心的圆。

(2)D4距离(街区距离)

我觉得这个看名字就知道了,也就是通过四邻域形成的距离。

(3)D8距离,同(2),由8邻域形成的

 

 

5.2、图像的基本操作

5.2.1、点运算和邻域运算

        点运算是指对图像中的每一个像素都进行灰度变换。

5.2.2、线性和非线性操作

线性变换通常由线性算子给出,例如平均平滑滤波、高斯平滑滤波、梯度锐化等。

参考:

【1】图片来源   https://zhidao.baidu.com/question/109059224.html

【2】https://my.oschina.net/u/3919756/blog/1936776

【3】https://baike.baidu.com/item/Python/407313?fr=aladdin

【4】https://baike.baidu.com/item/%E8%A7%86%E8%A7%89/5228?fr=aladdin

【5】佚名. 精通Matlab数字图像处理与识别[M]. 2013.


http://chatgpt.dhexx.cn/article/EuycMx1t.shtml

相关文章

数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法IC-GN的数值解计算

目录 前言内容回顾一.IC-GN中增量 Δ P \Delta \boldsymbol P ΔP的数值解二.写在最后参考引用 前言 由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究&#xff0c;其中需要对别人现有算法的复现和调研&#xff0c;尽管其中很多算法都已经非常成熟&#xff0c…

数字图像处理:像素间的一些基本关系

图像分析的主要目的之一在于获取图像中感兴趣的目标并对目标之间的关系进行分析&#xff1b;目标是由图像中相关像素联合组成的&#xff1b;相关像素在空间的位置和属性都有密切关系&#xff0c;它们一半构成图像中连通组元&#xff1b;所以要分析像素之间的关系&#xff0c;不…

数字图像和数字图像处理

Digital Image Processing[数字图像和数字图像处理] 数字图像就是指代表图像的矩阵。 数字图像处理就是对图像矩阵进行各种数学运算。 在进行图像处理时需要一些数学基础,主要包括线性系统、傅立叶变换、沃尔什变换和小波变换等。 1. 景象&#xff1a;人眼所看到的外部世界。…

数字图像基本处理算法

数字图像基本处理算法 xizero00 常熟理工学院&#xff08;CIT&#xff09; 计算机科学与工程学院 下一代互联网实验室(NGIL Lab) Email:xizero00163.com 由于SIFT算法需要用到很多算法&#xff0c;所以这段时间研究了一下一些最基本的图像处理算法&#xff0c; 好了&…

图像理论知识_什么是数字图像处理?

数字图像处理&#xff0c;即数字&#xff0c;将图像转化为数字的形式&#xff0c;对图像做处理&#xff0c;我们平时所见到的图像&#xff0c;在计算机中都是一组数字&#xff0c;当通过相机捕获现实世界的景物时&#xff0c;相机会捕获现实世界的光源信号&#xff0c;并转化为…

数字图像简介及表示

数字图像处理 数字图像处理&#xff08;Digital Image Processing&#xff09;又称为计算机图像处理&#xff0c;是一种将图像信号数字化后利用计算进行处理的过程。图像 图像是三维世界在二维平面的表示&#xff0c;具体来说就是用光学器件对一个物体&#xff0c;一个人或是…

数字图像处理(入门篇)一 图像的数字化与表示

目录 1 人眼图像是如何形成的&#xff1f; 2 图像的感知与获取&#xff1f; 3 图像的数字化 4 数字图像的表示 1 人眼图像是如何形成的&#xff1f; 人眼近似为一个球体&#xff0c;物体的光线经过角膜和晶状体的折射&#xff0c;在视网膜上形成“倒立缩小”的实像。 视网膜…

数字图像处理——相关检测

原理&#xff1a;利用模板与图像做相关运算得到相关值矩阵&#xff0c;相关值最大的位置即检测出的目标位置。相关值计算公式&#xff1a; Matlab代码&#xff1a; clear,clc; car imread(car.png); mask imread(wheel.png); [h1,w1] size(car); [h2,w2] size(mask);car_e…

#DIC#数字图像相关

1.1DIC基本原理 在实验中DIC特指一种种光学测量技术&#xff0c;⽤于在整个⼒学试验过程中测量试样表⾯上不断变化的全场⼆维或三维坐标。测量出的坐标场可⽤于进⼀步导出位移、应变、应变率、速度和曲率等感兴趣量&#xff08;Quantities-of-Interest&#xff0c;QOI&#xff…

二维数字图像相关算法软件Ncorr的使用心得

二维数字图像相关(2D Digital Image Correlation)是一种非接触式的光学测量方法&#xff0c;常应用于图像分析处理上&#xff0c;它可以根据变形前后的2张或多张图像&#xff0c;求解出规定区域 近似的位移与应变情况。 Ncorr使用流程 Ncorr下载与编译1.下载2.编译 Ncorr通用DI…

数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法(FA-GN与IC-GN)

目录 前言内容回顾一. 非线性优化数学模型二. 前向累加高斯-牛顿法——FA-GN&#xff08;Forward Additive Gauss-Newton method&#xff09;三. 逆合成高斯-牛顿法——IC-GN&#xff08;Inverse compositional Gauss-Newton method&#xff09;1.非线性优化数学模型变形2.数学…

利用图像来测量的技术——数字图像相关法(DIC)

数字图像相关法 数字图像相关法(digital image correlation method,DIC)是对未变形和变形状态下的试件图像进行计算机处理&#xff0c;获得全场位移的一种方法。也就是说你只需要提供两张图片——一张参考图片(refference image)和一张变形状态下的图片(current image)&#x…

Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)【ADIC2D代码复现及原理介绍】

目录 前言一.数字图像相关&#xff08;Digital Image Correlation&#xff09;二.相关运算1.数学模型2.形函数3.相关标准其他知识 三.ADIC2D代码解释1.ImgCorr2.SubCorr 四.写在最后参考引用 前言 由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究&#xff0c…

六款练手的javaweb项目源码!

分享几个项目源码&#xff01; 1&#xff0c;电子商城项目 采用了Struts、spring、hibernate&#xff0c;数据库使用了MySQL。 2&#xff0c;CRM客户关系管理系统 没有使用框架&#xff0c;采用了jsp、Servlet&#xff0c;数据库使用了Oracle。 3&#xff0c;投票管理系统…

Java版企业工程项目管理系统源码+java版本+项目模块功能清单+spring cloud +spring boot

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

100个Java项目解析,带源代码和学习文档!

前言 你是否正在寻找带有源代码的Java项目的免费集合&#xff1f;你的搜索到这里结束&#xff0c;我为你提供了近100多个Java项目。 想要成为一个优秀的程序员写项目是绕不开的&#xff0c;毕竟工程学的最终目标都是要创造东西&#xff0c;所以&#xff0c;代码给我敲起来&am…

Java版本工程项目管理系统源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…

java基础实现小小项目(源码自取)

实现方式&#xff1a; CustomerView为主模块&#xff0c;负责菜单的显示和处理用户操作CustomerList为Customer对象的管理模块&#xff0c;内部用数组管理一组Customer对象&#xff0c;并提供相应的添加、修改、删除和遍历方法&#xff0c;供CustomerView调用 Customer为实体对…

Java版工程项目管理系统源码 工程项目源码

数 据 库&#xff1a; MySQL 开发语言&#xff1a; Java 开发工具&#xff1a; MyEclipse 源码类型&#xff1a; WebForm 以甲方项目管理为中心&#xff0c;包括项目启动、计划、执行、控制与收尾阶段的全生命周期管理&#xff0c;并对范围、预…

Java项目合集—整整20套精品项目(附源码)

20款Java毕业设计系统&#xff0c;任你挑选&#xff0c;允许白嫖&#xff01; 保姆级教程&#xff0c;手把手教你编程&#xff0c;助你轻松毕业~ 其中项目合集中有&#xff1a; 1、图书管理系统。 2、宠物领养系统。 3、叮当书城。 4、个人日记本。 5、记账系统。 6、家…