Computer Vision Theory : 이미지 연산

Image Calculation

Computer Vision Theory : 이미지 연산
[ ComputerVision ] - 윤대희

이미지 연산(Image Calculation)


1

이미지 연산(Image Calculation)란 각 픽셀마다 특정 함수나 수식을 적용하여 변형하는 것을 의미합니다. 이미지에 일괄적으로 값을 더하거나 빼는 연산을 예로 들 수 있습니다. 이외에도 색상을 흑백으로 변환하는 것도 연산으로 볼 수 있습니다.

예를 들어, RGB의 색상 이미지를 흑백 이미지 변경할 때 다음의 수식을 적용합니다. Y = 0.299 * R + 0.587 * G + 0.114 * B을 사용해, RGB 색상을 하나의 채널만 갖는 그레이스케일로 변환할 수 있습니다. 이렇듯 이미지에 대해여 일괄적으로 적용하는 경우엔 이미지 연산이 적용되었다 볼 수 있습니다.

이미지 연산을 통하여 특정 범위의 픽셀을 제거하거나 변환하는 등의 작업을 진행하거나 모든 픽셀에 대하여 동일한 처리를 진행할 수 있습니다. 해당 결과를 통하여 불필요한 영역을 제거하거나 필요한 영역을 두드러지게 할 수 있습니다.

대표적으로 비트 연산(Bitwise), 연산(Calculation), 색상 공간 변경(Convert Color Space) 등이 있습니다.



비트 연산(Bitwise)

비트 연산(Bitwise)는 이미지에 대하여 AND, OR, XOR, NOT의 비트 연산을 적용할 수 있습니다. 두 이미지의 픽셀에 비트 연산을 적용하여 논리곱, 논리합, 배타적 논리합, 부정을 연산합니다.

픽셀값은 10진수의 형태로 0에서 255 사이의 값을 가지고 있습니다. 이 10진수의 픽셀값을 2진수로 변환한 다음, 각 자릿수에 대해 비트 연산을 진행합니다. 만약, 198과 255의 픽셀을 배타적 논리합 비트 연산을 진행한다면 다음과 같습니다.

198은 1100 0110(2)이 되며, 255는 1111 1111(2)이 됩니다. XOR 연산은 비트 값이 같으면 0, 다르다면 1이 됩니다. 각 자리수 마다 값을 비교한다면 0011 1001이 됩니다. 이 값을 10진수로 변경한다면, 57이 됩니다. 그러므로, 최종 반환값은 57의 값으로 할당됩니다.



연산(Calculation)

연산(Calculation)은 이미지에 대하여 더하기(ADD), 빼기(SUB), 곱하기(MUL), 나누기(DIV), 최댓값(MAX), 최솟값(MIN), 절댓값 감산(ABSDIFF) 등의 연산을 적용할 수 있습니다. 두 개 이상의 이미지를 연산을 하거나, 하나의 이미지에 특정값을 더하거나 곱하는 등의 연산을 할 수 있습니다.

위와 같은 연산을 통해 이미지 위에 다른 이미지를 겹치거나, 특정 픽셀 값을 변경하는 등의 기능을 수행할 수 있습니다. 이러한 연산으로 전체적인 알고리즘의 연산량을 줄이고 정확도를 높일 수 있습니다.



색상 공간 변경(Convert Color Space)

색상 변경(Convert Color Space)은 전체 이미지에 대하여 동일한 함수를 적용하여 해당 이미지가 지니는 의미를 변환하는 역할을 합니다. RGB 속성을 지닌 이미지를 GRAY 이미지로 변경하거나 HSV, YCrCb 등의 다양한 색상 공간으로 변환할 수 있습니다.

RGB 속성 이외의 다른 속성 색상 공간으로 변환하여 처리하므로 복잡한 알고리즘을 사용하지 않아도 원하는 결과를 얻어낼 수 있도록 하는 전처리 과정으로도 볼 수 있습니다. 만약, 빨간색이나 파란색 등의 특정 색상을 추출하려고 한다면, RGB 색상 공간이 아닌, HSV 등의 색상 공간에서 색상을 추출한다면, 더 효율적이고 빠르게 색상을 추출할 수 있습니다.



  • Writer by : 윤대희


Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Computer Vision Theory : 노이즈 제거 & 이미지 복원 ⤧  Next post Computer Vision Theory : 특징 검출
    ComputerVision Category