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 | 31 |
Tags
- 2%룰
- 퀀트 트레이딩
- 파이어족 포트폴리오
- 파이어족 저축
- 아웃풋 트레이닝
- AWS
- 데이비드 라이언
- eclipse
- 김프
- 통계적 유의성
- 니콜라스 다바스
- 데이빗 라이언
- 퀀터스 하지 마세요
- tensorflow
- 마크 미너비니
- python
- GIT
- 파이어족 자산
- 신의 시간술
- 마크미너비니
- mark minervini
- 자산배분
- 에드워드 소프
- 파이어족 자산증식
- 추세추종 2%룰
- H는 통계를 모른다.
- 이클립스
- 파이어족
- 제시 리버모어
- 연금저축계좌
Archives
- Today
- Total
머신러닝과 기술적 분석
opencv python 에서 MSER 사용법 본문
728x90
MSER (Maximally Stable Extreme Regions) 은 영상에서 region 을 detection 할 수 있는 대표적인 방법이다.
opencv 에서도 MSER 을 사용할 수 있는 API 를 제공하고 있는데 python binding 의 경우 문서화가 취약하다. 이 포스트에서는 python 에서 opencv 에서 제공하는 MSER 알고리즘을 이용해서 region detection 하는 방법을 정리한다.
1. MSER (Maximally Stable Extreme Regions)
영상에서 connected component 로 연결되어있는 Region 을 detection 하는 (아마도) 가장 Popular 한 알고리즘이다.
2. Python Code
#-*- coding: utf-8 -*-
import cv2
img = cv2.imread("Samples//1.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
mser = cv2.MSER(_delta = 1, _min_area=1)
regions = mser.detect(gray, None)
clone = img.copy()
for region in regions:
# fit a bounding box to the contour
(x, y, w, h) = cv2.boundingRect(region.reshape(-1,1,2))
cv2.rectangle(clone, (x, y), (x + w, y + h), (0, 255, 0), 1)
cv2.imshow('img', clone)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Gray 영상으로 변환해서 사용하는 것이 결과가 더 좋은 것으로 보인다.
- Detect 된 Component 의 Bounding-Box 를 뽑아낼 때 (N, 1, 2) shape 의 ndarray 로 변환해야 한다.
- MSER constructor 에서 여러가지 parameter 를 사용할 수 있다.
3. 실행 결과
sample image 로 SVHN Training Data 를 넣고 실행한 결과는 아래와 같다.
728x90
반응형
'python' 카테고리의 다른 글
python package를 이용해서 youtube 동영상을 다운로드 받는 방법 (0) | 2017.08.16 |
---|---|
Anaconda 로 프로젝트 별 package 를 독립적으로 관리하자 (0) | 2017.08.16 |
pytest 사용법 정리 (0) | 2017.08.16 |
opencv 설치방법 (Windows, Ubuntu) (0) | 2017.08.16 |
실행중인 python module 의 path를 capture 하는 방법" (0) | 2017.08.16 |
Comments