文档章节

图像处理技术课第二次试验(1)——图像的均衡化处理

天蚕宝衣
 天蚕宝衣
发布于 2017/03/23 11:19
字数 492
阅读 10
收藏 0
% Equalization.m

clear
%一,读取图像
originalpicture = imread('F:/personal/2_硕士/1_2_研一下学期/3_图像处理技术(李智)/2017.03.21/0_Equalization/lena512.bmp');              % 读入JPG彩色图像文件
imshow(originalpicture);                                  % 显示出来

%二,绘制直方图
[m, n] = size(originalpicture);                             % 测量图像尺寸参数
GP = zeros(1, 256);                            % 预创建存放灰度出现概率的向量
% 通过循环计算每级灰度出现的概率,将其存入GP中相应位置
for k = 0 : 255
    GP(k + 1) = length(find(originalpicture == k)) / (m * n);     
end

figure, bar(0 : 255, GP, 'g');                % 绘制直方图
title('原图像直方图');
xlabel('灰度值');
ylabel('出现概率');

% 三,直方图均衡化
% 创建新的灰度级概率表,将灰度级概率进行累加,使灰度级概率的峰值变宽,图像变得更加细腻。
% S1 = zeros(1, 256);
% for i = 1 : 256
%     for j = 1 : i
%         S1(i) = GP(j) + S1(i);                   % 计算Sk
%     end
% end


% 直方图均衡化
% 创建新的灰度级概率表,将灰度级概率进行累加,使灰度级概率的峰值变宽,图像变得更加细腻。
s1 = zeros(1, 256);
for i = 1 : 256
    for j = 1 : i
        s1(i) = GP(j) + s1(i);                   
    end
end

% 将灰度级进行映射。
% S2 = round((S1 * 256) + 0.5);                    % 将Sk归到相近级的灰度
% 
% for i = 1 : 256
%     GPeq(i) = sum(GP(S2 == i));                  % 计算现有每个灰度级出现的概率
% end

% 将灰度级进行映射。
newgray = round((s1 * 256) + 0.5);                

for i = 1 : 256
    % 计算现有每个灰度级出现的概率
    GPeq(i) = sum(GP(newgray == i));               % #ok<SAGROW>
end

figure, bar(0 : 255, GPeq, 'b');                   % 显示均衡化后的直方图
title('均衡化后图像的直方图');
xlabel('灰度值');
ylabel('出现概率');

% 四,图像均衡化
equalizationpicture = originalpicture;
for i = 0 : 255
    % 将各个像素归一化后的灰度值赋给这个像素
    equalizationpicture(find(originalpicture == i)) = newgray(i + 1);            
end
figure, imshow(equalizationpicture);                            % 显示均衡化后的图像
title('均衡化后图像');
imwrite(equalizationpicture, 'PicEqual.bmp');

 

© 著作权归作者所有

共有 人打赏支持
天蚕宝衣
粉丝 19
博文 238
码字总数 178742
作品 0
天津
【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程《数字图像处理》及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑、高斯平滑、...

Eastmount
2015/06/08
0
0
【图像处理】彩色图像处理(Color Image Processing)

实验要求   (1.a) 编写程序实现图6.23,程序的输入为图像中指定的两个灰度级范围。程序的输出为RGB 格式图像,其中,一个灰度级范围显示为指定的彩色,其余的像素以RGB 形式显示为与输入图像...

u013165921
01/15
0
0
我如何用57行代码复刻一个8600万美元的项目

摘要:利用现有的开源技术就可以将工作做得更好,外国一技术牛人利用现有的开源技术成功用57行代码完成了维多利亚警方耗资8600万美元的项目。 本文由jshhcdxs 在众成翻译平台上翻译。 当使用...

众成翻译
2017/12/21
0
0
前沿 | 视网膜眼底图像预测心脏病风险:Nature综述深度学习在生物医疗中的新应用

  选自Nature   作者:Amy Maxmen   机器之心编译   参与:黄小天、李泽南      生物医疗是机器学习技术应用对接的重要领域之一。近日,Nature 报道了谷歌运用深度学习技术(主要...

机器之心
01/05
0
0
专业级Web图像处理引擎--AlloyImage

腾讯Web前端 AlloyTeam 近日推出了最新开源项目:一个基于HTML5技术的专业级图像处理引擎——AlloyImage(简称AI),以及一个在线Web图像处理平台——AlloyPhoto(简称AP)。这预示着腾讯的Web前...

Kinvix
2013/03/27
29.4K
12

没有更多内容

加载失败,请刷新页面

加载更多

下一页

docker中安装了RabbitMQ后无法访问其Web管理页面

在官网找了"$ docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management"这条安装命令,在docker上安装了RabbitMQ,,结果输入http://localhost:8080并不......

钟然千落
29分钟前
0
0
spring-cloud | 分布式session共享

写在前面的话 各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心! 以前在写Android的时候,就对客户端请求有一定的认...

冯文议
48分钟前
0
0
c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
4
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部