【发布时间】:2023-07-13 06:54:01
【问题描述】:
大家好,我目前正在尝试使用Dorini 上的论文“多尺度形态图像简化”的 SMMT 运算符。由于没有订阅无法访问该页面,因此我在此处发布相关详细信息:
请注意,我将相关文章的部分内容作为图片发布。我不知道如何在 *.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
代码的结果应该是这样的:(再次来自论文): 。
我的结果是这样的:- .
我的实现是否正确?可以进一步改进吗??任何建议都会有所帮助。提前感谢您的帮助! 更多详情请参考Dorini Free Access
【问题讨论】:
-
为什么你认为你的实现不正确?您有具体的问题/疑问吗? SO 不适用于代码审查。您可以考虑发帖到:codereview.stackexchange.com。
-
这个问题似乎跑题了,因为它是一个代码审查请求,更适合codereview.stackexchange.com
标签: matlab image-processing morphological-analysis mathematical-morphology multiscaleimage