【发布时间】:2014-04-22 13:57:17
【问题描述】:
我正在尝试使用 PDE 热方程并使用 Matlab 将其应用于图像。我遇到的问题是图像没有模糊,它只是变白了。此外,我从使用 Maple 的其他班级中得到了不同的结果。
代码如下:
% George Lees Jr.
% Heat equation
clear,clc;
dx = 1;
dy = 1;
dt = .025;
%dt/(dx*dx)
t = 0;
time = 3;
T_old = imread('tulipgray.jpg');
T_temp=T_old;
[m,n,k] = size(T_temp);
%colormap gray;
%imagesc(T_temp);
%imshow(T_old);
T_new = T_temp;
T_new=ind2gray(T_new,colormap);
%T_new(:,50)=0;
%T_old(1,70)
%imagesc(T_new);
%diff_x = dt/(dx*dx)
%diff_y = dt/ (dy*dy)
%time = 0;
while t < time
for i = 2:1:m-1
for j = 2:1:n-1
T_new(i,j) = T_temp(i,j) + dt*(T_temp(i+1,j) -2*T_temp(i,j) + T_temp(i-1,j)) + dt*(T_temp(i,j+1)-2*T_temp(i,j) + T_temp(i,j-1));
t = t+dt;
T_temp(i,j) = T_new(i,j);
end
end
end
figure
imshow(T_new)
是的,图像变得更白了
【问题讨论】:
-
不知道出了什么问题,但我用谷歌搜索了一下,发现了这个:math.ucla.edu/~wittman/reu2008/matlabIP.pdf 第 8 页上的代码似乎有效,也许您可以将其与您的代码进行比较以找出问题。
标签: matlab image-processing pde heat