数字图像处理笔记(一)
概念
1.图形: 由指令集合组成,指令由位置、形状、颜色等描述。记录的是坐标值; 颜色隐含,统一描述。
2.图像:矩阵表示,坐标值隐含。

f代表该象素彩色或灰度值;脚码代表象素的坐标位置。
3.图像空间分辨率:数字化的空间精细程度;
4.灰度级分辨率:颜色深度,即表示每一像素颜色值所占的二进制位数。
Q: 为什么通常用0~255表示像素值?Q: 为什么通常用0~255表示像素值?
A:计算机通常用一个字节来处理数据,每个颜色值一般是八位,取值为0~-1 A:计算机通常用一个字节来处理数据,每个颜色值一般是八位,取值为0~-1


数字图像处理系统


图像处理:像素级
包含:
- 几何校正
- 灰度变换
- 图像平滑
- 图像锐化
方法分为两类: - 点处理: 灰度变换
- 域处理: 卷积,中值滤波,边缘检测
图像分析:目标级
包含:
- 检测
- 分割
- 测量
- 特征提取
分析的结果能为用户提供描述目标
特点和性质的数据。
图像理解:符号级
对图像里各目标的性质和它们之间相互关系的研究,与人类的思维类似。
- 对描述对象抽象出来;
- 了解图像内容;
- 解释客观场景;
- 指导和规划行为。
图像存储
按照颜色深度分为:
- 单色图像(二值图像)
- 8位索引图像
- 24位真彩色图像
单色图像:01矩阵
8位索引图像:一个数据矩阵和一个调色板矩阵MAP
灰度图像
各像素信息由一个量化的灰度级来描述,没有彩色信息
(1) 文件带有图像颜色索引表。
fred(x,y)=fgreen(x,y)= fblue(x,y)
(2)像素值是图像颜色表的索引地址。 由8位组成,从0~255.
8位伪彩色图像
1.颜色表红、绿、蓝分量值不全相等。
2.像素值是图像颜色表的索引地址
24位真彩色图像
(1)每一像素由RGB三个分量组成。
(2)每个分量各占8位,取值范围为0~255,每个像素24位。
图像文件格式
(1) BMP(BitMaP)格式
(2) GIF(Graphics Interchange Format)格式
(3) TIFF(Tagged Image Format File)格式
(4) JPEG(Joint Photographic Expert Group)
1.GIF主要用于不同平台上交流和传输,而不是作为文件的存储格式。 最大不能超过64 M,颜色最多为256色。
2.TIF最复杂
BMP
组成:
文件头:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // BM
DWORD bfSize;// 文件大小
WORD bfReserved1;// 0
WORD bfReserved2;// 0
DWORD bfOffBits; //位图数据的起始位置,
}BITMAPFILEHEADER;
信息头:
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes; //
WORD biBitCount; // 每个像素所需的位数,
DWORD biCompression; // 位图压缩类型,
DWORD biSizeImage; // 位图的大小,
LONG biXPelsPerMeter; //
LONG biYPelsPerMeter; //
DWORD biClrUsed; // 颜色数
DWORD biClrImportant; // 重要的颜色数
颜色表(真彩色没有)
typedef struct tagRGBQUAD
{
BYTE rgbBlue;// 蓝色
BYTE rgbGreen; // 绿色
BYTE rgbRed; // 红色
BYTE rgbReserved;// 0
} RGBQUAD;
位图信息:
struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1]; // 颜色表
} BITMAPINFO;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律