2012-01-11 2 views
2

다음 코드의 목적은 RGB 이미지의 SNR을 그려 보는 것입니다. 나는 궁극적 인 목표 인 RGB에 대해 할 수 없었기 때문에) 그리고 y axix는 클린 이미지의 표준 편차를 클린 이미지와 노이즈 이미지 사이의 평균 에러로 나눕니다. 코드는 34matlab에서 함수를 사용하면`인덱스는 실수 양수 또는 논리이어야합니다 .` : Unresolved

varra=var(var(CleanImg_normalized)); 
  1. 에서 오류를 ==에서

    ??? Subscript indices must either be real positive 
    integers or logicals. 
    

    오류> cr_t를 생성 내가 선 대신 플롯으로 단일 값을 점을 얻고 이후 수정 된 코드를 도와주세요 플롯

  2. RGB 이미지의 코드를 수정하는 방법
  3. SNR을 db로 계산하기 위해 정수를 곱한 값이 있습니까? 가장 많이 사용되는 1020 개의 숫자를 보았습니다.
+0

오류는 'var'이 분산을 계산하는 기본 제공 함수가 아니라 배열임을 제안하는 것으로 보입니다. 범위/작업 공간의 다른 곳에서 변수로'var'을 정의 했습니까? – Chris

+0

또한 위의 4 행에는 'CleanImg'대신 'CleanIm'을 참조하는 오타가 있습니다. 일부 사전 정의 된 CleanIm이 일부 문제를 일으키는 것일 수 있습니까? 또한 왜 단일 지점을 그려보고 싶습니까? 이 부분이 이미지를 정리하려고 시도한 부분입니까? – Vidar

+0

@Vidar : 답장을 보내 주셔서 감사합니다. 그 오류는 더 이상 존재하지 않습니다. 방금 컴퓨터를 다시 시작했습니다. 그리고 네, 줄거리는 줄거리 대신 단일 지점입니다! 왜 그런가요? SNR 대 평균 오차 깨끗한 이미지의 분산으로 조정됩니다. 어떻게해야합니까? – user1142671

답변

5

@Chris에 따르면, 귀하의 오류 메시지에 따르면, 그것은 var이 변수라고 생각합니다. 그래서 이미이 변수를 이미 할당했을 것입니다. 확인하려면 :

whos var 

출력이 비어 있지 않으면 실제로 var이 할당되었음을 의미합니다. 이 경우

는 수행 변수 var가 더 이상 할당 할 수 없습니다해야 그 후

clear var 

합니다. 따라서 스크립트를 다시 실행하십시오. 그러나 스크립트 중에 var이 지정되지 않았는지 확인해야합니다.

+0

: 오류가 사라졌고 방금 컴퓨터를 다시 시작하고 변수 var 변수를 다른 곳에서 할당하지 않았습니다. 그러나 플롯의 경우 선 플롯 대신 플롯으로 점을 제공합니다! 값은 SNR = 0.9786 varra = 4.7182e-005. 무엇이 잘못되었는지 논리적으로 알지 못합니다. 도움을 청하십시오. – user1142671

+0

: 플롯을 얻으려면 어떻게해야합니까? – user1142671

관련 문제