2013-07-22 2 views
0

저는 파이썬에서 지문에 대해 로컬 리지 방향을 구현하려고했습니다. 나는 Gradient 메서드를 사용했고, sobel 연산자를 사용하여 필요한 그라디언트를 얻었습니다. 그러나이 방법은 많은 결함이 있으며, 특히 약 90도 정도의 결함이 있음이 밝혀졌습니다. 지금까지 해본 코드를 포함 할 수는 있지만 원하는대로 작동하지 않으므로 필요한 코드인지 모르겠습니다. 또한 선분 방법을 살펴 보았지만 잠재 지문과 함께 작업하므로 선분에서 최대 흑백을 찾아야하는지 알기가 어렵습니다. 나는 또한 연속 선의 최대 농도 영역을 탐지하는 알고리즘을 구현하려고 시도했지만이를 작동시키지 못했습니다. 다른 알고리즘에 대한 제안 사항은 무엇입니까?로컬 리지 방향 구현

편집 : (지문

내가 블록 내 함수를 적용하는 함수를 사용하고 있지만,이

def lro(im_np): 

    orientsmoothsigma = 3 

    Gxx = cv2.Sobel(im_np,-1,2,0) 
    Gxy = cv2.Sobel(im_np,-1,1,1) 
    Gyy = cv2.Sobel(im_np,-1,0,2) 


    Gxx = scipy.ndimage.filters.gaussian_filter(Gxx, orientsmoothsigma) 
    Gxy = numpy.multiply(scipy.ndimage.filters.gaussian_filter(Gxy, orientsmoothsigma), 2.0) 
    Gyy = scipy.ndimage.filters.gaussian_filter(Gyy, orientsmoothsigma) 

    denom = numpy.sqrt(numpy.add(numpy.power(Gxy,2), (numpy.power(numpy.subtract(Gxx,Gyy),2))))# + eps; 
    sin2theta = numpy.divide(Gxy,denom)   # Sine and cosine of doubled angles 
    cos2theta = numpy.divide(numpy.subtract(Gxx,Gyy),denom) 

    sze = math.floor(6*orientsmoothsigma); 
    if not sze%2: sze = sze+1  
    cos2theta = scipy.ndimage.filters.gaussian_filter(cos2theta, orientsmoothsigma) # Smoothed sine and cosine of 
    sin2theta = scipy.ndimage.filters.gaussian_filter(sin2theta, orientsmoothsigma)#filter2(f, sin2theta); # doubled angles 



    orientim = math.pi/2. + numpy.divide(numpy.arctan2(sin2theta,cos2theta),2.) 

    return orientim 

답변

1

나는 오래전에이 일을하고 그것에 관한 논문을 썼다. 기억할 때 더 많은 결과를 얻기 위해 흑백 리지 (이미지를 뒤집어 분석을 반복)를 찾습니다. 나는 어떤 각도에서 약간의 민감성을 기억한다. 순수한 소벨보다 더 많은 것을 필요로 할 것입니다. 실용적인만큼 많은 픽셀에 접근 해보세요.

+0

검은 색과 흰색으로 분리 된 이미지로 무엇을합니까? 원본에 슈퍼 임 포즈? 소벨 대신 내가 쓸 수있는 것에 대한 제안이 있니? 저는 Sobel이 그라디언트를 얻기 위해 사용 된 것을 보았습니다. 그래서 다른 방법들에 대해서는 손실을 입었습니다. – larstoc

+0

방향을 (흑백으로) 찾아 방향을 함께 겹쳐서 더 밀도가 높은 프리젠 테이션을 제공하십시오. 정확한 그라데이션 파인더를 기억하지 못합니다. 범위를 표시하고 가운데에 닿는 전경 영역 만 유지 (다른 산등성이 제거)하고 미니 호우 또는 기타 기술을 사용하여 각도를 찾습니다. – Jiminion

+0

http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=948092 – Jiminion

0

당신은 레이몬드 타이어의 직장에서보기를 할 수 있습니다 거의 관련이 Image Enhancement and Minutiae Extraction)을 클릭하십시오.

+0

그래, 나는 그의 첫 번째 알고리즘을 그의 작업에 기반을 두었지만 제대로 작동시키지 못했다. 나는 그것을 완전히 잘못 구현 한 것일 수도있다 : 거의 모든 사람들이이 방법을 시사하고 있기 때문에 S이다. 나는 내 코드를 추가 할 수있다. 만약 당신이 내게 어떤 포인터를 주려고 친절하다면. – larstoc