图象直方图的线性变换——直方图拉伸
来源:互联网 发布:平面画图软件 编辑:程序博客网 时间:2024/06/09 19:53
图象直方图的线性变换——直方图拉伸
灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。直方图拉伸的公式是s= (r_2-r_1)/(s_2-s_1 ) (r-r_1 )+s_1
matlab代码:
clear ;origin=imread('histogram2017.jpg');[m,n,o]=size(origin); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:3 for k=0:255 GP(k+1)=GP(k+1)+length(find(origin(:,:,i)==k)); %计算每级灰度出现的概率 endendfigure(1);subplot(2,2,1);bar(0:255,GP,'b') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图');xlabel('灰度值');ylabel('出现概率')subplot(2,2,2);imshow(origin);title('原图')originR=origin(:,:,1);%分解到RGB三基色空间originG=origin(:,:,2);originB=origin(:,:,3);MAX_R=double(max(max(originR)));%获得图像像素中灰度的最大值afterR=double(originR)/MAX_R*256;%对灰度进行拉伸MAX_G=double(max(max(originG)));%获得图像像素中灰度的最大值afterG=double(originG)/MAX_G*256;%对灰度进行拉伸MAX_B=double(max(max(originB)));%获得图像像素中灰度的最大值afterB=double(originB)/MAX_B*256;%对灰度进行拉伸after(:,:,1)=uint8(afterR);%合成为彩色图像after(:,:,2)=uint8(afterG);after(:,:,3)=uint8(afterB);GP2=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:3 for k=0:255 GP2(k+1)=GP2(k+1)+length(find(after(:,:,i)==k)); %计算每级灰度出现的概率 endendfigure(1);subplot(2,2,3);bar(0:255,GP2,'b') %绘制直方图 axis([0 255 min(GP2) max(GP2)]); title('处理后图像直方图');xlabel('灰度值');ylabel('出现概率')subplot(2,2,4);imshow(after);title('处理后')
处理结果
阅读全文
0 0
- 图象直方图的线性变换——直方图拉伸
- 直方图拉伸
- MATLAB 直方图,线性变换,直方图均衡化
- OpenCV 图像增强—直方图均衡化和灰度拉伸
- 分段线性变换与直方图修正
- opencv直方图拉伸
- OpenCV之直方图拉伸
- 我的OpenCV学习笔记(13):计算直方图,利用查找表拉伸直方图,直方图均衡
- Matlab图像处理系列1———线性变换和直方图均衡
- OpenCV实现灰度直方图和直方图拉伸
- 计算直方图,利用查找表拉伸直方图,直方图均衡
- 分段线性变换与直方图均衡化
- 直方图拉伸和图像均衡
- 全等级直方图灰度拉伸
- 索引——直方图
- 索引——直方图
- 图像直方图均衡化和图像一般的拉伸
- 直方图
- geth配置中,genesis.json的几个问题
- iOS在view中绘制不规则图形
- tiny6410的IIC裸机驱动
- [题解]codeforces 339d Xenia and Bit Operations
- 【Linux API】Sysfs & sysfs_notify文件系统
- 图象直方图的线性变换——直方图拉伸
- 玩转h5之layaide设计fd编程
- python写算法题:leetcode: 31. Next Permutation
- win10+mysql
- 对象模型图(OMD)
- java NIO基本操作
- 常用的hash算法
- 在Ubuntu14.04下编译程序出现缺失libudev.h
- OpenGL入门(二)