版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、% 求对比度 %clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,filename);A=imread(fpath);figure(1);imshow(A);title('原图像')img=rgb2gray(A);figure(2);imshow(img);title('灰度后的');img1=imnoise(img,'salt & pepper',0.05); %加
2、入椒盐躁声figure(3);imshow(img1);title('椒盐后的图像');% K近邻域滤椒盐噪声 % 3*3% 找出与f(i,j)相近的像素值 这里利用做差排序找出AAAA1=img1; AAAA1=double(AAAA1); %得到椒盐噪声图像 m,n=size(AAAA1);for i=2:m-1 for j=2:n-1 ASD1=AAAA1(i-1,j-1) AAAA1(i-1,j) AAAA1(i-1,j+1) . AAAA1(i,j-1) AAAA1(i,j) AAAA1(i,j+1) . AAAA1(i+1,j-1) AAAA1(i+1,j) AAA
3、A1(i+1,j+1); aa=ASD1; %随机设定的一个数组b=AAAA1(i,j); %取参照值a=aa(:); %将给定数组化为一维的ab=(a(:)-b)' %将数组a与b做差abc=abs(ab); abc=sort(abc); %差值取绝对值并排序as1 as11 =find(abs(a(:)-b)=abc(1,1);as=as1 as11;if isempty(abc(abc(:)=abc(1,1) if isempty(abc) abc1=abc(abc(:)=abc(1,1); as2 as22=find(abs(a(:)-b)=abc1(1,1); as=as1
4、as11;as2 as22; endendif isempty(abc1(abc1(:)=abc1(1,1) if isempty(abc1) abc2=abc1(abc1(:)=abc1(1,1); as3 as33=find(abs(a(:)-b)=abc2(1,1); as=as1 as11;as2 as22;as3 as33; endendif isempty(abc2(abc2(:)=abc2(1,1) if isempty(abc2) abc3=abc2(abc2(:)=abc2(1,1); as4 as44=find(abs(a(:)-b)=abc3(1,1); as=as1 a
5、s11;as2 as22;as3 as33;as4 as44; endendif isempty(abc3(abc3(:)=abc3(1,1) if isempty(abc3) abc4=abc3(abc3(:)=abc3(1,1); as5 as55=find(abs(a(:)-b)=abc4(1,1); as=as1 as11;as2 as22;as3 as33;as4 as44;as5 as55; endendif isempty(abc4(abc4(:)=abc4(1,1) if isempty(abc4) abc5=abc4(abc4(:)=abc4(1,1); as6 as66=f
6、ind(abs(a(:)-b)=abc5(1,1); as=as1 as11;as2 as22;as3 as33;as4 as44;as5 as55;as6 as66; endend% as即是与b值相近的值的坐标 包括和b相等的( 这里是与b值相差为六种值的情况 不一定是六个值 可能等于也可能大于 % 将以下坐标的值取第二个到第六个即是与b值相近的5个) result=zeros(1,(length(as)-1); for VB=2:6 result(VB-1)=a(as(VB,1); end %求前五个的均值 AVERAGE=sum(result(:)/5; AAAA1(i,j)=AVER
7、AGE; endend figure(9)imshow(uint8(AAAA1);title('K近邻域滤椒盐噪声后的图像');clear;clc;I_gray=. 1 5 255 225 100 200 255 200;. 1 7 254 225 100 10 10 9; . 3 7 10 100 100 2 9 6;. 3 6 10 10 9 2 8 2;. 2 1 8 8 9 3 4 2;. 1 0 7 8 8 3 2 1;. 1 1 8 8 7 2 2 1;. 2 3 9 8 7 2 2 0; %A可以是矩阵也可以是图像height,width=size(I_gray)
8、; %测量图像尺寸参数p=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:height for j=1:width p(I_gray(i,j) + 1) = p(I_gray(i,j) + 1) + 1; endends=zeros(1,256);s(1)=p(1);for i=2:256 s(i)=p(i) + s(i-1); %统计图像中<每个灰度级像素的累积个数,s(i):0,1,i-1endfor i=1:256 s(i) = s(i)*256/(width*height); %求灰度映射函数 if s(i) > 256 s(i) = 256; e
9、ndend%图像均衡化I_equal = I_gray;for i=1:height for j=1:width I_equal(i,j) = s( I_gray(i,j) + 1); endend %显示均衡化后的图像 Dui_Bi_Du2=Qiu_Dui_Bi_Du(I_equal) %均衡化后的矩阵Dui_Bi_Du1=Qiu_Dui_Bi_Du(I_gray)clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,fil
10、ename);A=imread(fpath);img=rgb2gray(A);figure(1)imshow(img);Jiao_Du=input('请输入旋转角度'); %此旋转为逆时针方向theta=Jiao_Du/180*pi;img=double(img);m,n=size(img);mm=zeros();nn=zeros();tic %计时开始%-求变换后的坐标值-%for i=1:m for j=1:n mm(i,j)=round(i*cos(theta)-j*sin(theta); nn(i,j)=round(i*sin(theta)+j*cos(theta);
11、endend%-%Cha_Zhi_1=floor(abs(max(mm(:)-min(mm(:); %横坐标最大差值 /注意as=max(mm(:) as=max(mm)的区别 Cha_Zhi_2=floor(abs(max(nn(:)-min(nn(:); %纵坐标最大差值 /此处用 as=max(mm(:) %由于上面求出的mm和nn可能会有0,这在数组中是不允许的 故要找出0,统一加一定数值,是其全部为正值mm_min=min(mm(:);nn_min=min(nn(:); %找出行列中最小的负值%下面实现对mm nn的值统一变为大于0的整数a,b=size(mm);aa,bb=size
12、(nn);for i=1:a for j=1:b mm(i,j)=mm(i,j)+abs(mm_min)+1; endendfor i=1:aa for j=1:bb nn(i,j)=nn(i,j)+abs(nn_min)+1; endend%-%new_img=zeros(Cha_Zhi_1,Cha_Zhi_2); %旋转后的新图像的画布大小 % 直接放大 %for i=1:m for j=1:n new_img(mm(i,j),nn(i,j)=img(i,j); endend% 开始邻近插值 %for i=2:Cha_Zhi_1-1 for j=2:Cha_Zhi_2-1 if new_i
13、mg(i,j)=0 new_img(i,j)=round(new_img(i-1,j)+new_img(i+1,j)+new_img(i,j-1)+new_img(i,j+1)/4; end endendtoc%计时结束figure(2);imshow(uint8(new_img);%-不等宽度、高度放大-%clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,filename);A=imread(fpath);img=rgb
14、2gray(A);figure(1)imshow(img);title('原图像');%-width,height为原图像宽度和高度-%Width,Height=size(img);%-输入放大倍数的相关参数-%Width_BeiShu=input('请输入宽度上的放大倍数:');Height_BeiShu=input('请输入高度上的放大倍数:');%-新图像画布大小-%new_Width=round(Width_BeiShu*Width);new_Height=round(Height_BeiShu*Height);%-申请新画布-%new_
15、img=zeros(new_Width,new_Height);%-开始放大-% 双线性差值算法中的四个顶点 % Q12=0; Q11=0; Q21=0; Q22=0;% 开始差值 % 差值过程中要注意放大倍数不是整数时对坐标的取整 %for i=1:Width-1 for j=1:Height-1 Q12=img(i,j+1); Q11=img(i,j); Q22=img(i+1,j+1); Q21=img(i+1,j); for a=(round(i-1)*Width_BeiShu)+1):round(i)*Width_BeiShu) for b=(round(j-1)*Height_Be
16、iShu)+1):round(j)*Height_BeiShu) %双线性差值中的三个特征像素点% new_img(round(i-1)*Width_BeiShu)+1),b)=(i*Width_BeiShu-a)/(round(i*Width_BeiShu)-i)*Q11+(a-i)/(round(i*Width_BeiShu)-i)*Q12; %F(R1) new_img(round(i*Width_BeiShu),b)=(round(i*Width_BeiShu)-a)/(round(i*Width_BeiShu)-i)*Q12+(a-i)/(round(i*Width_BeiShu)-
17、i)*Q22; %F(R2) new_img(a,b)=(round(j*Height_BeiShu)-b)/(round(j*Height_BeiShu)-j)*new_img(i,b)+(b-j)/(round(j*Height_BeiShu)-j)*new_img(round(i*Width_BeiShu),b); %F(P); end end endendfigure(2);imshow(uint8(new_img);title('放大后的图像');clear all;close all;clc;jiaodu=input('请输入角度:'); %要旋转的
18、角度,旋转方向为顺时针img=imread('E:国创相关国创bmp图片8位图像017.bmp'); %这里v为原图像的高度,u为原图像的宽度imshow(img); %这里y为变换后图像的高度,x为变换后图像的宽度h w=size(img);theta=jiaodu/180*pi;rot=cos(theta) -sin(theta) 0;sin(theta) cos(theta) 0;0 0 1; pix1=1 1 1*rot; %变换后图像左上点的坐标pix2=1 w 1*rot; %变换后图像右上点的坐标pix3=h 1 1*rot; %变换后图像左下点的坐标pix4=h
19、 w 1*rot; %变换后图像右下点的坐标height=round(max(abs(pix1(1)-pix4(1)+0.5 abs(pix2(1)-pix3(1)+0.5); %变换后图像的高度width=round(max(abs(pix1(2)-pix4(2)+0.5 abs(pix2(2)-pix3(2)+0.5); %变换后图像的宽度imgn=zeros(height,width);delta_y=abs(min(pix1(1) pix2(1) pix3(1) pix4(1); %取得y方向的负轴超出的偏移量delta_x=abs(min(pix1(2) pix2(2) pix3(2
20、) pix4(2); %取得x方向的负轴超出的偏移量for i=1-delta_y:height-delta_y for j=1-delta_x:width-delta_x pix=i j 1/rot; %用变换后图像的点的坐标去寻找原图像点的坐标, %否则有些变换后的图像的像素点无法完全填充 float_Y=pix(1)-floor(pix(1); float_X=pix(2)-floor(pix(2); if pix(1)>=1 && pix(2)>=1 && pix(1) <= h && pix(2) <= w pi
21、x_up_left=floor(pix(1) floor(pix(2); %四个相邻的点 pix_up_right=floor(pix(1) ceil(pix(2); pix_down_left=ceil(pix(1) floor(pix(2); pix_down_right=ceil(pix(1) ceil(pix(2); value_up_left=(1-float_X)*(1-float_Y); %计算临近四个点的权重 value_up_right=float_X*(1-float_Y); value_down_left=(1-float_X)*float_Y; value_down_r
22、ight=float_X*float_Y; imgn(i+delta_y,j+delta_x)=value_up_left*img(pix_up_left(1),pix_up_left(2)+ . value_up_right*img(pix_up_right(1),pix_up_right(2)+ . value_down_left*img(pix_down_left(1),pix_down_left(2)+ . value_down_right*img(pix_down_right(1),pix_down_right(2); end endendfigure,imshow(uint8(im
23、gn)clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,filename);image1=imread(fpath);%参数调整 Fa Fb Ga Gbimage=image1(:,:,1);figure(1);imshow(uint8(image);title('原图')m,n=size(image);newimage=zeros(m,n);km1=input('输入原图像灰度值一:');
24、km2=input('输入原图像灰度值二:');kn1=input('展宽后的灰度值一:');kn2=input('展宽后的灰度值二:');for i=1:m for j=1:n if image(i,j)<km1 newimage(i,j)=kn1*image(i,j)/km1; elseif image(i,j)<km2 newimage(i,j)=(kn2-kn1)/(km2-km1)*(image(i,j)-km1)+kn1; else newimage(i,j)=(255-kn2)/(255-km2)*(image(i,j)
25、-km2)+kn2; end endendfigure(2);imshow(uint8(newimage);title('处理后的')clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,filename);A=imread(fpath);img=rgb2gray(A);figure(1)imshow(img);Jiao_Du=input('请输入旋转角度'); %此旋转为逆时针方向theta=
26、Jiao_Du/180*pi;img=double(img);m,n=size(img);mm=zeros();nn=zeros();tic %计时开始%-求变换后的坐标值-%for i=1:m for j=1:n mm(i,j)=round(i*cos(theta)-j*sin(theta); nn(i,j)=round(i*sin(theta)+j*cos(theta); endend%-%Cha_Zhi_1=floor(abs(max(mm(:)-min(mm(:); %横坐标最大差值 /注意as=max(mm(:) as=max(mm)的区别 Cha_Zhi_2=floor(abs(m
27、ax(nn(:)-min(nn(:); %纵坐标最大差值 /此处用 as=max(mm(:) %由于上面求出的mm和nn可能会有0,这在数组中是不允许的 故要找出0,统一加一定数值,是其全部为正值mm_min=min(mm(:);nn_min=min(nn(:); %找出行列中最小的负值%下面实现对mm nn的值统一变为大于0的整数a,b=size(mm);aa,bb=size(nn);for i=1:a for j=1:b mm(i,j)=mm(i,j)+abs(mm_min)+1; endendfor i=1:aa for j=1:bb nn(i,j)=nn(i,j)+abs(nn_min
28、)+1; endend%-%new_img=zeros(Cha_Zhi_1,Cha_Zhi_2); %旋转后的新图像的画布大小 %还没有差值的for i=1:m for j=1:n new_img(mm(i,j),nn(i,j)=img(i,j); endendtoc%计时结束figure(2);imshow(uint8(new_img);% 求对比度 %function ZhongZhi_filter()clear;clc;filename,pathname=uigetfile('*jpg;*.bmp;*.jpeg','load?image');fpath=fullfile(pathname,filename);A=imread(fpath);figure(1);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 167公司例会部门会议模板
- 2025《谏太宗十思疏》劝谏艺术课件
- 2025《祝福》中鲁四老爷的封建卫道形象课件
- 机电维修主管工作职责与能力提升培训
- 一年级数学下册课件-5.1 认识人民币人教版(共19张)
- 初中英语满分作文必背句型
- 从业人员工作服管理制度培训
- 2026年广东松山职业技术学院单招职业技能考试题库含答案详解(黄金题型)
- 2026年山西老区职业技术学院单招职业适应性测试题库有答案详解
- 2026年广东舞蹈戏剧职业学院单招职业技能考试题库及答案详解(全优)
- 哥伦比亚-自杀严重程度评定量表
- 烹饪原料知识PPT完整全套教学课件
- 汽车保险与理赔试卷
- 计算机操作员职业标准
- PPK(表格模板、XLS格式)
- GB/T 30257-2013节能量测量和验证技术要求通风机系统
- GB/T 22708-2008绝缘子串元件的热机和机械性能试验
- GB/T 17492-2019工业用金属丝编织网技术要求和检验
- GB 13614-2012短波无线电收信台(站)及测向台(站)电磁环境要求
- 城市绿地设计规范课件
- 2023年宁波城市职业技术学院单招职业适应性测试笔试题库及答案解析
评论
0/150
提交评论