반응형
파이썬 이미지 자르기¶
In [1]:
import os
import cv2
import matplotlib.pyplot as plt
In [2]:
# 샘플 이미지 불러오기
image = cv2.imread("image_cut.jpg")
image= cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image.shape
Out[2]:
(1008, 1220, 3)
In [3]:
# 샘플 이미지 확인
plt.imshow(image)
plt.axis('off')
plt.show()
In [4]:
# 아래에서 h_cut 만큼 오른쪽에서 w_cut 만큼 그림을 컷팅
h, w , _ = image.shape
h_cut = 100
w_cut = 80
cut_image = image[0:h-h_cut, 0:w-w_cut]
In [5]:
plt.imshow(cut_image)
plt.axis('off')
plt.show()
In [6]:
# 위에서 h_cut 만큼 왼쪽에서 w_cut 만큼 그림을 자름
h, w , _ = image.shape
h_cut = 100
w_cut = 80
cut_image = image[h_cut:h, w_cut:w]
In [7]:
plt.imshow(cut_image)
plt.axis('off')
plt.show()
In [8]:
# r_cut 만큼 테두리 자름
h, w , _ = image.shape
r_cut = 50
cut_image = image[r_cut:h-r_cut, r_cut:w-r_cut]
In [9]:
plt.imshow(cut_image)
plt.axis('off')
plt.show()
테두리 그리기¶
In [10]:
# 패키지 불러오기
import os
import cv2
import matplotlib.pyplot as plt
# 샘플 이미지 불러오기
image_draw = cv2.imread("image.png")
# 기준자 추출
h, w , _ = image_draw.shape
r = 20
bgR = (0, 0, 200)
line_thickness = 5
# cv2.line 메서드를 활용하여 테두리 그리기
image_draw = cv2.line(image_draw, (r, r), (r, h-20), bgR, line_thickness)
image_draw = cv2.line(image_draw, (r, r), (w-20, r), bgR, line_thickness)
image_draw = cv2.line(image_draw, (w-20, h-20), (r, h-20), bgR, line_thickness)
image_draw = cv2.line(image_draw, (w-20, h-20), (w-20, r), bgR, line_thickness)
In [11]:
# 이미지 확인
image_draw= cv2.cvtColor(image_draw, cv2.COLOR_BGR2RGB)
plt.imshow(image_draw)
plt.axis('off')
plt.show()
반응형
'python' 카테고리의 다른 글
파이썬 이미지 객체 경계선(boundary) 표시 skimage, mark_boundaries 활용 (0) | 2023.08.18 |
---|---|
파이토치 RandomSampler 이용하여 데이터 무작위로 섞기 (0) | 2023.08.18 |
파이썬 정규분포 생성 및 pdf 산출 (0) | 2023.08.15 |
파이썬 nan 값 시각화 missingno.matrix (0) | 2023.08.15 |
넘파이 행렬 분배법칙 (0) | 2023.08.15 |
댓글