관심 영역을 지정한 후, 해당 영역을 반전시킨 부분을 이미지에 반영하는 코드이다. import cv2 import numpy as np img = cv2.imread('image.jpg') cv2.imshow('img', img) drag = False # drag 상태 defalut_x, default_y, w, h = -1,-1,-1,-1 # 좌표 blue = (255,0,0) def Mouse(event, x, y, flag, param): global drag, default_x, default_y, img # global variance if event == cv2.EVENT_LBUTTONDOWN: # 왼쪽 버튼 누름 drag = True default_x = x default_y = y eli..
ROI 검색 결과
1. MeanShift MeanShift는 대상 객체의 색상 정보를 평균 이동에 대해 추적하는 알고리즘으로, 연산이 이루어지는 과정은 다음과 같다. 1) 영상에서 추적할 대상을 선정한 후 HSV 컬러 Space의 H(Hue)값 히스토그램 계산 2) 전체 영상을 과정 1의 히스토그램 계산 후 역투영 처리 3) 역투영된 영상에서 MeanShift로 추적 역투영이란 전체 영상의 색상 정보와 대상 객체의 색상 정보의 비율을 0~255 구간 내로 정규화한 것이다. opencv는 히스토그램 역투영 결과에서 평균 이동으로 대상 객체의 위치를 찾아주는 함수 cv2.meanShift()를 지원한다. import cv2 import numpy as np capture = cv2.VideoCapture("video.avi"..
import cv2 import numpy as np 이미지 속성 1. img.shape : 이미지 해상도 및 채널 수 (height, width, channel), (행, 열, 채널) 2. img.size : 이미지 크기 (byte 단위) 3. img.dtype : 이미지 데이터 타입 img = cv2.imread('bald-eagle-5463386_1280.jpg') print(img.shape) print(img.size) print(img.dtype) cv2.imshow('Show Image', img) cv2.waitKey(0) cv2.destroyAllWindows() 이미지 픽셀 값 얻고 수정해보기 한 장의 이미지는 지정된 크기의 BGR 값들의 배열로 이루어져 있다. 예를들어 10 * 10 ..
이미지의 특정 영역을 지정하는 것에 대해 ROI(Region Of Interest)라고 한다. OpenCV가 Python언어에 대해서는 관심영역을 지정하도록 지원하는 별도의 API는 없지만, NumPy의 slicing을 통해서 이와 관련된 작업을 할 수 있다. img라는 이미지의 관심 영역의 시작 좌표가 (x, y)이고 해당 영역의 폭이 w, 높이가 h라고 하면 관심 영역을 지정하는 코드는 ROI = img[y:y+h, x:x+w] 와 같이 작성할 수 있다. 이는 img의 y행에서 y+h행까지, x열에서 x+w열까지 slicing한 것을 의미한다. 1. 좌표 지정 import cv2 import numpy as np img = cv2.imread('image.jpg') x = 350; y = 125 w ..
최근댓글