
imread()imwrite()imshow()import cv2
# 이미지 읽기
img = cv2.imread("./data/input.jpg")
# 이미지 출력
cv2.imshow("img", img)
# 아무키나 누르면 창 종료 (Mac 사용자 기준)
cv2.waitKey(5000)
cv2.destroyAllWindows()
cv2.waitKey(1)
# 이미지 쓰기
cv2.imwrite("./data/output.png", img)
import cv2
img_path = "data/night_sky.jpg"
img = cv2.imread(img_path)
# ROI 영역
x, y, w, h = 100, 100, 200, 400
# OpenCV의 이미지 배열은 (height, width, channel) 순
roi = img[y:y+h, x:x+w]
print(roi.shape) # (400, 200, 3)
cv2.imwrite("data/night_sky_roi.jpg", roi)
img_wo_blue = img
img_wo_blue[:, :, 0] = 0 # Blue만 제거
cv2.imwrite("data/night_sky_wo_blue.jpg", img_wo_blue)
img_inverted = 255 - img
cv2.imwrite("data/night_sky_inverted.jpg", img_inverted)
cv.add(), cv.subtract()를 사용하여야 픽셀 값이 0~255 범위를 벗어나는 현상을 방지할 수 있음import numpy as np
# 밝기를 +50 만큼 가산
img_p50 = cv2.add(img, np.full(img.shape, 50, dtype=np.uint8))
cv2.imwrite("data/night_sky_p50.jpg", img_p50)
cvtColor() 활용 흑백조로 변환img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite("data/night_sky_gray.jpg", img_gray)
*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.