촬영된 영상이나 사진찍힌 이미지의 특정부분을 도려내고 편집할 경우 필요하다
또는 특정영역만 뽑아내서 이미지프로세싱할 경우 필요하다.
그전에 알아두어야 할 사항은 파이썬의 OpenCV에서 출력하는 영상의 구조는 아래와 같다.
수학에서 사용하는 왼쪽하단의 원점이 아닌, 왼쪽 상단부터 우측하단까지 좌표를 0~max로 둔다.
아래 코드는 원본에서 자를 시작위치(새로운 원점)을 정하고, 그 기준으로 자를 프레임 크기를 정함.
'''
made by 안산드레아스
이미지 특정영역 잘라내기
필요 패키지 : python-opencv
'''
import cv2
'''
이미지를 자르는 함수
:param
img : 이미지
x, y : 자를곳 시작 좌표
w, h : 자를 폭과 길이
'''
def im_trim(img, x, y, w, h):
imgtrim = img[y: y + h, x: x + w]
return imgtrim
# 현재경로의 이미지 불러오기
sample = cv2.imread('./0.jpg')
cv2.imshow('org', sample)
# 함수 실행하기
# 원본영상의 자를 영역 원점 x,y좌표 지정. 그리고 새로 생성할 이미지 frame크기 지정
result = im_trim(sample, 200, 200, 300, 300)
cv2.imshow('img', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과는 아래와 같다. 이해하기 쉽게 하기 위해 원본영상과 편집된 영상을 동시에 출력시켰다.
해당 코드를 수정해서 원하는 특정부분을 잘라내고 크기를 정해 사용할 수 있다.
'파이썬(python) > Python OpenCV' 카테고리의 다른 글
[Python OpenCV] 파이썬 영상, 이미지 밝기 향상시키기 (전체의 채도 향상) (0) | 2021.10.03 |
---|---|
[Python OpenCV] 파이썬 큰 이미지 Downscale으로 비율 조정하기 (이미지 비율 축소) (0) | 2021.10.03 |
[Python OpenCV] 파이참(Pycharm)에서 OpenCV 라이브러리 설치하기 (영상처리 라이브러리 설치) (0) | 2021.10.03 |
[Python OpenCV] 파이썬 이미지 비틀기 휘게하기, 이미지 왜곡하기 (0) | 2021.05.02 |
[Python OpenCV] 파이썬 이미지 외곽선 탐지 (Contour), 이미지 블록성(Convexity) 탐지, 이미지 최 외곽선 탐지 (0) | 2021.05.02 |