2012-12-27 2 views
2

Two images, 검은 색과 흰색 두 가지를 비교하는 스크립트를 이미지 흐림

하이의 비율을 얻을, 그래서 스크립트를 확인해야합니다 (어떤 프로그래밍 언어 문제가되지 않습니다,하지만 난 예를 들어 여기에 자바를 사용합니다) 어떤 이미지가 흐려 지는지를 알려줍니다. 그래서 나는 당신의 도움이들 필요로하는 곳에, 난 정말이 문제를 처리하는 방법을 몰라

function int getImageBlurPercentage() 
{ 
    ArrayList<Integer> ColorList = new ArrayList<Integer>(); 

    //Part 1: fill ColorList with color values (0=black, 255=white) 

    go through Y axis 
     go through X axis 
      ColorList -> add colorValue of each pixel; [ie: 0 to 255] 


    //Part 2: process (This is the part where I need help !) 

    int lastColor = 0; 

    for(int color : ColorList) 
    { 
     // Something has to be done here 
     // To compare pixel by pixel 
     // and get noise result or difference result 
     // and convert it to a percentage (0% - 100%) 
     // This is where I need your help ! 
    } 
} 

:

그래서 나는이 같은 기능을해야한다. 나는 이것이 내가 빠는 수학 공식이 필요하다고 생각한다.

누군가가 도움이되거나 올바른 길로 인도 할 수있는 힌트를 주면 감사하겠습니다. 고맙습니다.

+0

FFT를 다른 부드러움을 가지고 있으며, 비교하기 때문에, 테스트가 훨씬 더 복잡 할 것인가? 흐리게 처리 한 후에 노이즈가 추가되지 않으면이 기능이 작동합니다. –

+0

FFT하고 모든 주파수 (가중치)를 비교합니까? 신뢰성이 있어야합니다. –

+0

@JanDvorak 그게 무슨 뜻인지 모르겠다. 예를 들어 주시겠습니까? – Reacen

답변

0

이미지를 흐리게 처리 할 때 (실제로 가우시안 블러를 사용한다고 가정) 실제로 이미지의 픽셀을 "평균화"하는 것은 가장자리를 더 부드럽게 만드는 것을 의미합니다.

한 이미지의 가장자리가 "매끄럽게"있는지 확인하려면 Jan Dvorak이 제안한 이미지의 그래디언트를 볼 수 있지만 이미지의 픽셀 수만큼 정규화하는 것을 잊지 마십시오 (그렇지 않으면 큰 이미지는 더 큰 결과를 얻습니다).

두 개의 완전히 다른 이미지를 확인하려면 다른 장면이 자연스럽게 가장 높은 주파수를

관련 문제