matlab完成分段函数的灰度变换..docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab完成分段函数的灰度变换.

图像反转程序: I=imread(pout.tif); JJ=imadjust(I,[0 1],[1 0]); imshow(JJ,[]); figure; imshow(I,[]); 对数变换程序: I=imread(pout.tif); imshow(I); Image=log(1+double(I)); figure(2),imshow(I,[]) 伽马变换程序: A=imread(pout.tif); x=0:255; a=90,b=1.5,c=0.008; B=b.^(c.*(double(A)-a))-1; y=b.^(c.*(x-a))-1; subplot(2,2,1) imshow(A) subplot(2,2,2) imhist(A) subplot(2,2,3) imshow(B) subplot(2,2,4) imhist(B) figure,plot(x,y) 分段线性变换程序: b=imread(pout.tif); f0=0;g0=0; f1=10;g1=30; f2=220;g2=180; f3=255;g3=255; figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3]); r1=(g1-g0)/(f1-f0); b1=-r1*f0+g0; r2=(g2-g1)/(f2-f1); b2=-r2*f1+g1; r3=(g3-g2)/(f3-f2); b3=-r3*f2+g2; axis([0 255 0 255]); [m,n]=size(b); h=double(b); figure,imshow(mat2gray(h)); for i=1:m for j=1:n t=h(i,j); g(i,j)=0; if((t=f0)(t=f1)) g(i,j)=r1*t+b1; else if((t=f1)(t=f2)) g(i,j)=r2*t+b2; else if((t=f2)(t=f3)) g(i,j)=r3*t+b3; end end end figure,imshow(mat2gray(g)); b=imread(e:\b.bmp);% i=rgb2gray(b); % 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); f=imread(cameraman.tif); %读入图像,自己改个图像,不要雷同啊 [M,N]=size(f); g=zeros(M,N); for i=1:M for j=1:N if f(i,j)=f(80,80) %f(80,80)可以改为某个介于【0,255】 g(i,j)=4*f(i,j); %g(x,y)=K*f(i,j)+b!K,B值可以取合理任意值 elseif f(i,j)=f(200,200)%f(200,200)可以改为某个介于【0,255】 g(i,j)=5*f(i,j)+2; %同上 elseif f(i,j)=f(M,N) %f(M,N)可以改为某个介于【0,255】 g(i,j)=-1*f(i,j)+2; %同上 end end end h=mat2gray(g); imshow(h);

文档评论(0)

bhzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档