반응형
원(circle)만을 인식시켜주는 프로그래밍이다.
사용하기전 필요 라이브러리는 cv2와 numpy이다.
라이브버리 설치 방법은 아래 참조
ansan-survivor.tistory.com/308
동일한 디렉터리에 circle2.jpg 라는 원형을 갖고있는 이미지에서 원만 추출한다.
'''
made by 안산드레이아스
https://ansan-survivor.tistory.com/
'''
import cv2
import numpy as np
def houghCircle():
# 원이 있는 이미지를 올림.
img1 = cv2.imread('circle2.jpg')
img2 = img1.copy()
# 0~9까지 가우시안 필터로 흐리게 만들어 조절함.
img2 = cv2.GaussianBlur(img2, (9, 9), 0)
# 그레이 이미지로 바꿔서 실행해야함.
imgray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 원본과 비율 / 찾은 원들간의 최소 중심거리 / param1, param2를 조절해 원을 찾음
circles = cv2.HoughCircles(imgray, cv2.HOUGH_GRADIENT, 1, 10, param1=60, param2=50, minRadius=0, maxRadius=0)
if circles is not None:
circles = np.uint16(np.around(circles))
print(circles)
for i in circles[0, :]:
cv2.circle(img1, (i[0], i[1]), i[2], (255, 255, 0), 2)
cv2.imshow('ori',img2)
cv2.imshow('HoughCircle', img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
else:
print('원을 찾을 수 없음')
houghCircle()
(테스트)
원본 이미지 circle2.jpg
파이썬 코드 돌린 후
원형을 탐지하여 하늘색으로 표시한다.
반응형
'파이썬(python)' 카테고리의 다른 글
파이썬 체팅 서버 만들기, 체팅 서버 및 클라이언트 (4) | 2020.09.19 |
---|---|
파이썬 기본적인 TCP IP 통신 구현 (0) | 2020.09.17 |
파이참(Pycharm) 프로그램 단축키 (0) | 2020.03.28 |
파이썬으로 엑셀 만들고 관리 하기 (0) | 2020.03.22 |
Pycharm(파이참)을 이용하여 Python 개발환경 구축하기 (0) | 2020.03.22 |