首页 常用MATLAB语句

常用MATLAB语句

举报
开通vip

常用MATLAB语句常用MATLAB语句 mg=imread('1.jpg'); f=rgb2gray(img); subplot(1,2,1); imshow(f); f=double(f); f=fft2(f); f=fftshift(f); [m,n]=size(f); % d0=80; m1=fix(m/2); n1=fix(n/2); for i=1:m for j=1:n d=sqrt((i-m1)^2+(j-n1)^2); h(i,j)=exp(-d^2/2/d0^2); end end g=f...

常用MATLAB语句
常用MATLAB语句 mg=imread('1.jpg'); f=rgb2gray(img); subplot(1,2,1); imshow(f); f=double(f); f=fft2(f); f=fftshift(f); [m,n]=size(f); % d0=80; m1=fix(m/2); n1=fix(n/2); for i=1:m for j=1:n d=sqrt((i-m1)^2+(j-n1)^2); h(i,j)=exp(-d^2/2/d0^2); end end g=f.*h; g=ifftshift(g); g=ifft2(g); g=mat2gray(real(g)); subplot(1,2,2); imshow(g); imwrite(img,'2.jpg'); txt 读取 一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据 文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据如test1.txt “你好 欢迎来到 振动论坛 vib.hit.edu.cn 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555” 这样的文件怎么读入数据呢, 方法有多种,现举两个比较简单实用的。 方法一: file/import data....../next/finish >> whos Name Size Bytes Class data 5x4 160 double array textdata 4x1 300 cell array Grand total is 54 elements using 460 bytes >> data data = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555 >> textdata textdata = '你好' '欢迎来到' '振动论坛' 'vib.hit.edu.cn' 方法二: [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f 等。 这里%s的个数和[a1,a2,a3,a4]对应。 >> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) a1 = '1' '2' '3' '4' '5' a2 = '11' '22' '33' '44' '55' a3 = '111' '222' '333' '444' '555' a4 = '1111' '2222' '3333' '4444' '5555' 因以字符串的形式读入,所以有''。 ———————————————————————————————— 三、中文 数据 英文 混乱如test.txt 你好 1 11 111 1111 欢迎来到 2 22 222 2222 振动论坛 3 33 333 3333 vib.hit.edu.cn 4 44 444 4444 5 55 555 5555 说明:这种内容格式的文件用上面的方法是不行的。 以下是由chinamaker编写的一种方法: fidin=fopen('test.txt'); % 打开test2.txt文件 fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件 while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值 fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt continue % 如果是非数字继续下一次循环 end end fclose(fidout); MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来 >> MK MK = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555 灰度图像转化 MyYuanLaiPic = imread('e:/image/matlab/darkMouse.jpg');%读取RGB格式的图像 MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换 [rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数 MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像 MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的 for i = 1:rows for j = 1:cols sum = 0; for k = 1:colors sum = sum + MyYuanLaiPic(i , j , k) / 3;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255 end MidGrayPic(i , j) = sum; end end imwrite(MidGrayPic , 'E:/image/matlab/DarkMouseGray.png' , 'png'); %显示原来的RGB图像 figure(1); imshow(MyYuanLaiPic); %显示经过系统函数运算过的灰度图像 figure(2); imshow(MyFirstGrayPic); %显示转化之后的灰度图像 figure(3); imshow(MidGrayPic);
本文档为【常用MATLAB语句】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-10-20
浏览量:14