这里:
import cv2
import numpy as np
im = cv2.imread('eye.png')
im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(im_gray, cv2.HOUGH_GRADIENT, 1, 100, 100, 30, 120, 180)
circles = cv2.HoughCircles(im_gray, cv2.HOUGH_GRADIENT, 1, 100, param1=100, param2=30, minRadius=120, maxRadius=180)
cv2.HoughCircles
的两个函数调用得到不同的结果,第一个检测到没有圆,但第二个检测到圆圈。为什么呢?
另外,在opencv文档中,这是函数表达式:
cv2.HoughCircles(image,method,dp,minDist [,circles [,param1 [, param2 [,minRadius [,maxRadius]]]]])→圆圈
这些括号是什么意思?
答案 0 :(得分:2)
括号表示内部是可选的。
基于此文档:
cv2.HoughCircles(image,method,dp,minDist [,circles [,param1 [,param2 [,minRadius [,maxRadius]]]]])→圆圈
您的第一个电话是使用这些参数,而忽略了class HomeView(TemplateView):
template_name = "home.html"
def get_context_data(self, *args, **kwargs):
context = super(HomeView, self).get_context_data(*args, **kwargs)
context["form"] = SearchForm()
return context
:
maxRadius
您的第二个电话正在使用这些参数,而忽略了circles = cv2.HoughCircles(
im_gray, # image
cv2.HOUGH_GRADIENT, # method
1, # dp
100, # minDist
100, # circles
30, # param1
120, # param2
180 # minRadius
# maxRadius
)
:
circles