在opencv python中使用SIFT时如何处理图像深度?

时间:2016-05-19 11:18:54

标签: python opencv sift

我想在python中使用opencv进行处理时使用SIFT。我有一个组织的灰度图像,我已将该图像分割成Patches,我想使用SIFT在每个Patch(here Patch1)上找到关键点。

这是我的代码的一部分:

sift = cv2.xfeatures2d.SIFT_create()
kp,des = sift.detectAndCompute(Patch1,None)

然而,在运行时,它会给我图像深度的错误:

error:(-5) image is empty or has incorrect depth (!=CV_8U) in function detectAndCompute

然后,当我尝试将图像再次转换为灰度时,会出现此错误:

error: depth == CV_8U || depth == CV_16U || depth == CV_32F in function cvtColor 

当我尝试使用ORB时也会发生同样的错误。

我的原始图片格式为.png。我对原始图像进行了大量处理以得到Patch1。可能是因为我在处理过程中做了一些改变? 你知道我应该怎么做吗?或者出了什么问题?

0 个答案:

没有答案