- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像增强参考程序
反色function Inverse_Callback(hObject, eventdata, handles)
x=imread(‘*.bmp’)
y=255-x;
直方图均衡HisteQ_Callback(hObject, eventdata, handles)
x= imread(‘*.bmp’)
N=256;
[row,col]=size(x);
p=zeros(N);
for i=1:row*col;
p(x(i)+1)=p(x(i)+1)+1; %%%%%%%计算灰度值为i的个数,类似%%%%%p(i+1)=length(find(x==i))/(m*n);?
end
p=(double(p))/(row*col);
for k=2:N
p(k)= p(k) + p(k-1) ;
end
s=fix(256*p);
for i=1:row*col;
x(i)=s(x(i)+1)-1;
end
阈值变换
x= imread(‘*.bmp’)
prompt={Threshold(0~255):};
name=Input for Thresholding;
numlines=1;
defaultanswer={50};
anss=inputdlg(prompt,name,numlines,defaultanswer);
th=str2num(anss{1});
[row,col]=size(x);
for i=1:row*col;
if x(i)th
x(i)=256;
else
x(i)=0;
end
end
全局线性变换..
f= imread(‘*.bmp’)
[row,col]=size(f);
f1=double(f);
prompt={the min graylevel for output image(0~255): the max graylevel for output image(0~255):};
name=Input for ContrastStretching;
numlines=1;
defaultanswer={0 255};
anss=inputdlg(prompt,name,numlines,defaultanswer);
b=str2num(anss{1});
a=str2num(anss{2});
fminGray=min(min(f1));
fmaxGray=max(max(f1));
g=double(zeros([row,col]));
for x=1:row
for y=1:col
g(x,y)=[(a-b)*(f1(x,y)-fminGray)/(fmaxGray-fminGray)]+b;
end
end
分段线性变换...
f= imread(‘*.bmp’)
[row,col]=size(f);
f1=double(f);
N=256;
prompt={the x of the first point: the y of the first point: the x of the second point: the y of the second point: the maximum graylevel for output image:};
name=Input for ContrastStretching;
numlines=1;
defaultanswer={80 70 170 180 255};
anss=inputdlg(prompt,name,numlines,defaultanswer);
x1=str2num(anss{1});
y1=str2num(anss{2});
x2=str2num(anss{3});
y2=str2num(anss{4});
gmaxGray=str2num(anss{5});
fmaxGray=max(max(f1));
for x=1:row
for y=1:col
if f1(x,y)=x1
g(x,y)=x2*f1(x,y)/x1;
else
if (f1(x,y)x1)(f1(x,y)=x2)
g(x,y)=(y2-y1)*(f1(x,y)-x1)/(x2-x1)+y1;
else
g(x,y)=(gmaxGray-y2)*(f1(x,y)-x2)/(fmaxGray-x2);
原创力文档


文档评论(0)