Python/Pycharm OPEN-CV 2

2023. 9. 29. 17:05파이썬/OpenCV

이미지 정보 알아보기

 

1. 가로 *  세로  = img.shape로 확인 가능 

import cv2

img_gray= cv2.imread('./dog.bmp',cv2.IMREAD_GRAYSCALE)
print('img1 type : ', type(img_gray))
print('img1 shape : ', img_gray.shape) #img1 shape :  (364, 548) (h,w)순서
print('img1 dtype : ', type(img_gray.dtype)) #uint8

print('=====================================')

img_bgr= cv2.imread('./dog.bmp')
print('img_bgr type : ', type(img_bgr))
print('img_bgr shape : ', img_bgr.shape) # img_bgr shape :  (364, 548, 3)
print('img_bgr dtype : ', type(img_bgr.dtype))

# img_color의 가로*세로로 표현하기
h,w = img_bgr.shape[:2]
print('img_bgr의 사이즈 :', h ,'*', w)


#그레이스케일 영상과 컬러 영상을 구별하는 방법

if len(img_gray.shape) == 2:
    print('img_gray는 그레이 스케일 입니다.')
elif len(img_gray.shape) ==3:
    print('img_gray는 컬러 입니다.')

#img_color에 특정 색 정보를 영상의 출력
#(255,102,255) bgr 정보

#강사님 버전
img_bgr[:,:] = (255,102,255)
cv2.imshow('img_bgr',img_bgr)
cv2.waitKey()


# for i in img_bgr:
#     for j in range(len(i)):
#         i[j] = [255,102,255]
#
# print(img_bgr)
#
cv2.imshow('img_bgr',img_bgr)
cv2.waitKey()







2. 임의의 색상을 지정하여 띄우기

 

import cv2
import numpy as np

img1 = np.empty((240,320),dtype=np.uint8)
img2 = np.zeros((240,320,3) ,dtype=np.uint8)
img3 = np.ones((240,320),dtype=np.uint8) * 120

#크기, 채울 값, 타입
img4 = np.full((240,320,3),(255,105,255),dtype=np.uint8)


cv2.imshow('img4',img4)
cv2.waitKey()

 

img1 = 랜덤한 값 으로 240 * 320 사이즈로

img2 = 0의 값으로 240 * 320 

img3 = 1의 값으로 240 * 320

 

img4 = np.full(사이즈, 넣을 값, 타입)

 


3. 선, 박스, 원 , 문자열 만들어보기

 

import cv2
import numpy as np

img = np.full((500,500,3),255,np.uint8)

# 시작지점 / 종료지점 / BGR 색 / 선 두께
cv2.line(img,(70,70),(200,70),(0,0,255),5)

# (x,y,w,h) 앞 2개 위치 / 뒤 2개 사각형 범위
cv2.rectangle(img,(50,200,150,100),(0,255,0),-1)

# 위치  / 반지름 / 색깔 / 내부의 색을 넣을 것인지
cv2.circle(img,(300,100),50,(255,255,0),-1)

# 문자열 만들어 삽입하기
st1=  'Hello OpenCV'

cv2.putText(img,st1,(30,450),cv2.FONT_HERSHEY_SIMPLEX,5,(125,125,205))

cv2.imshow('img',img)
cv2.waitKey()

728x90