ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • convertScaleAbs 함수
    컴공지식/컴퓨터비전 2024. 8. 31. 13:55

    void convertScaleAbs(InputArray src, OutputArray dst, double);를 알아보자

     

    이 함수는 OpenCV 라이브러리에 있는데, 이미지를 처리할 때 쓴다.

    src라는 입력 이미지를 받아서 dst라는 출력 이미지로 변환해 준다.

     

    함수 이름처럼 scaleabsolute 변환을 해 준다.

    scale은 이미지의 픽셀 값을 어떤 숫자로 곱해주는 거고, absolute는 음수 값을 절대값으로 바꿔주는 거다.

    결국, 이미지의 모든 픽셀 값들이 양수로 바뀐다.

     

    그 후에 각 값을 0에서 255 사이의 값으로 변환해주는 거다.

    convertScaleAbs 함수가 이 0에서 255 사이의 범위로 변환해주는 이유는,

    만약 픽셀 값이 이 범위를 벗어나면(예: -50이나 300 같은 값), 그 값은 이미지에 제대로 표현되지 않거나 잘려서 나타난다.

    예를 들어, 300이라는 값은 255로 잘려서 흰색으로 나타나고, -50이라는 값은 0으로 잘려서 검정색으로 나타나게된다.

    대부분의 디스플레이 장치는 8비트로 픽셀 값을 표현하는데, 이 말인즉슨 한 채널당 256가지의 밝기 수준만 표현할 수 있다는 것이기 때문이다.

    convertScaleAbs 함수가 중요한 이유는 바로 이 때문이다. 

    이미지 처리 중에 연산을 하다 보면 픽셀 값이 0보다 작거나 255보다 커질 수 있다. 이럴 때 모든 픽셀 값을 안전하게 0에서 255 사이로 변환해주는 게 중요한데, 그래야 이미지를 화면에 제대로 표시할 수 있다.

     

     

     

    '컴공지식 > 컴퓨터비전' 카테고리의 다른 글

    waitKey 함수  (0) 2024.08.31
    VideoCapture::get(int propId)  (0) 2024.08.31
    픽셀에 관하여  (0) 2024.08.30
    Mat copy  (0) 2024.08.30
    매트릭스 선언  (1) 2024.08.30
Designed by Tistory.