0
我试图实现使用Python和openCV
的“LOG斑点探测器”。 的想法是创建10-15级别的日志过滤器,他们每个人都适用于我原来的灰度图像并保存图像尺寸height
X width
X numOfLevels
的数组,然后找到3D阵列上的局部最大值。我不知道如何将这些保存在数组中。Python中像阵列 OpenCV的 numpy的
我试着做到以下几点:
myImage = cv2.imread('butterfly.jpg')
gray_image = cv2.cvtColor(myImage, cv2.COLOR_BGR2GRAY)
sigma = 2
k = 2**(0.25)
std2 = float(sigma**2)
arr = []
for i in range(10):
filt_size = 2*np.ceil(3*sigma)+1
H = log_filt(filt_size, sigma)
H *= sigma**2
dst = cv2.filter2D(gray_image,-1,H)
arr.append(dst)
cv2.imshow('Gray', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
sigma = sigma * k
std2 = float(sigma**2)
plt.imshow(H,interpolation='nearest')
不过,如果我尝试采取的图像,并使用cv2.imshow(arr[0])
我收到以下错误:
TypeError: Required argument 'mat' (pos 2) not found
我在做什么这里错了吗?
有没有更好的方式来保存这些数组?
也许使用np.array
不知何故?
请总是包括完整的错误追溯,而不仅仅是错误消息。 – cel