Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Python
- dropna
- k-최근접 이웃 분류
- pandas
- 데이터프레임
- Deep learning
- dataframe
- 머신러닝
- opencv
- NAN
- 결측치
- tfidfvectorizer
- sklearn
- 이미지처리
- 이미지프로세싱
- 알파브렌딩
- 지도학습
- mask detection
- 비트와이즈
- KNeighborsClassifier
- scikit-learn
- index
- NULL
- computer vision
- 판다스
- Supervised learning
- 사이킷런
- 파이썬
- ML
- 결측값
Archives
- Today
- Total
Sun.El Data Analysis
[openCV] Window management, Keyboard Event, Trackbar, Mouse event 본문
Deep Learning
[openCV] Window management, Keyboard Event, Trackbar, Mouse event
Sun.El 2023. 8. 21. 23:54728x90
1. Window management
#cv2.namedWindow, cv2.moveWindow, cv2.resizeWindow
import cv2
file_path = './book/img/girl.jpg'
img = cv2.imread(file_path)
img_gray = cv2.imread(file_path, cv2.IMREAD_GRAYSCALE)
cv2.namedWindow('origin', cv2.WINDOW_AUTOSIZE) # cv2.WINDOW_AUTOSIZE 사이즈 변경 불가
cv2.namedWindow('gray', cv2.WINDOW_NORMAL) # cv2.WINDOW_NORMAL, 사이즈 변경 가능
cv2.imshow('origin',img)
cv2.imshow('gray', img_gray)
cv2.moveWindow('origin', 0, 0)
cv2.moveWindow('gray', 100, 100)
cv2.waitKey(0) #무한 대기
cv2.resizeWindow('origin', 200, 200) #창 크기 변경 불가
cv2.resizeWindow('gray', 100, 100) #창 크기 변경 가능
cv2.waitKey(0) #무한 대기
cv2.destroyWindow('gray')
cv2.waitKey(0)
cv2.destroyAllWindows()
2. Keyboard Event
import cv2
img_file = './book/img/girl.jpg'
img = cv2.imread(img_file)
title ='IMG' #창 이름
x, y = 100, 100 #최초좌표
while True:
cv2.imshow(title, img)
cv2.moveWindow(title, x, y)
key = cv2.waitKey(0) & 0xFF # 키보드 입력을 무한 대기, 8비트 마스크 처리
print(key, chr(key)) # 키보드 입력값, 문자값 출력
if key == ord('h'): # h : 좌
x -= 10
elif key == ord('j'): # j : 아래
y += 10
elif key == ord('k'): # k : 위
y -= 10
elif key == ord('l'): # l : 오른쪽
x += 10
elif key == ord('q') or key == 27: # q or esc : esc
#break
cv2.destroyAllWindows()
break
cv2.moveWindow(title, x, y)
3. Trackbar
import cv2, numpy as np
win_name = 'Trackbar'
img = cv2.imread('./book/img/blank_500.jpg')
cv2.imshow(win_name, img)
def onChange(x):
r = cv2.getTrackbarPos('R',win_name)
g = cv2.getTrackbarPos('G',win_name)
b = cv2.getTrackbarPos('B',win_name)
print(x, r, g, b)
img[:] = [b, g, r]
cv2.imshow(win_name, img)
cv2.createTrackbar('R', win_name, 0, 255, onChange)
cv2.createTrackbar('G', win_name, 0, 255, onChange)
cv2.createTrackbar('B', win_name, 0, 255, onChange)
while True:
if cv2.waitKey(1) & 0xFF == 27:
break
cv2.destroyAllWindows()
4. Mouse event
import cv2
title = 'mouse event'
img = cv2.imread('./book/img/blank_500.jpg')
cv2.imshow(title, img)
def onMouse(event, x, y, flags, param): #마우스 콜백 함수 구현
print(event, x, y, ) #파라미터 출력
if event == cv2.EVENT_LBUTTONDOWN:
cv2.circle(img, (x,y), 30, (0,0,0), -1)
cv2.imshow(title, img)
cv2.setMouseCallback(title, onMouse)
while True:
if cv2.waitKey(0) & 0xFF == 27: # esc로 종료
break
cv2.destroyAllWindows()
import cv2
title = 'mouse event'
img = cv2.imread('./book/img/blank_500.jpg')
cv2.imshow(title, img)
colors = {'black':(0,0,0),'red': (0,0,255),'blue':(255,0,0), 'green': (0,255,0) }
def onMouse(event, x, y, flags, param):
print(event, x, y, flags)
color = colors['black']
if event == cv2.EVENT_LBUTTONDOWN:
if flags & cv2.EVENT_FLAG_CTRLKEY and flags & cv2.EVENT_FLAG_SHIFTKEY : #ctrl+shift
color = colors['green']
elif flags & cv2.EVENT_FLAG_SHIFTKEY : #shift
color = colors['blue']
elif flags & cv2.EVENT_FLAG_CTRLKEY : #ctrl
color = colors['red']
cv2.circle(img, (x,y), 30, color, -1)
cv2.imshow(title, img)
cv2.setMouseCallback(title, onMouse)
while True:
if cv2.waitKey(0) & 0xFF == 27:
break
cv2.destroyAllWindows()
'Deep Learning' 카테고리의 다른 글
[openCV] 컬러 스페이스 (0) | 2023.08.22 |
---|---|
[openCV] ROI(Region Of Interest) (0) | 2023.08.22 |
[OpenCV] 도형 그리기 (0) | 2023.08.21 |
[OpenCV] 이미지/동영상 읽기 및 저장 (0) | 2023.08.21 |
[딥러닝] 퍼셉트론 및 게이트 개념 (0) | 2023.08.11 |