1. 사용 코드
1) Trackbar
2) mean 함수
- mat 행렬 원소의 평균
※ cv.sum = 행렬 원소의 총합
import cv2 as cv
import numpy as np
def on_trackbar(x):
pass
cv.namedWindow('test')
cv.createTrackbar('x', 'test', 0, 500, on_trackbar)
cv.createTrackbar('y', 'test', 0, 500, on_trackbar)
cv.setTrackbarPos('x', 'test', 150)
cv.setTrackbarPos('y', 'test', 150)
cap = cv.VideoCapture(0)
while True:
ret, img = cap.read()
img_result = img.copy()
#색의 평균 구할 위치를 trackbar로 조정
center_x = int(cv.getTrackbarPos('x', 'test'))
center_y = int(cv.getTrackbarPos('y', 'test'))
#해당영역을 사각형 처리
cv.rectangle(img_result, (center_x-50, center_y-50),
(center_x+50, center_y+50), (100, 100, 230), 3)
#선택 영역의 mat 객체를 가져오고 평균내기
img_roi = img[center_y-50:center_y+50, center_x-50:center_x+50]
data = cv.mean(img_roi)
img_mean = np.zeros(img_roi.shape, dtype=np.uint8)
img_mean[:] = (data[0], data[1], data[2])
cv.imshow('test', img_result)
cv.imshow('mean', img_mean)
cv.imshow('roi', img_roi)
if cv.waitKey(1) == 27:
break
'OpenCV > Python' 카테고리의 다른 글
영역 지정 (내가 헷갈려서 정리..) (0) | 2021.06.13 |
---|---|
이미지 기하학적 변환 (0) | 2021.06.13 |
ROI -2 응용하기 (0) | 2021.06.11 |
ROI -1 관심영역 설정 (0) | 2021.06.11 |
이미지 비트연산을 활용한 이미지 합성 (0) | 2021.06.11 |