3

안녕하세요. 저는 현재 Dorini에 "Multiscale Morphological Image Simplification"이라는 종이의 SMMT 연산자를 사용하려고합니다. 페이지가 가입없이 액세스 할 수 없기 때문에, 나는 여기에 관련 정보를 게시하고 있습니다 : enter image description here enter image description hereMultisale Morphological Image Simplification in Matlab

enter image description here 내가 이미지와 같은 관련 문서의 일부를 게시하고 있습니다. 내가 방정식을 작성하는 방법을 모르겠다 stackoverflow.com. 이 SMMT 연산자를 이미지 처리의 전처리 단계로 사용하고 싶습니다. (다시 종이에서) : enter image description here이 같은해야

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.

구현이 올바 릅니까 ?? 더 나아질 수 있습니까 ?? 어떤 제안이 도움이 될 것입니다. 도와 주셔서 미리 감사드립니다 !!

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

난 당신이 phi1I을 비교하면서 변수 II에서 이미지 값을 변경하려면 여기 추측 : 자세한 내용은 Dorini Free Access

+0

왜 구현이 올바르지 않습니까? ** 특정 ** 문제/질문이 있으십니까? 그래서 코드 검토를위한 것이 아닙니다. http://codereview.stackexchange.com에서 게시를 고려할 수 있습니다. – Shai

+1

이 질문은 코드 검토 요청이며 http://codereview.stackexchange.com/에보다 적합하므로이 주제는 오프 토픽으로 보입니다. – Shai

답변

0

구현을 참조하는 것은 비록 작은 설명, 세계적으로 확인 같습니다

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