OpenCV数字图像处理四:直方图均衡化 数组示例
来源:互联网 发布:macd优化 编辑:程序博客网 时间:2024/05/21 08:49
clear all;close all;clc;I=[1 5 255 255 100 200 255 200; 17 254 255 100 10 10 9; 37 10 100 100 2 9 6; 36 10 10 9 2 8 2; 21 8 8 9 3 4 2; 10 7 8 8 3 2 1; 11 8 8 7 2 2 1; 23 9 8 7 2 2 0]% I=imread('Fig36.bmp');% %I=rgb2gray(I);% figure(3)% imshow(I);[m,n]=size(I)I1=max(I);%求每一列的最大值Imax=max(I1)%求出最大的值 I3=min(I);%求每一列的最小值Imin=min(I3)%求出最小的值k(Imax-Imin)=4; hs(Imax-Imin)=5;p=0for p=Imin:Imax-1 for j=1:n for i=1:m if I(i,j)==p k(p+1)=k(p+1)+1; end end end p=p+1; %画出原始图像的直方图 figure(1) bar(p,k(p));hold on; %计算出原始图像的每个像素值的概率 hs(p)=k(p)/(m*n); sum(hs);end%计算图像各像素的灰度累计分布hphp(Imax-Imin)=0;hp(1)=hs(1);for x=2:(Imax-Imin) hp(x)=hs(x)+sum(hp(x-1)); if hs(x)==0 hp(x)=0; endendhp(255)=1%求新图像的灰度值for y=1:(Imax-Imin) g(y)=255*hp(y); %画出均衡后的图像的直方图 figure(2) bar(y,g(y));hold on;end
步骤总结:
直方图均衡示例
以上错误:现将代码更正为:
clear all;close all;clc;% I=[1 5 255 255 100 200 255 200;% 1 7 254 255 100 10 10 9;% 3 7 10 100 100 2 9 6;% 3 6 10 10 9 2 8 2;% 2 1 8 8 9 3 4 2;% 1 0 7 8 8 3 2 1;% 1 1 8 8 7 2 2 1;% 2 3 9 8 7 2 2 0]I=imread('Fig36.bmp');%I=rgb2gray(I);figure(4)imshow(I);[m,n]=size(I)I1=max(I);%求每一列的最大值Imax=max(I1)%求出最大的值I3=min(I);%求每一列的最小值Imin=min(I3)%求出最小的值k=zeros(1,256); hs=zeros(1,256);for p=1:256 k(p)=length(find(I==(p-1))); %计算出原始图像的每个像素值的概率 hs(p)=k(p)/(m*n); sum(hs); p=p+1;end%画出原始图像的直方图figure(1) bar(0:255,hs);hold on;title('原图像直方图'); xlabel('灰度值'); ylabel('出现概率');%计算图像各像素的灰度累计分布hphp=zeros(1,256);hp(1)=hs(1);for x=2:256 hp(x)=hs(x)+sum(hp(x-1));end%求新图像的灰度值for y=1:256 g(y)=round(256*hp(y)); newGp(y)=sum(hs(find(g==y))); endgnewGp%画出均衡后的图像的直方图figure(2) bar(0:255,newGp);title('均衡化后的直方图'); xlabel('灰度值'); ylabel('出现概率'); newI=I; %填充各像素点新的灰度值 for i=1:256 newI(find(I==(i-1)))=g(i); end figure(3) imshow(newI);
- OpenCV数字图像处理四:直方图均衡化 数组示例
- 数字图像处理--直方图均衡化
- 数字图像处理-----直方图均衡化
- 【数字图像处理】直方图均衡
- 数字图像处理:1.直方图均衡化
- 数字图像处理之直方图均衡化
- python数字图像处理:直方图与均衡化
- 【数字图像处理】[2]--直方图均衡化
- 数字图像处理之直方图均衡化(Octave)
- 数字图像处理之--灰度直方图均衡化
- 【学习笔记】【数字图像处理】直方图均衡化
- 【数字图像处理】图像可视化对数增强 直方图及其均衡化
- 【数字图像处理】直方图均衡化详解及编程实现
- Win8Metro(C#)数字图像处理--2.30直方图均衡化
- 【数字图像处理之二】图像直方图均衡化
- python数字图像处理(9):直方图与均衡化
- python数字图像处理(9):直方图与均衡化
- 数字图像处理之灰度图的直方图均衡化
- poj1401(N!末尾0的末尾0的个数)
- Source Insight使用教程
- 一位老码农的编程简史
- 嘿嘿 大家试试这个
- Java关键字: protected
- OpenCV数字图像处理四:直方图均衡化 数组示例
- poj2286---IDA*
- Win7下虚拟机上Linux共享主机上网配置过程(NAT方式)
- struts jqery ajax 无刷新 分页
- Java功底之Reference
- Unable to establish loopback connection解决方法
- 一个程序员的表白---- 编程的魅力
- 今天把闪客2通关了 …^^…
- 一个据说第一次接触都会做错的Java面试题和类加载器的介绍