数字图像处理直方图均衡化26页PPT
数字图像处理实验报告直方图均衡化

数字图像处理实验报告直⽅图均衡化课程设计课程名称数字图像处理题⽬名称直⽅图均衡化学⽣学院信息⼯程学院专业班级 08级电信2班学号 3208002664 学⽣姓名陈慕仪指导教师曹江中2011年7 ⽉ 1 ⽇设计题⽬:直⽅图均衡化1、直⽅图的理论基础:(1)直⽅图概念:灰度直⽅图表⽰图像中每种灰度出现的频率。
(2)直⽅图的作⽤:反映⼀幅图像的灰度分布特性(3)直⽅图的计算:式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,⽽n k /n 即为频数。
2、设计⽬的:产⽣⼀幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的⽬的。
3、直⽅图均衡化的效果:1)变换后直⽅图趋向平坦,灰级减少,灰度合并。
2)原始象含有象素数多的⼏个灰级间隔被拉⼤了,压缩的只是象素数少的⼏个灰度级,实际视觉能够接收的信息量⼤⼤地增强了,增加了图象的反差。
同时,也增加了图象的可视粒度。
4、离散情况下的直⽅图均衡化的算法:A 、列出原始图像的灰度级B 、统计各灰度级的像素数⽬C 、计算原始图像直⽅图各灰度级的频数D 、计算累积分布函数F 、应⽤以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT 为取整符号:G 、⽤的映射关系修改原始图像的灰度级,从⽽获得直⽅图近似为均匀分布的输出图像。
3、源程序代码// cqxhistView.cpp : implementation of the CCqxhistView class #include "stdafx.h" #include "cqxhist.h"#include "cqxhistDoc.h" #include "cqxhistView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__; #endif///////////////////////////////////////////////////////////////////////////// // CCqxhistViewIMPLEMENT_DYNCREATE(CCqxhistView, CView)BEGIN_MESSAGE_MAP(CCqxhistView, CView)1,,1,0,-=L j f j 1,,1,0,-=L j n j 1,,1,0,/)(-==L j n n f P j j f 1,,,1,0,)()(0-==∑=L k j f P f C k j jf]5.0)()[(min min max ++-=g f C g g INT g i nn r p kk =)(1,,2,1,010-=≤≤l k r k//{{AFX_MSG_MAP(CCqxhistView)ON_COMMAND(ID_OPEN_IMAGE, OnOpenImage)ON_COMMAND(ID_HIST_IMAGE, OnHistImage)//}}AFX_MSG_MAP// Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)END_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////// // CCqxhistView construction/destruction CCqxhistView::CCqxhistView(){// TODO: add construction code here}CCqxhistView::~CCqxhistView(){}BOOL CCqxhistView::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT csreturn CView::PreCreateWindow(cs);}///////////////////////////////////////////////////////////////////////////// // CCqxhistView drawingvoid CCqxhistView::OnDraw(CDC* pDC){CCqxhistDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereif(m_dib.m_bLoaded==true) //判断是否加载图像{//获取图像宽和⾼int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();// 显⽰图像(具体的参数见CDIB类的该函数说明)m_dib.ShowDIB(pDC,10,10,nw,nh,m_dib.m_pDIBData,m_dib.m_pBMI);m_dib.ShowDIB(pDC,400,10,nw,nh,m_dib.m_pDumpDIBData,m_dib.m_pBMI); } if(m_bHist==true){//绘制原图像的直⽅图CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴// 绘制坐标轴pDC->MoveTo(410,nh+20); //(410,nh+20 )是直⽅图的左上⾓坐标// 垂直轴pDC->LineTo(410,nh+200);//(410,nh+200 )是直⽅图的左下⾓坐标// ⽔平轴pDC->LineTo(710,nh+200);//(710,nh+200 )是直⽅图的右下⾓坐标// 写X轴刻度值str.Format("0");pDC->TextOut(410, nh+200+10, str);str.Format("50");pDC->TextOut(460, nh+200+10, str); str.Format("100");pDC->TextOut(510, nh+200+10, str); str.Format("150");pDC->TextOut(560, nh+200+10, str); str.Format("200");pDC->TextOut(610, nh+200+10, str); str.Format("255");pDC->TextOut(665, nh+200+10, str); // 绘制X轴刻度for ( i = 0; i < 256; i += 25){if ((i & 1) == 0){// 10的倍数pDC->MoveTo(i + 10, nh+200-2); pDC->LineTo(i + 10, nh+200+2);}else{// 10的倍数pDC->MoveTo(i + 10, nh+200-2); pDC->LineTo(i + 10, nh+200+2);}}// 绘制X轴箭头pDC->MoveTo(705,nh+200-5); pDC->LineTo(710,nh+200);pDC->LineTo(705,nh+200+5);// 绘制y轴箭头pDC->MoveTo(410,nh+20);pDC->LineTo(405,nh+20+5);pDC->MoveTo(410,nh+20);pDC->LineTo(415,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_yuan[i]>max)max=m_yuan[i];for(i=0;i<256;i++){pDC->MoveTo(410+i,nh+200);pDC->LineTo(410+i,nh+200-(m_yuan[i]*160/max));}}if(m_bHist==true){//绘画直⽅图CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴// 绘制坐标轴pDC->MoveTo(10,nh+20); //(10,nh+20 )是直⽅图的左上⾓坐标// 垂直轴pDC->LineTo(10,nh+200);//(10,nh+200 )是直⽅图的左下⾓坐标// ⽔平轴pDC->LineTo(310,nh+200);//(310,nh+200 )是直⽅图的右下⾓坐标// 写X轴刻度值str.Format("0");pDC->TextOut(10, nh+200+10, str);str.Format("50");pDC->TextOut(60, nh+200+10, str);str.Format("100");pDC->TextOut(110, nh+200+10, str);str.Format("150");pDC->TextOut(160, nh+200+10, str);str.Format("200");pDC->TextOut(210, nh+200+10, str);str.Format("255");pDC->TextOut(265, nh+200+10, str);// 绘制X轴刻度for ( i = 0; i < 256; i += 25){if ((i & 1) == 0){// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}else{// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}}// 绘制X轴箭头pDC->MoveTo(305,nh+200-5);pDC->LineTo(310,nh+200);pDC->LineTo(305,nh+200+5);// 绘制y轴箭头pDC->MoveTo(10,nh+20);pDC->LineTo(5,nh+20+5);pDC->MoveTo(10,nh+20);pDC->LineTo(15,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_hist[i]>max)max=m_hist[i];for(i=0;i<256;i++){pDC->MoveTo(10+i,nh+200);pDC->LineTo(10+i,nh+200-(m_hist[i]*160/max));}}}///////////////////////////////////////////////////////////////////////////// // CCqxhistView printing BOOL CCqxhistView::OnPreparePrinting(CPrintInfo* pInfo){// default preparationreturn DoPreparePrinting(pInfo);}void CCqxhistView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add extra initialization before printing}void CCqxhistView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add cleanup after printing}///////////////////////////////////////////////////////////////////////////// // CCqxhistView diagnostics#ifdef _DEBUGvoid CCqxhistView::AssertValid() const{CView::AssertValid();}void CCqxhistView::Dump(CDumpContext& dc) const{CView::Dump(dc);}CCqxhistDoc* CCqxhistView::GetDocument() // non-debug version is inline{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCqxhistDoc)));return (CCqxhistDoc*)m_pDocument;}#endif //_DEBUG///////////////////////////////////////////////////////////////////////////// // CCqxhistView message handlersvoid CCqxhistView::OnOpenImage(){// TODO: Add your command handler code here// TODO: Add your command handler code herestatic char szFilter[]="BMP⽂件(*.bmp)|*.bmp||"; //定义过滤⽂件的类型 CFileDialog dlg(TRUE,"bmp",NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定义⽂件对话框对象 CString filename;int ret=dlg.DoModal(); //运⾏打开⽂件对⽅框if(ret==IDOK){filename=dlg.GetFileName(); //获取所选择图像的路径 m_dib.LoadFromFile(filename); //加载图像if(!m_dib.m_bLoaded) //判断是否加载图像成功{AfxMessageBox("图像打不开");return;}for(int i=0;i<256;i++) //初始化直⽅图数组{ m_hist[i]=0;m_yuan[i]=0;}m_bHist=false;}{int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();for(int j=0;jfor(int i=0;i{BYTE temp=m_dib.m_pdata[j*nw+i];m_yuan[temp]++;}}Invalidate(1); //刷新屏幕}void CCqxhistView::OnHistImage(){// TODO: Add your command handler code here//功能:实现直⽅图均衡化////////////////////////////判断图像是否打开,没打开,则弹出提⽰框并退出函数if(!m_dib.m_bLoaded){AfxMessageBox("图像还打开,请先打开图像!");return;}//获取图像宽和⾼int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();int i,j,k;int count[256]={0};//定义⼀个数组,⽤于存放灰度级个数float p[256];//定义⼀个数组,⽤于存放灰度级出现频率//对图像进⾏直⽅图均衡化处理for(i=0;ifor(j=0;j{k=m_dib.m_pdata[i*nw+j];//计算灰度级个数count[k]++;}for(k=0;k<256;k++)p[k]=count[k]/(nw*nh*1.0f);float c[256]={0};float sum=0.0;int ngray[256];//新的灰度级for(k=0;k<256;k++)//计算累积频率{sum+=p[k];c[k]=sum;ngray[k]=(int)(255.0*c[k]+0.5);}for(i=0;ifor(j=0;j{k=m_dib.m_pdata[i*nw+j];m_dib.m_pdata[i*nw+j]=ngray[k];}{int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();for(int j=0;jfor(int i=0;i{BYTE temp=m_dib.m_pdata[j*nw+i];m_hist[temp]++;}}//将修改的m_pdata的数据赋值给m_pDIBData,以显⽰修改的结果m_dib.UpdateData();m_bHist=true;//将修改的m_pdata的数据赋值给m_pDIBData,以显⽰修改的结果 m_dib.UpdateData(); //刷新屏幕Invalidate();}4、实验结果C++编程结果:。
数字图像处理PPT 第3章_图像直方图

H Pi log 2 Pi i0
熵反映了图像信丰富的程度,在图像编码处理中具有重要意义。
1. 有一胶片图象,在背景明亮的天空衬托 下,有一亮色屋顶的深色谷仓.
在下述各种情况下,试指出直 方图看起来将是什么样子:如果该图象被(a) 正确数字化;(b)数字化时增益调整过低; (c)数字化时增益调整过高;(d)数字化 时偏置过大;(e)数字化时偏置过小;(f) 数字化时增益和偏置均过大。假设0为暗, 255为亮。
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
用于确定图像二值化的阈值
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
3.3 灰度直方图的应用
用于判断图像量化是否恰当
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
用于确定图像二值化的阈值 0 f (x, y) T
g(x, y) 1 f (x, y) T
3 图像灰度直方图
3.1 图像灰度直方图的基本概念
vi
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.1 图像灰度直方图的基本概念
vi
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
N5=5
i
12321212
N6=8
31231221
[数字图像处理](四)直方图均衡化[HE]算法
直方图均衡化[HE]算法](https://img.taocdn.com/s3/m/6a5c58380a4c2e3f5727a5e9856a561252d32103.png)
[数字图像处理](四)直⽅图均衡化[HE]算法图像处理(四)直⽅图均衡化0____前⾔直⽅图操作是图像处理中的⼀个基本⼯具。
从观察⼀些图像的直⽅图中我们可以发现,在暗图像中 ,⼤多数直⽅图灰度容集在灰度低端;类似的在亮图像的直⽅图中,⼤多数直⽅图灰度容集在灰度级的⾼端。
直⽅图均衡化就是通过计算每⼀灰度级数出现的概率,并将得到的概率前缀和映射到原图像中的过程,此处介绍的是最基本的基于全图像的均衡化的HE(直⽅图均衡化)算法,之后会继续介绍AHE(⾃适应直⽅图均衡化)与CLAHE(限制对⽐度直⽅图均衡)。
1____算法流程读⼊图像预处理统计每个灰度级数在图像中出现的次数计算每个灰度级数于总像素的概率,并统计数组的前缀和将得到的前缀和映射到原图像数组中2____MATLAB实现clc;close all;clear all;% 读⼊,预处理im = imread('p21.png');imgray = rgb2gray(im);figure;subplot(2,2,1);imshow(imgray);% 统计每个灰度级数hist = zeros(1,256);[n,m] = size(imgray);% 后⾯要+1因为图像的范围是在0~255,但是matlab的数组是从1开始映射的for i = 1:1:nfor j = 1:1:mhist( imgray(i,j)+1 ) = hist( imgray(i,j) +1) + 1;endendsubplot(2,2,2);bar(hist);% 求分布概率前缀和pro = zeros(1,256);sumim = sum(hist)pro(1) = hist(1)/sumim;for i = 2:1:256pro(i) = pro(i-1)+hist(i)/sumim;end% 灰度映射transim = zeros(n,m);for i = 1:1:nfor j = 1:1:mtransim(i,j) = pro(imgray(i,j))*255 + 0.5;endendtransim = uint8(transim);subplot(2,2,3);imshow(transim);subplot(2,2,4);imhist(transim);。
数字图像处理实验报告直方图均衡化

数字图像处理实验报告实验名称:直方图均衡化姓名:班级:学号:专业:电子信息工程(2+2)指导教师:陈华华实验日期:2012年5月24日直方图均衡化图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。
直方图均衡化是最常见的间接对比度增强方法。
直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
缺点:1)变换后图像的灰度级减少,某些细节消失;2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。
直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。
这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。
通过这种方法,亮度可以更好地在直方图上分布。
这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。
在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。
这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
(2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。
(848页PPT幻灯片)数字图像处理(冈萨雷斯)课件

例3:镜头边界检测
பைடு நூலகம்
例4:基于内容的图像检索 例5:基于内容的镜头检索
例6:基于内容的视频片断检索
例7:视频字幕识别
例7:视频字幕识别
T. B$alr
Boat
Fish
H. Jlntao J.
E. Lah oud MaI•
MeetJn
MJIIta Mono§o us Motorbike
News pa per
为什么要用SAN
存传储统区存域储网解S决AN方(S案tor—ag—e A信re息a 岛Network)
SAN
SAN是什么?
SAN是什么?(续)
不是client/server,而是client/storage devices 独立于LAN之外的高速存储网络 一般采用高速的光纤通道作为传输媒体( 2Gbit/s) 将存储设备通过光通道互连设备构成一个存 储子网 支持服务器和存储设备之间任意到任意的连 接 S A N上的任何一台服务器均可存取网络中的任何一个 存 储设备 对网上的存储资源实施集中统一的管理
Vision (IJCV) ✓ Pattern Recognition (PR) ✓ Image and Vision Computing (IVC)
✓…
目前需要做的事情
选课学生发送下列信息给老师: pengyuxin@
✓ 姓名 ✓ 学号 ✓ 联系方式:E_mail,电话 ✓ 硕士生或博士生,年级 ✓ 所在院系、实验室、导师 ✓ 研究方向
✓灰度图像是一个二维灰度(或亮度)函数f(x,y) ✓彩色图像由三个(如RGB,HSV)二维灰度(或亮度)函数 f(x,y)组成
y
y
x
x
什么是数字图像?
直方图均衡化原理与实现

直⽅图均衡化原理与实现直⽅图均衡化(Histogram Equalization) ⼜称直⽅图平坦化,实质上是对图像进⾏⾮线性拉伸,重新分配图像象元值,使⼀定灰度范围内象元值的数量⼤致相等。
这样,原来直⽅图中间的峰顶部分对⽐度得到增强,⽽两侧的⾕底部分对⽐度降低,输出图像的直⽅图是⼀个较平的分段直⽅图:如果输出数据分段值较⼩的话,会产⽣粗略分类的视觉效果。
直⽅图是表⽰数字图像中每⼀灰度出现频率的统计关系。
直⽅图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对⽐度等概貌性描述。
灰度直⽅图是灰度级的函数, 反映的是图像中具有该灰度级像素的个数, 其横坐标是灰度级r, 纵坐标是该灰度级出现的频率( 即像素的个数) pr( r) , 整个坐标系描述的是图像灰度级的分布情况, 由此可以看出图像的灰度分布特性, 即若⼤部分像素集中在低灰度区域, 图像呈现暗的特性; 若像素集中在⾼灰度区域, 图像呈现亮的特性。
图1所⽰就是直⽅图均衡化, 即将随机分布的图像直⽅图修改成均匀分布的直⽅图。
基本思想是对原始图像的像素灰度做某种映射变换, 使变换后图像灰度的概率密度呈均匀分布。
这就意味着图像灰度的动态范围得到了增加, 提⾼了图像的对⽐度。
图1 直⽅图均衡化通过这种技术可以清晰地在直⽅图上看到图像亮度的分布情况, 并可按照需要对图像亮度调整。
另外,这种⽅法是可逆的, 如果已知均衡化函数, 就可以恢复原始直⽅图。
设变量r 代表图像中像素灰度级。
对灰度级进⾏归⼀化处理, 则0≤r≤1, 其中r= 0表⽰⿊, r= 1表⽰⽩。
对于⼀幅给定的图像来说, 每个像素值在[ 0,1] 的灰度级是随机的。
⽤概率密度函数来表⽰图像灰度级的分布。
为了有利于数字图像处理, 引⼊离散形式。
在离散形式下, ⽤代表离散灰度级, ⽤代表 , 并且下式成⽴:其中, 0≤≤1, k=0, 1, 2, …, n-1。
式中为图像中出现这种灰度的像素数, n是图像中的像素总数, ⽽就是概率论中的频数。
数字图像处理图像滤波ppt课件

47
噪声图像
中值滤波3x3
48
平均滤波与中值滤波比较
噪声图像
均值滤波
中值滤波
均值滤波和中值滤波都采用的是2x2 的模板
49
均值,中值和最频值
均值是模板内像素点灰度的平均值,中值是数值排列 后处于中间的值,最频值是出现次数最多的灰度值;
8
常用像素距离公式
欧几里德距离
DE
(
p,
q)
x
s 2
y
t
2
范数距离
D( p, q) x s y t
棋盘距离
D( p, q) max x s , y t
9
像素间的基本运算
算术运算:
加法: p + q
减法: p - q
乘法: p * q
这三者都与直方图有着密切的关系; 直方图的一个峰对应一个区域,如果这个峰是对称的,
那么均值等于中值,等于最频值。
50
中值滤波的代码实现 Matlab中函数medfilt1和medfilt2,第一个是一维
的中值滤波,第二个是二维的中值滤波。 使用help查看函数功能
51
示例
52
代码讲解
0.25
0.10 0.05
0.125 01 2
34
56
7
P r 关系目标曲线 r
原始图像中的P-r点位置 对应变换后的P-r点位置
24
算法描述 设像素共分为L级(r = 0,1,2,…L1),变换后对应的
数字图像处理技术PPT图像数字化和直方图

二、图像的数字化
4.量化技术
量化可分为均匀量化和非均匀量化。 均匀量化是简单地在灰度范围内等间隔 量化。非均匀量化是对像素出现频度少 的部分量化间隔取大,而对频度大的量 化间隔取小的量化间隔。
一般情况下,对灰度变化比较平缓的部分用比较多的量化级, 在灰度变化比较剧烈的地方用比较高的分辨率。
量化
一、数字图像的概念与描述
2.灰度图像
灰度图像是指每个像素的信息由 一个量化的灰度级来描述的图像,没 有彩色信息。
0 150 200 I 120 50 180 250 220 100
灰度图像描述示例
一、数字图像的概念与描述
3.彩色图像
彩色图像是指每个像素的信息由 RGB三原色构成的图像,其中RGB是 由不同的灰度级来描述的。
三基色原理
大自然中的颜色都可以通过红、绿、蓝三色按照 不同的比例合成产生,同样绝大多数单色光也可 以分解成红绿蓝三种色光。即三基色原理。 三种基色是相互独立的,红绿蓝三基色按照不同 的比例相加合成混色称为相加混色: 红色+绿色=黄色 绿色+蓝色=青色 红色+蓝色=品红 红色+绿色+蓝色=白色
彩色图像描述
采样间隔效果示意图
返回
均匀量化效果示意图
返回
非均匀量化效果示意图
返回
均匀量化与非均匀量化效果的比较
返回
量化与采样的效果图例
原图
低灰度级量化
低分辨率 返回
黑白图像
返回
灰度图像
返回
彩色图像
返回
彩色图的灰度直方图
返回
灰度图的灰度直方图
返回
灰度分布效果比较示意图