【发布时间】:2018-06-11 23:13:23
【问题描述】:
我正在对 HSV 图像实施 SURF,但它不起作用。 当我对 RGB 图像做同样的事情时,它工作正常。
from PIL import Image
import cv2
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
#loaading image
rgb_img_arr= np.array(Image.open("myImage.jpg"))
hsv_image_arr=matplotlib.colors.rgb_to_hsv(rgb_img_arr)
surf = cv2.xfeatures2d.SURF_create()
#it works fine
keypoints, descriptors = surf.detectAndCompute(rgb_img_arr, None)
rgb_img = cv2.drawKeypoints(rgb_img_arr, keypoints, None)
plt.imshow(rgb_img )
#But it doent work
keypoints, descriptors = surf.detectAndCompute(hsv_image_arr, None)
hsv_img = cv2.drawKeypoints(hsv_image_arr, keypoints, None)
plt.imshow(hsv_img )
我得到的错误是 -
C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\surf.cpp:892: 错误:(-215) !_img.empty() && ((imgtype) & ((1
请告诉我如何解决这个问题 ?
【问题讨论】:
标签: opencv image-processing surf