2014-05-09 5 views
2

일반 회색 이미지에서 계산 한 Integral Image가 있습니다. 나는 그것을 확인하고 그것이 하나 같이 : Integral Image 테두리 처리

http://i.stack.imgur.com/qOdHa.jpg

이 지금은 예를 들어, 적분 이미지에 SURF에서 사용되는 박스 필터를 몇 박스 필터를 적용합니다.

http://i.imgur.com/bPc8bfN.png

내 문제는 이제 필터는 이미지의 모서리에 반응한다는 것입니다. 나는 그것이 필터 박스의 outshifting에서 온 것 같아요. 이제 경계 처리를 구현해야한다는 것을 알았습니다. 먼저 Integral Image의 첫 번째 행과 열을 0으로 설정하는 것이 도움이된다고 생각했지만 도움이되지 않았습니다. I에 유래에서 이걸 발견 :

Dealing with Boundary conditions/Halo regions in CUDA

어떻게 내 Integralimage에이 기술을 적용 할 수있는 가장 좋은 방법은? 인테그랄 이미지에 몇 가지 가장자리 거울, 클램프 등을 만드는 것이 합리적입니까? 또는 Integral Image를 계산하기 위해 InputeImage를 사용해야합니까? 누군가 그 경험을했거나이 문제를 해결할 전형적 방법이 있습니까?

편집 : ". 대신 당신이 경계에있을 때 필터 코드에서 바이올린을 켜는 일부 인덱스를하고 싶어"

가 자,이 순간에, 나 자신 만 반복 할 수 있도록, IntegralImage의 첫 번째 col과 row는 0입니다.

int GetBoxIntegral(int xUp, int yUp, int xBot, int yBot) 
{ 
    yUp = Math.min(Math.max(0, yUp), m_integralImage.GetHeight() - 1); 
    xUp = Math.min(Math.max(0, xUp), m_integralImage.GetWidth() - 1); 
    yBot = Math.min(Math.max(0, yBot), m_integralImage.GetHeight() - 1); 
    xBot = Math.min(Math.max(0, xBot), m_integralImage.GetWidth() - 1); 



    int A = 0, B = 0, C = 0, D = 0; 
    A = m_integralImage.GetPixel(xUp, yUp); 
    B = m_integralImage.GetPixel(xBot, yUp); 
    C = m_integralImage.GetPixel(xUp, yBot); 
    D = m_integralImage.GetPixel(xBot, yBot); 

    return Math.max(0, A + D - B - C); 
} 

답변

0

1) "Integralimage에이 기술을 적용하는 가장 좋은 방법은 무엇입니까?" 그것은 모두 당신이 원하는 결과에 달려 있습니다. 예를 들어, 지형지 물 감지의 경우 테두리 가까이에있는 픽셀을 따라 잡고 모든 필터가 이미지 내부에 있어야합니다.

2) "인테그랄 이미지에 일부 가장자리 거울, 클램프 등을 설치하는 것이 합리적입니까? 아니면 Integral Image를 계산하기 위해 InputeImage를 사용해야합니까?" 테두리가있는 통합 이미지를 더 빨리 만들 수 있으며 가능한 적은 계산이 가능합니다.

3) "이 문제를 경험 한 사람이 있습니까? 아니면이 문제를 해결할 전형적 방법이 있습니까?" 나는 2 가지의 전형적인 해결책을 안다. 먼저 이미지 외부에서 계산이 필요한 모든 픽셀을 무시합니다 (피쳐 감지). 둘째, 적분 이미지 쿼리 (상자 흐림 필터)의 사각형을 클램프합니다.

+0

답장을 보내 주셔서 감사합니다. 지금은 국경에서 이미지를 반영합니다. 잘 작동하지만 Integral Image를 위해 더 많은 메모리가 필요합니다. 포인트를 무시하려면 이미지 사운드 외부의 정보가 필요합니다. 두 가지를 모두 할 수 있도록 구현하십시오. Intereset Points의 수는 미러링 된 버전과 함께 많이 증가 할 것입니다. – PeterNL