728x90
목차.
4.Createimg
5.Copyimg
6.Drawing
4.Createimg
🎈 240x320의 크기를 가진 numpy이용하여 여러개 만들어보기 !
import cv2
import numpy as np
# 240x320 크기의 이미지 각 픽셀은 초기화되지 않은 랜덤 값으로 채워집니다. 흑백 이미지 생성
img1 = np.empty((240, 320), dtype=np.uint8)
# 240x320 크기의 0으로 채워진 컬러 이미지 생성 (RGB값이 모두 0이기에 검정색)
img2 = np.zeros((240, 320, 3), dtype=np.uint8)
# 240x320 크기의 값이 모두 120인 흑백 이미지 생성
img3 = np.ones((240, 320), dtype=np.uint8) * 120
# 240x320 크기의 값이 (255, 102, 255)인 컬러 이미지 생성
img4 = np.full((240, 320, 3), (255, 102, 255), dtype=np.uint8)
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img3', img3)
cv2.imshow('img4', img4)
cv2.waitKey()
5.Copyimg
🎈 영상 복사해보기
🔹 아래 처럼 복사시 메모리 공간만 공유하는것이기 때문에 img_copy를 수정시 img_origin 까지 손상이 될수 있다.
import cv2
img_origin = cv2.imread('./dog.bmp')
# 메모리가 공유하고 있기때문에 원본을 건들면 copy도 변화된다.
img_origin = img_origin[91:210, 125:245] # 범위 선택해서 짜르기
img_copy = img_origin
🔹완벽한 복사
# .copy()를 이용해야 메모리 공유가 아닌 진짜 복사 된다!
img_copy = img_origin[91:210, 125:245].copy()
cv2.imshow('img_origin',img_origin)
cv2.imshow('img_copy',img_copy)
cv2.waitKey()
6.Drawing
🎈 그림그리기!
🔹 500x500 사이즈의 빈 흰색 영상을 생성
🔹 빨간색 직선 그리기
🔹 녹색 사각형 그린후 녹색으로 채우기
🔹 문자열 빨간글씨로 쓰기
import cv2
import numpy as np
# 500x500 크기의 흰색 배경 이미지 생성
img = np.full((500, 500, 3), 255, np.uint8)
# (70, 70)에서 (200, 70)까지 빨간색 직선 그리기 (선 두께: 5)
cv2.line(img, (70, 70), (200,70), (0,0,255), 5)
# (50, 200)을 왼쪽 위 꼭지점으로 하는 크기 150x100의 녹색 사각형 그리기 (채우기)
cv2.rectangle(img, (50, 200, 150, 100), (0, 255, 0), -1)
# 중심 좌표 (300, 100)에 반지름 50인 노란색 원 그리기 (채우기)
cv2.circle(img, (300, 100), 50, (255, 255, 0), -1)
# 문자열을 생성하여 좌표 (30, 350)에 크기 2의 빨간색 글씨로 그리기
str = 'Hello OpenCV'
cv2.putText(img, str, (30,350), cv2.FONT_HERSHEY_SIMPLEX, 2, (0,0,255))
cv2.imshow('img', img)
cv2.waitKey()
728x90
'개발 > OpenCV' 카테고리의 다른 글
2023.07.24 OpenCV Day1(OpenCV~Imageinfo) (0) | 2023.08.21 |
---|---|
2023.07.24 OpenCV란? (0) | 2023.08.10 |
댓글