当前位置:首页 > 代码 > 正文

matlab图像处理代码(基于matlab的图像处理案例教程)

admin 发布:2022-12-19 12:31 145


本篇文章给大家谈谈matlab图像处理代码,以及基于matlab的图像处理案例教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

数字图像处理期末作业。 A类作业,使用MATLAB,求一份代码

展开全部

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); %滤波数组赋初值,全零;自己根据图像的分辨率来确定,如180*240

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=Filter.*Spectrum; %频谱与滤波模板卷积

subplot(2,2,3)

imshow(log(abs(SpectrumN)),[]);

title('滤波后频谱');

SpectrumN=ifftshift(SpectrumN);

I2=ifft2(SpectrumN);

subplot(2,2,4)

imshow(abs(I2),[]);

title('反变换图像');

这是我们以前做实验时用的程序,用的傅里叶变换,你稍微改动下应该就行了~

matlab图像如何用代码完成图像的分割、边缘检测和拼接的任务?

你可以试试下面的程序:

I=imread('myphoto.jpg'); % 假设要处理的图像是myphoto.jpg

heights=size(I,1); % 图像的高

widths=size(I,2); % 图像的宽

m=8; % 假设纵向分成8幅图

n=10; % 假设横向分成10幅图

% 考虑到rows和cols不一定能被m和n整除,所以对行数和列数均分后要取整

rows=round(linspace(0,heights,m+1)); % 各子图像的起始和终止行标

cols=round(linspace(0,widths,n+1)); % 各子图像的起始和终止列标

blocks=cell(m,n); % 用一个单元数组容纳各个子图像

for k1=1:m

for k2=1:n

blocks{k1,k2}=I(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:);

subimage=blocks{k1,k2};

% 以下是对subimage进行边缘检测

% 加入边缘检测的代码

% 以上是对subimage进行边缘检测

blocks{k1,k2}=subimage;

end

end

processed=I; % processed为处理后的图像,用原图像对其初始化

% 以下为拼接图像

for k1=1:m

for k2=1:n

processed(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:)=blocks{k1,k2};

end

end

figure,imshow(processed)

% 以上的程序已测试过,对灰度图像和真彩图像都可以运行。

数字图像处理matlab,给下面这段代码加注释

rgb=imread('1.jpg'); %读取rgb图 1.jpg

rgb1=double(rgb); %图像矩阵的数据类型转换为double类型

r=rgb1(:,:,1); %矩阵r存储rgb图中r通道的二维矩阵

g=rgb1(:,:,2); %矩阵g存储rgb图中g通道的二维矩阵

b=rgb1(:,:,3); %矩阵b存储rgb图中b通道的二维矩阵

[m,n]=size(r); %m为矩阵r的行数,n为矩阵r的列数

er=mean(mean(r(:))) %er为矩阵r所有元素的均值

dr1=0.0;sr1=0.0; %令dr1的初始值为0.0,令sr1的初始值为0.0

for i=1:m %外循环

for j=1:n %内循环

dr1=dr1+(r(i,j)-er)^2; %将矩阵r中每个像素值减去所有像素均值的平方值累加到变量dr1;

sr1=sr1+(r(i,j)-er)^3; %将矩阵r中每个像素值减去所有像素均值的三次方值累加到变量sr1;

end

end

dr=sqrt(dr1/(m*n)) %dr1除以矩阵r的大小m*n,然后开平方的值赋值给dr

sr=(sr1/(m*n))^0.3333 %sr1除以矩阵r的大小m*n,然后开三次方的值赋值给sr

eg=mean(mean(g(:))) %该处为矩阵g的处理,与上面矩阵r的方法和步骤一样

dg1=0.0;sg1=0.0;

for i=1:m

for j=1:n

dg1=dg1+(g(i,j)-eg)^2;

sg1=sg1+(g(i,j)-eg)^3;

end

end

dg=sqrt(dg1/(m*n))

sg=(sg1/(m*n))^0.3333

eb=mean(mean(b(:))) %该处为矩阵b的处理,与上面矩阵r的方法和步骤一样

db1=0.0;sb1=0.0;

for i=1:m

for j=1:n

db1=db1+(b(i,j)-eb)^2;

sb1=sb1+(b(i,j)-eb)^3;

end

end

db=sqrt(db1/(m*n))

sb=(sb1/(m*n))^0.3333

有什么问题可以继续讨论,望采纳。

基于matlab运动模糊图像处理的源代码

等一会的,我来帮你

华东师范大学???

tuxianghuanyuan('3.jpg', 80, 8, 0.02);

function tuxianghuanyuan(im, a, b, NSPR)

i = imread(im);

f = im2double(i);

PSF = fspecial('motion', a, b);

frest1 = deconvwnr(f, PSF, NSPR);

subplot(221),imshow(f); title('原图像');

subplot(222),imshow(frest1); title('维纳滤波处理后图像');

end

求一段MATLAB图像批量处理和数据的存储的代码

给你个例子吧,之前编写的一个程序的部分代码:

for

i=1:13

url=strcat('gradien',num2str(i),'.bmp');

%即读取路径/gradient/下的图像

imoving=imread(url);

matlab图像处理教程

楼主你太狠了,5分要别人做这么多!

1.图像的读入、显示及信息查询:

(1)I=imread ('lena.jpg') %图像读入

imshow(I) %图像显示

(2)inf=imfinfo('lena.jpg') % 图像信息查询

2.图像的常用处理语句:

(1) X=rgb2gray(I) ; imshow(X) %彩色图像转灰度图像

(2)X2=grayslice(I,64) ; imshow(X2,hot(64)) %将灰度图像转为索引色图像

(3) X3=im2bw(X1) ; imshow(X3) %将图像转二值图像

3.图像滤波:

clear all

g0=imread('lena.tif')

g0 = g0(:,:,2); %三维转二维

figure(1);imshow(g0) ;title('原图') %如图 5

g1=imnoise(g0,'salt pepper',0.2)

g1=im2double(g1);

figure(2);imshow(g1);title('加入椒盐噪声') %如图 6

h1=fspecial('gaussian',4,0.3)

g2=filter2(h1,g1,'same')

figure(3);imshow(g2);title('进行高斯滤波') %如图 7

h2=fspecial('sobel')

g3=filter2(h2,g1,'same')

figure(4);imshow(g3);title('进行sobel滤波') %如图 8

h3=fspecial('prewitt')

g4=filter2(h3,g1,'same')

figure(5);imshow(g4);title('进行prewitt滤波') %如图 9

h4=fspecial('laplacian',0.5);

g5=filter2(h4,g1,'same');

figure(6);imshow(g5);title('进行拉普拉斯滤波'); %如图 10

h5=fspecial('log',4,0.3);

g6=filter2(h5,g1,'same');figure(7);

imshow(g6);title('进行高斯拉普拉斯滤波'); %如图 11

h6=fspecial('average');

g7=filter2(h6,g1,'same');figure(8);

imshow(g7);title('进行均值滤波'); %如图 12

h7=fspecial('unsharp',0.3);

g8=filter2(h7,g1,'same');

figure(9);imshow(g8);title('进行模糊滤波'); %如图 13

h8=[0 -1 0;-1 5 -1;0 -1 0];

g9=filter2(h8,g1,'same');

figure(10);imshow(g9);title('进行高通高斯滤波'); %如图 14

h9=g1;g10=medfilt2(h9);

figure(11);imshow(g10);title('进行中值滤波'); %如图 15

matlab图像处理代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于基于matlab的图像处理案例教程、matlab图像处理代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/8142.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载