
MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多在新的版本中也加入了对C,FORTRAN,c++ ,JAVA的支持可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。
img = imread('aajpg');
img1 = img(:,:,1);
img = double(img1);
a = 1;
b= 05;
for i = 1:size(img,1);
for j = 1:size(img,2)
g(i,j)=a+log(img(i,j)+1)/(blog(2));
end
end
figure,subplot(211),imshow(img1),title('原图')
subplot(212),imshow(uint8(g)),title('变换后的图像')
循环之前令sk=[];
在循环结构里,xk的值运算出来之后,
sk=[sk,xk]; %这样得出sk是行向量。
或者
sk=[sk;xk]; %这样得出的sk是列向量。
如果数据行数实在太多,超出command window所显示的行数,
那就
>>more on
这样就分页显示了。
1、读入图像数据,使用Matlab中的imread函数读取扫描探针图像数据,将其转换为Matlab中的矩阵格式。
2、图像预处理,对图像进行预处理,包括去除噪声、平滑处理、增强对比度等。
3、特征提取,从图像中提取出有用的特征信息,例如表面高度、粗糙度、颜色、纹理等。
Image=imread('原图像');
subplot(2,2,1)
imshow(Image);
title('原图');
Spectrum=fft2(Image);
subplot(2,2,2)
imshow(Spectrum);
title('FFT 变换结果');
subplot(2,2,3)
Spectrum=fftshift(Spectrum);
imshow(Spectrum);
title('零点平移');
subplot(2,2,4)
imshow(log(abs(Spectrum)),[]);
title('系数分布图');
%低通滤波
figure; %建立一张空白图纸
subplot(2,2,1)
imshow(log(abs(Spectrum)),[]);
title('系数分布图');
Filter=zeros(180,240); %滤波数组赋初值,全零;自己根据图像的分辨率来确定,如180240
r=50; %滤波窗口半径,从中心到半径窗口内滤波数组赋值1
for i=(180/2-r+1):(180/2+r);
for j=(240/2-r+1):(240/2+r);
Filter(i,j)=1;
end;
end;
subplot(2,2,2)
imshow(Filter,[]);
title('滤波窗口');
SpectrumN=FilterSpectrum; %频谱与滤波模板卷积
subplot(2,2,3)
imshow(log(abs(SpectrumN)),[]);
title('滤波后频谱');
SpectrumN=ifftshift(SpectrumN);
I2=ifft2(SpectrumN);
subplot(2,2,4)
imshow(abs(I2),[]);
title('反变换图像');
这是我们以前做实验时用的程序,用的傅里叶变换,你稍微改动下应该就行了~
以上就是关于MATLAB的一些问题全部的内容,包括:MATLAB的一些问题、用MATLAB编程进行数字图像处理、如何在matlab中实现连续跟踪记录同一变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)