2014-08-27 3 views
4

이미지 필터링 중이고 SNR을 알고 싶습니다. 나는 scipy 함수 scipy.stats.signaltonoise()로 시도했지만 숫자의 배열을 얻었고 실제로 얻는 것은 모른다.파이썬에서 이미지의 신호 대 잡음 비율을 얻는 방법은 무엇입니까?

내 이미지의 SNR을 얻는 다른 방법이 있습니까?

+3

[doc] (http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.signaltonoise.html#scipy.stats.signaltonise)를 확인하면 배열의 의미를 알 수 있습니다. 숫자가 – sk11

+2

어떻게 이미지의 SNR을 정의합니까? 그것이 카메라 이미지라면, 제 생각에 신호와 노이즈를 픽셀에 대한 변동을 나타내는 균일 한 색상의 영역이있는 것 같습니다. 이 경우이 이미지의 관심 영역을 이러한 균일 한 영역으로 제한 한 다음 '평균'값과 표준 편차를 사용합니다. 그러나 이미지에 대한 더 많은 정보가 없으면 우리는 정말로 도움이되지 못합니다. 귀하의 질문이 그렇게 잘 정의되어 있지 않습니다. –

+0

필자는 이미 doc @ sk11을 읽었으며 선택한 축의 모든 픽셀의 SNR을 제공합니다. 그러나 구멍 이미지의 SNR을 알고 싶습니다. 어떤 가능성이 있습니까? – Jalo

답변

2

scipy.stats.signaltonoise으로 전화 할 때 axis=None을 지정하지 않았기 때문에 하나의 번호가 아니라 배열을 다시 가져 오는 이유가 있습니다.

따라서, 당신은 아마이 필요 :이 옵션을 사용하지 않으면

snr = scipy.stats.signaltonoise(img, axis=None) 

을, 당신은 이미지의 모든 열에 대한 SNR을 얻을 것이다. 이것은 데이터가 실제로는 이미지가 아니라 예를 들어 일련의 시간 신호 일 때 많은 의미를가집니다.

관련 문제