文档详情

全域性截取式分段式灰度变换.doc

发布:2017-08-31约字共5页下载文档
文本预览下载声明
一、实验目的: 理解线性灰度变换的原理,掌握三种灰度变换算法的实现 二、实验内容: 全域线性灰度变换:选择一副对比度不足的图像,对该图像进行全域线性灰度变换,增强对比度,显示增强前,后的图像以及它们的灰度直方图。 截取式线性灰度变换:选择一副对比度不足的图像,对该图像进行截取式线性灰度变换,增强对比度,显示增强前,后的图像以及它们的灰度直方图。 分段线性灰度变换:选择一副对比度不足的图像,对该图像进行分段线性灰度变换,增强对比度,显示增强前,后的图像以及它们的灰度直方图。 三、实验要求: 通过编程方法实现图像的三种线性灰度变换,并将变换前后的图像及其直方图进行比较。 用Matlab编程求图像直方图,并将其结果与Matlab命令imhist的结果进行比较。 撰写实验报告并附上所用程序和结果。 四、实验结果: 全域线性灰度变换 clear ;clc; i=imread(pout.tif); d=double(i); a=min(min(d)); b=max(max(d)); a1=0.0;b1=255.0; d2=(b1-a1)/(b-a)*(d-a)+a1; i2=uint8(d2); subplot(221),imshow(i); subplot(222),imshow(i2); subplot(223),imhist(i); subplot(224),imhist(i2); 截取式线性灰度变换 clear ;clc; i=imread(pout.tif); d=double(i); imhist(i); a=75.0;b=150.0; a1=0.0;b1=255.0; n1=find(iaib); n2=find(ia); n3=find(ib); d2=d; d2(n1)=(d(n1)-a)*(b1-a1)/(b-a)+a1; d2(n2)=a1; d2(n3)=b1; i2=uint8(d2); subplot(221),imshow(i); subplot(222),imshow(i2); subplot(223),imhist(i); subplot(224),imhist(i2); 分段线性灰度变换 clear ;clc; i=imread(pout.tif); di=double(i); imhist(i); a=min(min(di)); b=max(max(di)); c=120.0;d=150.0; a1=0.0;b1=255.0; c1=30.0;d1=171.0; n1=find(di=adic); n2=find(di=cdid); n3=find(di=ddib); di2=di; di2(n1)=(di(n1)-a)*(c1-a1)/(c-a)+a1; di2(n2)=(di(n2)-c)*(d1-c1)/(d-c)+c1; di2(n3)=(di(n3)-d)*(b1-d1)/(b-d)+d1; i2=uint8(di2); subplot(221),imshow(i); subplot(222),imshow(i2); subplot(223),imhist(i); subplot(224),imhist(i2); Matlab编程求图像直方图,plot,bar函数的区别: clear;clc; i=imread(pout.tif); [m,n]=size(i); p=zeros(1,256); for x=1:m for y=1:n p(i(x,y)+1)= p(i(x,y)+1)+1; end end p=p/(m*n); subplot(1,2,1),plot(p); subplot(1,2,2),imhist(i); 5
显示全部
相似文档