제가 -500에서 +1000까지의 범위를 갖는 일련의 픽셀을 가지고 있다면, 같은 그라디언트의 모든 픽셀을 어떻게 정규화하여 특정 범위 (예 : 0과 255) 사이에 떨어 뜨릴 수 있습니까?이미지를 표준화하려면 어떻게합니까?
답변
일부 의사는 먼저 모든 긍정적하게 다른
oldmin=-500
oldmax=1000
oldrange=oldmax-oldmin;
newmin=0
newmax=255;
newrange=newmax-newmin;
foreach(oldvalue)
{
//where in the old scale is this value (0...1)
scale=(oldvalue-oldmin)/oldrange;
//place this scale in the new range
newvalue=(newrange*scale)+newmin
}
일부 의사 코드가 도움이 될 수
foreach(pixel_value in pixel_values): # between -500 and 1000
position = (pixel_value + 500)/1500 # gives you a 0 to 1 decimal
new_value = int(postion * 255) # or instead of casting, you could round it off
그런데 파이썬 코드 있다고. 이 같은
한 범위에서 선형 값을 확장 할 것입니다. 최소값이 -500이면 모든 값에 500을 추가하십시오.
[value in 0,255] = 255*(Pixel/1500)
귀하의 질문은 내가 갈거야 매우 명확하지 않다 : 그럼 그 다음은 세 가지의 단지 규칙이고 당신이 가지고있는 최소 0 것, 최대 값은 1500
것 어떤 종류의 이미지 처리를하고 있다고 가정하면 결과는 -500에서 1000 사이의 값이며 이제 모든 값이 0에서 255 사이 여야하는 파일에 색상을 저장해야합니다.
이렇게하는 방법은 응용 프로그램에 실제로 매우 의존적입니다. 실제로 결과의 의미와 정확히 무엇을하고 싶습니까? 두 가지 주요 옵션은 다음과 같습니다
- 클램프 값 - 이미지 처리는 어떤 경우 0에서 아무것도 당신이 당신은, 예를 들어,이 작업을 수행 할 수 있습니다 0과 255에 의해 대체 255 위의 아무것도에 의해 교체 이러한 값에 실제로 도달하지 않아야하는 보간법
선형 정규화 - 선형 적으로 최소값을 0으로, 최대 값을 255로 지정할 수 있습니다. 물론 먼저 최소값과 최대 값을 찾아야합니다. 당신은 할 수 :
v = (origv - min)/(max - min) * 255.0
이 먼저 [0,1]
에 값을 매핑하고 [0,255]
에 다시 스트레칭입니다 무엇.
세 번째 옵션은이 두 옵션을 혼합하고 일치시키는 것입니다. 응용 프로그램에서는 음수 값을 불필요한 값으로 처리하고 0과 양수 값을 0으로 고정하여 선형으로 [0,255]
에 매핑하도록 요구할 수 있습니다.
두 변수, MinInputValue
및 MaxInputValue
을 만듭니다. MinInputValue
을 매우 큰 양수 (보고자하는 최대 픽셀 값보다 높음)와 MaxInputValue
(매우 큰 음수)로 초기화하십시오 (보고자하는 가장 낮은 픽셀 값보다 낮습니다).
이미지의 모든 픽셀에 대해 반복합니다. 각 픽셀에 대해 PixelValue
픽셀 값이 MinInputValue
보다 작 으면 MinInputValue
을 PixelValue
으로 설정하십시오. 픽셀 값이 MaxInputValue
보다 큰 경우 MaxInputValue
을 PixelValue
으로 설정하십시오.
새 변수 InputValueRange
을 만들고 MaxInputValue - MinInputValue
으로 설정하십시오.
일단이 작업이 완료되면 이미지의 모든 픽셀을 다시 반복하십시오.각 픽셀 PixelValue
에 대해 출력 픽셀 값을 255.0 * (PixelValue - MinInputValue)/InputValueRange
으로 계산합니다. 이 새 값을 원본 PixelValue
에 다시 할당하거나 같은 크기의 출력 이미지에서 해당 픽셀을 설정할 수 있습니다.
파이썬 코드가 아닙니다. –
"픽셀 값은 pixel_values :"이어야합니다. 많은 .NET 그날 ... – jsapara