OpenCV 호 프 원 변환 cv2.HoughCircles()
circles = cv2.HoughCircles(img,
cv2.HOUGH_GRADIENT, 1, 20,
param1=50, param2=40, minRadius=25, maxRadius=0)
img:검 측 대상 그 레이스 케 일 cv2.HOUGHGRADIENT:검 측 방법,호 프 경사도 1:검 측 된 원 은 원본 이미지 와 같은 크기 를 가지 고 있 습 니 다.dp=2.검 측 된 원 은 원본 이미지 의 절반 인 20:검 측 된 인접 원 의 중심 최소 거리(매개 변수 가 너무 작 으 면 실제 원 을 제외 하고 여러 개의 인접 원 을 잘못 감지 할 수 있 습 니 다.너무 크 면 원 이 빠 질 수도 있다.)param 1:재\#HOUGHŠu 경사도 의 경우,그것 은 비교적 높 은 것 이다.두 개의 한도 값 은 Canny 가장자리 감지 기(비교적 낮은 작은 두 배)에 전달 된다.param 2:재\#HOUGHŠu 경사도 의 경우 단계 원심 의 누적 기 한도 값 을 측정 합 니 다.그것 이 작 을 수록 가짜 원 이 검출 될 수 있다.minRadius:최소 원 반경 maxRadius:최대 원 반경,<=0 이면 최대 이미지 사 이 즈 를 사용 합 니 다.만약<0 이면 반경 을 찾 지 못 한 중심 으로 돌아간다.
1.효과 도
원본 그림 VS 검 측 원 효과 그림 은 다음 과 같 습 니 다.
아래 오른쪽 그림 에서 3 개의 바깥쪽 동 그 란 녹색 을 볼 수 있 고 원심 빨간색 이 성공 적 으로 검출 되 었 습 니 다.
원 의 최소 반경 설정 은 25 에서 10 으로 조정 되 며 원 을 잘못 감지 할 수도 있 습 니 다.효과 도 는 다음 과 같 습 니 다.
원 반경의 한도 값(param 2 설정 35)을 검출 한 결과 최소 원 반경 설정 10 은 원 을 잘못 검출 할 수도 있 습 니 다.효과 도 는 다음 과 같 습 니 다.
2.소스 코드
#
import cv2
import numpy as np
cimg = cv2.imread('opencv_logo_350.jpg')
cv2.imshow("origin", cimg)
cv2.waitKey(0)
img = cv2.cvtColor(cimg,cv2.COLOR_BGR2GRAY)
img = cv2.medianBlur(img, 5)
cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
# - img:
# - cv2.HOUGH_GRADIENT: ,
# - 1: ,dp=2,
# - 20: ( , , 。 , 。)
# - param1: #HOUGHŠu , . Canny ( )。
# - param2: #HOUGHŠu , 。 , ;
# - minRadius: ,
# - maxRadius: , <=0, 。 <0, 。
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
param1=50, param2=40, minRadius=0, maxRadius=0)
# ,
# circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
# param1=50, param2=40, minRadius=0, maxRadius=0)
# circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
# param1=50, param2=30, minRadius=10, maxRadius=0)
circles = np.uint16(np.around(circles))
print(len(circles))
print(circles)
for i in circles[0, :]:
# ( )
cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2)
# ( )
cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3)
cv2.imshow('detected circles', cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
레 퍼 런 스https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.html#hough-circles
여기 서 OpenCV 호 프 원 변환 cv2.Hough Circles()에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 OpenCV 호 프 원 변환 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual Studio 2017에서 OpenCV 템플릿 프로젝트 만들기・Windows 7 Professional 64bit ・Visual Studio 2017 Version 15.9.14 · OpenCV 3.4.1 OpenCV의 도입 방법 등은 아래를 참조하십시오. Visual Stu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.