这个问题包含一系列过程。可关注我,Matlab图像处理系列后续会更新,现在已更新到Matlab数据处理板块。此节目之目录。此部分内容。一、图像的点运算。数字图像处理系统,其处理流程一般可分为3个阶段。图像预处理:第一阶段的任务。第二阶段为特征抽取阶段。第三阶段:识别与分析阶段。点运算就是对图像里的各个像素逐个进行相同的灰度变换运算。假定输入图像f(x,y)任一点(x,y)的灰度值为r,输出图像g(x,y)相应点的灰度值为s,点运算可表示成s=T(r),这里的T作为点运算算子,体现了原始图像和输出图像间的某种灰度级映射关系。点运算又被叫做对比度增强、对比度拉伸或者对比度变换,常用来改变图像灰度范围与分布,是图像数字化和显示常用工具。二、灰度直方图灰度直方图能描述图像的灰度级统计情况,主要在图像分割与灰度变换处理时被应用。在数学上,图像直方图体现图像各灰度级的统计特征,为图像灰度值的函数,统计一幅图像里各灰度级出现的频次或概率。归一化直方图能直接体现不同灰度级出现的比率。从图形方面来说,灰度直方图属于二维图,其横坐标是图像里各个像素点的灰度等级,纵坐标则代表有着各灰度等级的像素在图像里出现的频次或概率。灰度直方图依据统计定义来计算,它是离散函数,能体现图像中各灰度级和其出现频率的对应关系。一幅图像像素总数是N,灰度级总数为L,灰度级为g的像素总数为Ng。该数字图像灰度直方图横坐标为0到L - 1的灰度g,纵坐标是Ng(灰度值出现次数)。而各个灰度级出现概率Pg = Ng/N。三、Matlab对灰度直方图的仿真Matlab默认支持的图像数据类型是uint8,用imread函数读取图像文件时,其类型一般也是uint8。I = imread(FILENAME, FMT)。其中,FILENAME为图像文件的完整路径与文件名,若文件位于当前工作目录或者自动搜索列表给出的路径下,仅提供文件名就行;FMT是图像文件格式对应的标准扩展名;而I是包含图像数据的矩阵。Matlab有imhist函数,可用于图像的灰度直方图运算。
I为用于计算灰度直方图的图像。n是指定的灰度级数量,若给定n这个参数,会把所有灰度级均匀分布于n个小区间,而非全部分开。counts是直方图数据向量,其中counts(i)代表第i个灰度区间的像素数量。x为保持对应灰度小区间的向量。Matlab中也能够通过stem(x,counts)来绘制直方图。通常的直方图仿真。
直方图1的纵轴为图像中所有像素取某一特定灰度值的次数,横轴对应0至255的所有灰度值。直方图2把横轴0 - 255共256个灰度级平均划分成64个长度为4的灰度区间,纵轴统计各灰度区间像素在图像中的出现次数。一般而言,灰度区间长度设为2的整数次幂。2. 进行归一化直方图仿真。imhist函数的返回值里,counts存有落入各区间的像素个数,将counts除以图像像素总数,就能得到归一化直方图。
四、Matlab仿真的源代码。一般直方图的仿真源码。2. 归一化直方图的仿真源码。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号