import cv2
img = cv2.imread('ty2.png')
px = img[200,100]
---- 픽셀좌표 200,100 위치한 픽셀값
print(px)
---- BGR 순으로 출력됨
img = cv2.imread('ty2.png')
img[200,100] = [0,0,0]
cv2.imshow('ty2.png',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.imread('ty2.png')
img[200,100,0] = 255
-- 0번째 인덱스(B)
cv2.imshow('ty2.png',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
print(img.shape)
print(img.size)
# shape 3가지 곱한 값
print(img.dtype)
#데이터타입 -> uint: 음수없는타입
img = cv2.imread('ty2.png')
subimg = img[35:300,150:350]
cv2.imshow('ty_face',subimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.circle : 원
cv2.rectangle : 사각형
cv2.elipse : 타원
cv2.line : 선
사용방법 매개변수4개( 배경이미지, 좌표, 색상, 선의 두께)
cv2.putText(배경이미지, 출력내용, 출력시작좌표, 폰트, 크기, 색상, 굵기)
img = cv2.rectangle(img, (180,35),(350,300),(0,0,255),3)
font = cv2.FONT_HERSHEY_SIMPLEX
img = cv2.putText(img,'TY is LOVE',(180,35),font, 1, (255,0,0),4)
#좌상단()
#우하단()
#좌:우 앞, 좌:우 뒤
subimg = img[35:300,180:350]
cv2.imshow('ty_face',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
from PIL import ImageFont, ImageDraw, Image
import numpy as np
img = cv2.imread('ty2.png')
img = cv2.rectangle(img, (180,35),(350,300),(0,0,255),3)
font = ImageFont.truetype("fonts/gulim.ttc", 30)
img_pil = Image.fromarray(img)
draw = ImageDraw.Draw(img_pil)
draw.text((180,10),'탱구탱구탱구탱구탱구', font = font, fill = (255,0,0,0))
img = np.array(img_pil)
cv2.imshow('ty_face',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import numpy as np
img = cv2.imread('ty2.png')
mask = cv2.imread('tiger.png')
rows, cols, channels = mask.shape #shape 차례로 세개 변수에담음
#원하는 영역 이미지 roi
#세로, 가로
roi = img[140:140+rows,200:200+cols]
#마스크 이미지 만들기
mask2gray = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)
ret,mask_b = cv2.threshold(mask2gray,200,255, cv2.THRESH_BINARY)
mask_b_inv = cv2.bitwise_not(mask_b)
#호랑이 이미지에서 마스크부분만(배경제외 부분) 추출함 ,, 누끼
img_bg = cv2.bitwise_and(roi,roi, mask= mask_b)
img_fg = cv2.bitwise_and(mask,mask, mask= mask_b_inv)
같은건두고, 다른건 지움, mask = 부분은 걍 지워라
#ROI 이미지에 마스크 이미지 합치기
bg_fg = cv2.add(img_bg, img_fg)
#배경이미지 해당위치에 합한 이미지 붙히기
img[140:140+rows,200:200+cols] = bg_fg
1 : 배경(원본) 2: 붙혀놓을 이미지 3: 붙혀넣을 영역
cv2.imshow('1', img)
cv2.imshow('2', mask)
cv2.imshow('3', roi)
cv2.imshow('4', mask2gray)
cv2.imshow('5', mask_b)
cv2.imshow('6', mask_b_inv)
cv2.imshow('7', img_bg)
cv2.imshow('8', img_fg)
cv2.imshow('9', bg_fg)
cv2.imshow('10', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import numpy as np
img = cv2.imread('balloon.jfif')
cv2.imshow('original',img)
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
#주황색
lower = np.array([-20,100,100])
upper = np.array([20,255,255])
#노란색
lower = np.array([20,100,100])
upper = np.array([50,255,255])
#초록색
lower = np.array([50,100,100])
upper = np.array([80,255,255])
#hsv 안에서 lower~ upper 사이에 값이 아니면 전부다 0으로 채움
mask = cv2.inRange(hsv, lower, upper)
img2 = cv2.bitwise_and(img,img, mask=mask)
cv2.imshow('red',img2)
cv2.imshow('red',img2)
cv2.imshow('red',img2)
cv2.waitKey(0)
cv2.destroyAllWindows()