%**************************************************************************
% filename: ImHistLine.m
% function: 直方图显性化操作
% date : 2005.10.11
% programer: Lj
%**************************************************************************
function ImHistLine()
clc,clear;
ImDark=imread('D:\图像测试文件\flower_dark.bmp');
ImDark=imread('D:\图像测试文件\c1_test.bmp');
ImBright=imread('D:\图像测试文件\flower_bright.bmp');
ImLow=imread('D:\图像测试文件\flower_low.bmp');
ImHigh=imread('D:\图像测试文件\flower_high.bmp');
% ImDark=rgb2gray(ImDark);
ImBright=rgb2gray(ImBright);
ImLow=rgb2gray(ImLow);
ImHigh=rgb2gray(ImHigh);
ImDark=double(ImDark);
ImBright=double(ImBright);
ImLow=double(ImLow);
ImHigh=double(ImHigh);
[m1,n1]=size(ImDark);
[m2,n2]=size(ImBright);
[m3,n3]=size(ImLow);
[m4,n4]=size(ImHigh);
PDark=sub1(ImDark);
PBright=sub1(ImBright);
PLow=sub1(ImLow);
PHigh=sub1(ImHigh);
% 对原始图像进行调整
ImDark_0=sub2(ImDark,PDark);
ImBright_0=sub2(ImBright,PBright);
ImLow_0=sub2(ImLow,PLow);
ImHigh_0=sub2(ImHigh,PHigh);
ImDark=uint8(ImDark);
subplot(1,3,1),imshow(ImDark,[]),title('原始图像');
% subplot(2,4,2),imshow(ImBright/255),title('原始图像');
% subplot(2,4,3),imshow(ImLow/255),title('原始图像');
% subplot(2,4,4),imshow(ImHigh/255),title('原始图像');
ImDark_1=histeq(ImDark);
ImDark_1=uint8(ImDark_1);
subplot(1,3,2),imshow(ImDark_1,[]),title('matlab 调整图像');
ImDark_0=uint8(ImDark_0);
subplot(1,3,3),imshow(ImDark_0,[]),title('调整图像');
% subplot(2,4,6),imshow(ImBright_0/255),title('调整图像');
% subplot(2,4,7),imshow(ImLow_0/255),title('调整图像');
% subplot(2,4,8),imshow(ImHigh_0/255),title('调整图像');
% 数据保存
% save data1011.mat PDark PBright PLow PHigh;
% ImDark_0=uint8(ImDark_0);
ImBright_0=uint8(ImBright_0);
ImLow_0=uint8(ImLow_0);
ImHigh_0=uint8(ImHigh_0);
% ImDark=uint8(ImDark);
ImBright=uint8(ImBright);
ImLow=uint8(ImLow);
ImHigh=uint8(ImHigh);
imwrite(ImDark,'D:\图像测试文件\1.bmp');
imwrite(ImBright,'D:\图像测试文件\2.bmp');
imwrite(ImLow,'D:\图像测试文件\3.bmp');
imwrite(ImHigh,'D:\图像测试文件\4.bmp');
imwrite(ImDark_0,'D:\图像测试文件\5.bmp');
imwrite(ImBright_0,'D:\图像测试文件\6.bmp');
imwrite(ImLow_0,'D:\图像测试文件\7.bmp');
imwrite(ImHigh_0,'D:\图像测试文件\8.bmp');
return
%**************************************************************************
%**************************************************************************
% sub1子程序,统计概率密度,输入图像矩阵,输出一个列向量,表征图像的灰度分布 256X1
function I2_texture=sub1(I2)
I2_texture=zeros(256,1); % 图像特征初始化
k=1;
for i=1:256
I2_texture(i)=length(find(I2==(i-1)));
k,
k=k+1;
end
SumOrg=sum(I2_texture);
I2_texture=I2_texture/SumOrg; % 归一量化
return
%**************************************************************************
%**************************************************************************
% sub2子程序,对图像进行调整,输入图像矩阵和概率分布,输出一个等大小的图像
function I1=sub2(I,P)
[m,n]=size(I),
I0=zeros(m,n);
for i=1:m
for j=1:n
r_index=I(i,j); % 调整之前
s=sum(P(1:r_index));
I0(i,j)=s;
end
end
I1=I0*255;
% I1=uint8(I1);
return
%**************************************************************************
% end of file
%**************************************************************************
ImHistLine.rar_matlab 线性拉伸_图像拉伸 matlab_对比度_对比度调整_直方图 拉伸
版权申诉
128 浏览量
2022-07-14
13:17:32
上传
评论
收藏 1KB RAR 举报
alvarocfc
- 粉丝: 105
- 资源: 1万+
最新资源
- 312749069629470selfieU重绘.apk
- http%3A%2F%2Fimg.wsdl.vivo.com.cn%2Fappstore%2Fdeveloper%2Ficon%2F201412%2F201412231038336
- 主要记录B站up主莫烦matplotlib教程中的代码.zip
- Java SE Development Kit 8u411 Windows x64 Installer
- Java SE Development Kit 11.0.23 Windows x64 Installer
- 毕业设计-后端项目-网站民宿展示网站SSM
- 基于python绘图,程序详细展示了绘图过程中详尽的命令语句,使得图片达到可发表程度 .zip
- Java SE Development Kit 11.0.23 macOS x64 DMG Installer
- Java SE Development Kit 11.0.23 macOS ARM64 DMG Installer
- python matplotlib 可视化编程.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0