MATLAB-在uint16图像中未检测到SURF功能

时间:2018-11-01 08:09:11

标签: matlab image-processing feature-extraction surf image-registration

我正在使用SURF功能进行图像配准。我有uint16类型的图片。

pts1 = detectSURFFeatures(image)

当我在uint16图像上使用以上函数时,该函数返回了0个SURF点。解决方法是,我曾经将图像转换为uint8,此后该函数返回了大量检测到的SURF点。因此,该功能适用​​于uint8图像,但不适用于uint16

请注意,该函数没有显示任何错误。它执行成功,但是返回的SURFPoints object具有0个SURFPoints。

为什么会这样?上述功能的documentation表示图像可以是single, double, uint8, uint16, int16 and logical。那么,为什么该功能在我正在使用的uint16图像上不起作用?

我通过将图像转换为double数据类型进行了实验。没用仅当我将图像转换为uint8时,它才起作用。

对不起,由于它们是机密数据,我无法共享这些图像,但是这里有人遇到过类似的问题吗?

我本可以继续转换为uint8,但这带来了其他问题,因此我想知道基本问题的解决方案。

我正在使用MATLAB 2017。

0 个答案:

没有答案