250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Tkinter
- 텐서플로우
- POD
- kubernetes
- Web Programming
- 논문 리뷰
- OpenCV
- MariaDB
- 파이썬
- 딥러닝
- GUI
- tensorflow
- paper review
- 컴퓨터 비전
- Computer Vision
- pytorch
- k8s
- Django
- Python
- 웹 프로그래밍
- numpy
- 그래픽 유저 인터페이스
- 장고
- vue.js
- 데이터베이스
- FLASK
- yaml
- Deep Learning
- 파이토치
- Docker
Archives
- Today
- Total
Maxima's Lab
[Python, Opencv] Binary Objects을 포함하는 가장 작은 사각형 찾기 본문
728x90
SMALL
안녕하세요, 오늘은 Binary Objects을 포함하는 가장 작은 사각형을 찾는 방법에 대해서 알아보겠습니다.
알고리즘을 적용하고자 하는 이미지는 다음과 같습니다.
위의 이미지는 총 3개의 Connected Objects로 구성되어 있습니다.
이미지 내 각 Connected Object들을 포함하는 가장 작은 사각형을 구하는 코드는 다음과 같습니다.
import cv2
import matplotlib.pyplot as plt
import numpy as np
img = cv2.imread("...png")
draw_img = img.copy()
# Contours 찾기
contours, _ = cv2.findContours(img[:, :, 0], cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for certain_contour in contours:
rect = cv2.minAreaRect(certain_contour)
box = cv2.boxPoints(rect)
box = np.intp(box)
# 사각형 그리기
cv2.drawContours(draw_img, [box], 0, (0, 255, 0), 2)
plt.imshow(np.hstack([img, draw_img]))
plt.axis('off')
plt.show()
위의 코드를 통해 알고리즘을 적용한 결과는 다음과 같습니다.
이상으로, Binary Objects를 포함하는 가장 작은 사각형을 찾는 방법에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
'Python > Opencv' 카테고리의 다른 글
[Python, Opencv] Mouse Event (마우스 이벤트) (0) | 2022.07.06 |
---|---|
[Python, Opencv] Edge Detection (엣지 검출) - Sobel Filter (소벨 필터) (1) | 2022.06.29 |
[Python, Opencv] Template matching (템플릿 매칭) (0) | 2022.06.14 |
[Python, Opencv] Kmeans Clustering (Image Segmentation) & 3-D Scatter Plot (0) | 2022.06.02 |
Comments