Python

[Python/OpenCV] 색 추출 그림판

zuzooclub 2024. 3. 6. 09:56
import cv2

ori = cv2.imread("../fff/crayon.jpg")
color = []
def mouse_event(event,x,y, flags, param):
    global ori,color
    # color = []
    if event == cv2.EVENT_FLAG_RBUTTON:
        color = ori[y,x]
        print(color)

    if flags == cv2.EVENT_FLAG_LBUTTON:
        ori = cv2.line(ori, (x, y), (x, y), [int(color[0]),int(color[1]),int(color[2])], 10, cv2.LINE_AA)
        cv2.imshow("ori", ori)


cv2.imshow("ori", ori)
cv2.setMouseCallback("ori", mouse_event)

cv2.waitKey(0)

 

 

 

 

 

if flags == cv2.EVENT_FLAG_LBUTTON:
        ori = cv2.line(ori, (x, y), (x, y), [int(color[0]),int(color[1]),int(color[2])], 10, cv2.LINE_AA)
        cv2.imshow("ori", ori)

 

이 코드에서 color값을 변수로 받아버리려 했지만 계속 되는 오류로 이런저런 방법 쓰다가 

설마 color값이 문자열로 받아지는건가라는 생각이 딱 들었다.

 

생각이 들자마자 int로 변형 후 실행시키니 바로 정상 실행이 되었다..

 

색 추출도 가능해 졌으니 정말 그림판처럼 물통을 만들고 그림 그리기 프로그램을 만들 수 있다.

'Python' 카테고리의 다른 글

[Python/tesseract] 맥(Mac) tesseract 설치  (0) 2024.03.06
[Python/OpenCV] 도형 그리기  (0) 2024.03.05