gpt4 book ai didi

matlab - Matlab 中的多尺度形态学图像简化

转载 作者:行者123 更新时间:2023-12-04 21:04:05 28 4
gpt4 key购买 nike

大家好,我目前正在尝试使用论文“多尺度形态学图像简化”中的 SMMT 运算符 Dorini .由于没有订阅无法访问该页面,因此我将相关详细信息发布在这里:

enter image description here enter image description here enter image description here

请注意,我将相关文章的部分内容作为图片发布。我不知道如何在 stackoverflow.com 中写方程。我想使用这个 SMMT 运算符作为图像处理中的预处理步骤。我写下的代码如下:

clc;clear all;close all;
tic
I=imread('handwritten.jpg');
I=I(:,:,1);

dim=11 ;
HEIGHT=zeros(dim,dim);
sigma=1/10;
for i=-floor(dim/2):floor(dim/2)
for j=-floor(dim/2):floor(dim/2)
HEIGHT(i+ceil(dim/2),j+ceil(dim/2))=-(1/sigma).*max(abs(i),abs(j));
end
end
NHOOD=ones(dim,dim);
se = strel('arbitrary',NHOOD,HEIGHT);
se

IM1 = imdilate(I,se,'same');
IM2 = imerode(I,se,'same');
figure;
subplot(2,2,1),imshow(I)
subplot(2,2,2),imshow(IM1)
subplot(2,2,3),imshow(IM2)

II = I;
for i=1:1
phi1 = imdilate(II,se,'same');
phi2 = imerode(II,se,'same');
for j=1:size(I,1)
for k=1:size(I,2)
if ((phi1(j,k)-II(j,k))<(II(j,k)-phi2(j,k)))
II(j,k) = phi1(j,k);
elseif ((phi1(j,k)-II(j,k))==(II(j,k)-phi2(j,k)))
II(j,k) = II(j,k);
else
II(j,k) = phi1(j,k);
end
end
end
end
IM3=II;
subplot(2,2,4),imagesc(IM3,[0 255]);colormap('gray');axis off;
toc

代码的结果应该是这样的:(再次来自论文): enter image description here .

我的结果是:- enter image description here .

我的实现是否正确?还能再改进吗??任何建议都会有所帮助。在此先感谢您的帮助! 有关详细信息,请参阅 Dorini Free Access

最佳答案

这些实现在全局范围内看起来还不错,但需要做一个小的澄清:

if ((phi1(j,k)-II(j,k))<(II(j,k)-phi2(j,k)))
II(j,k) = phi1(j,k);

我猜你想在比较 phi1I 时更改变量 II 中的图像值:

if ((phi1(j,k)-I(j,k))<(I(j,k)-phi2(j,k)))
II(j,k) = phi1(j,k);

关于matlab - Matlab 中的多尺度形态学图像简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994980/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com