OpenCV Python 원하는 이미지 영역 잘라내기(붙이기)
이미지 잘라내기 코드 img_cut = img[y1:y2, x1:x2] 잘라내고 싶은 특정 부분의 y값과 x값을 선언하면 그 부분만 따로 볼 수 있습니다. - 마지막 코드 확인 이미지 붙이기 import cv2 import numpy as np img = cv2.imread('02.jpg') img2 = cv2.imread('03.jpg') img_con = np.concatenate([img, img2], axis=0) img_con2 = np.concatenate([img, img2], axis=1) cv2.imshow('show', img_con) cv2.imshow('show2', img_con2) cv2.waitKey(0) ① np.concatenate((a1, a2, ...), axis = 0..
OpenCV Python 히스토그램 역투영
히스토그램 역투영 : 영상의 각 픽셀이 주어진 히스토그램 모델에 얼마나 일치하는지를 검사하는 방법 임의의 색상 영역 검출할 때 효과적 cv2.calcBackProject(images, channels, hist, ranges, scale [, dst]) [] : 생략 가능 import cv2 import numpy as np src = cv2.imread('imgs/dog.jpg') x, y, w, h = cv2.selectROI(src) src_ycrcb = cv2.cvtColor(src, cv2.COLOR_BGR2YCrCb) crop = src_ycrcb[y:y+h, x:x+w] channels = [1, 2] cr_bins = 128 cb_bins = 128 histSize = [cr_bins, c..
OpenCV Python 색상 영역 검출
색상 영역 검출은 말 그대로 사진에서 해당 범위 안의 색상을 표시해줍니다. cv2.inRange(src, lowerb, upperb [, dst]) [] : 생략 가능 import cv2 import numpy as np src1 = cv2.imread('imgs/flower.jpg') src1_hsv = cv2.cvtColor(src1, cv2.COLOR_BGR2HSV) dst1 = cv2.inRange(src1, (0, 0, 100), (150, 150, 255)) # B : 0 ~ 150, G : 0 ~ 150, R : 100 ~ 255 dst2 = cv2.inRange(src1_hsv, (160, 200, 0), (179, 255, 255)) # H(색상) : 160 ~ 179, S(채도) : 1..
OpenCV Python 히스토그램 평활화
히스토그램 평활화(= 균일화, 균등화, 평탄화) : 히스토그램이 그레이 스케일 전체 구간에서 균일한 분포로 나타나도록 변경하는 명암비 향상 기법 이 방법은 정규화와 다릅니다. 정규화는 벌어진 부분 균일 평활화의 경우 픽셀 값이 많이 뭉쳐있는 부분 넓게 벌어져있고, 적게 있는 부분 조금 벌어져있습니다. cv2.equalizeHist(src [, dst]) [] : 생략 가능 import cv2 import numpy as np import matplotlib.pyplot as plt src1 = cv2.imread('imgs/Lenna.png', cv2.IMREAD_GRAYSCALE) # 원본 hist1 = cv2.calcHist([src1], [0], None, [ 256], [0, 256]) plt.s..
OpenCV Python 히스토그램 분석
히스토그램 : 영상의 픽셀값 분포를 그래프의 형태로 표현한 것 cv2.calcHist(images, channel, mask, histSize, ranges [, hist [, accumulate]]) [] : 생략 가능 images : 입력 영상 - 리스트 형식[] channels : 히스토그램 구할 채널을 나타내는 리스트 [0], [0,1], [0,1,2] GRAYSCALE 영상에선 [0] BGR 영상에선 [0] : B, [1] : G, [2] : R 이 되겠네요 mask : 마스크 영상, 입력 영상 전체에 히스토그램 구하려면 None histSize : 히스토그램 각 차원의 크기를 나타내는 리스트 64로 하면 0~3, 4~7 이런 식으로 4개씩 묶여 64개 128로 하면 0~1, 2~3 이런 식으로..