文档章节

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

天蚕宝衣
 天蚕宝衣
发布于 2017/03/23 11:19
字数 492
阅读 11
收藏 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');

 

© 著作权归作者所有

共有 人打赏支持
天蚕宝衣
粉丝 22
博文 239
码字总数 179255
作品 0
天津
私信 提问
Metal图像处理——直方图均衡化

前言 Metal入门教程总结 正文 核心思路 首先,我们用直方图来表示一张图像:横坐标代表的是颜色值,纵坐标代表的是该颜色值在图像中出现次数。 如图,对于某些图像,可能出现颜色值集中分布在...

落影loyinglin
08/31
0
0
【图像处理】彩色图像处理(Color Image Processing)

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

u013165921
01/15
0
0
【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

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

Eastmount
2015/06/08
0
0
我如何用57行代码复刻一个8600万美元的项目

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

众成翻译
2017/12/21
0
0
OpenCV视频计算机视觉图像识别实战Python

百度网盘 ├─第01讲 工欲善其事必先利其器-图像处理基础│ cv第一次资料.rar│ 第一课.mkv│ ├─第02讲 初探计算机视觉│ cv_第一二讲.pdf│ cv第二次资料.rar│ 第二课.mkv│ ├─第03讲 ...

远近高低各不同
11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开发者和架构师之间最大的区别是什么?

1、开发者和架构师之间最大的区别是什么? 架构师和开发者一样,也经常写代码,简单的说,开发者和架构师之间最大的区别就是技术领导力。 软件架构师的角色需要理解最重要的架构驱动力是什么...

James-
22分钟前
1
0
java框架学习日志-4

补充一些spring配置文件的方法。 设置别名: <!--通过name直接设置别名--> <bean name="user2" class="cn.sxt.factory.UserDynamicFactory"> </bean> <!--有id的情况下也可以设置......

白话
24分钟前
2
0
20181213 上课截图

小丑鱼00
41分钟前
1
0
nginx+php-fpm配置后页面显示空白的解决方法以及用nginx和php-fpm解决“502 Bad Gateway”问题

https://stackoverflow.com/questions/15423500/nginx-showing-blank-php-pages For reference, I am attaching my location block for catching files with the .php extension: location ~......

Yao--靠自己
48分钟前
3
0
mac 没声音

somehow不时就会出现这种情况。之前都得重启。 其实可以直接在terminal里打以下命令: sudo kextunload /System/Library/Extensions/AppleHDA.kext sudo kextload /System/Library/Extension...

dubox
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部