본 게시글은 First Principles of Computer Vision의 강의를 참고하여 작성하였습니다. 유튜브 주소
Binary Image
Binary image란 이진값(0 또는 255)만 가지는 이미지로써 이미지 처리나 분석에 용이하게 해준다.
Binary Image는 Gray-Level Image를 사용하여 진행한다. 기본적인 이미지에는 Red, Green, Blue 3개의 색을 사용하여 구성 되며, 이에따라 3개의 채널로 구성이 되어있다. 해당 이미지를 Gray Scale을 진행해주면 1개의 채널만 구성되며, 각 픽셀은 0부터 255까지의 밝기값을 가지게 된다.
여기서 각 픽셀의 Gray Value를 임계값(Threshold)와 비교하여 이진화를 진행한다.
import cv2 import numpy as np from copy import copy
def GrayScale(IMG): height, width, c = IMG.shape image_data = np.asarray(IMG) print(height,width,c) for i in range(height): for j in range(width): image_data[i][j] = image_data[i][j][1] Gray_Image = image_data[0:height,0:width,0:1] # 채널을 1개로 바꿔줌 return Gray_Image # 반환
def Threshold(IMG,threshold,value): # GV(Gray Value,밝기값)이 임계값(Threshold)보다 큰 경우, Value 값으로 할당 height,width,c = IMG.shape print(c) for i in range(height): for j in range (width): if(IMG[i][j] > threshold): IMG[i][j] = value else: IMG[i][j] = 0 return IMG