MATLAB 直方图,线性变换,直方图均衡化
2015-05-12 10:35
260 查看
1.给定图像输出直方图
img = imread('E:\matlab\work\1.jpg'); p=rgb2gray(img); %转为灰度图像 imhist(p);
效果:
2.给定一个线性变换函数,实现图像的灰度拉伸
I = imread('E:\matlab\work\lenna.bmp') I2=I.*2-50 %做线性变换 imshow(I2); %显示经过线性变换后的图像
3.实现对图像的均衡化
I = imread('E:\matlab\work\lenna.bmp'); [height,width] = size(I); figure subplot(221) imshow(I)%显示原始图像 subplot(222) imhist(I)%显示原始图像直方图 %进行像素灰度统计; s = zeros(1,256);%统计各灰度数目,共256个灰度级 for i = 1:height for j = 1: width s(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一 end end %计算灰度分布密度 p = zeros(1,256); for i = 1:256 p(i) = s(i) / (height * width * 1.0); end %计算累计直方图分布 c = zeros(1,256); c(1) = p(1); for i = 2:256 c(i) = c(i - 1) + p(i); end %累计分布取整,将其数值归一化为1~256 c = uint8(255 .* c + 0.5); %对图像进行均衡化 for i = 1:height for j = 1: width I(i,j) = c(I(i,j)+1); end end subplot(223) imshow(I)%显示均衡化后的图像 subplot(224) imhist(I)%显显示均衡化后的图像的直方图
或者可以直接用matlab的函数 histeq(I,256)
效果:
相关文章推荐
- MATLAB 直方图,线性变换,直方图均衡化
- MATLAB 图像处理-线性变换和直方图均衡
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化
- matlab练习程序(灰度图直方图均衡化)
- matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色
- 计算图像的梯度及梯度直方图相似度(Matlab代码)
- MATLAB实例1-直方图均衡化
- MATLAB学习笔记之-----绘制直方图
- 直方图规范化用于图像增强 matlab程序
- MATLAB中绘制灰度图像的直方图
- matlab 直方图 整理
- Matlab直方图更改X轴编号
- Matlab-直方图
- openCV—Python(8)—— 图像直方图及其直方图均衡化
- 报告论文:直方图均衡化和规定化 matlab实现
- [matlab] matlab 画直方图
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- MATLAB实现频数直方图——hist的使用
- 分段线性变换与直方图修正