怎么用Mathematica来检测图片的特征点?

 时间:2026-02-14 07:04:30

1、准备一张图片。

怎么用Mathematica来检测图片的特征点?

2、检测图片的特征点:

a = ImageKeypoints[img]

a里面是特征点在图像中的坐标。

怎么用Mathematica来检测图片的特征点?

3、把所有的特征点在图像里面显示出来:

b = HighlightImage[img, {Yellow, PointSize[0.01], a}]

怎么用Mathematica来检测图片的特征点?

4、指定关键点的阈值,可以适当的去掉那些不重要的特征点:

HighlightImage[img, {Yellow, PointSize[0.01], 

  ImageKeypoints[img, KeypointStrength -> .001]}]

怎么用Mathematica来检测图片的特征点?

5、试验表明,KeypointStrength后面的数值越小,关键点越多。

c = Table[

  Length[ImageKeypoints[img, KeypointStrength -> 2.^(-n)]], {n, 1, 30,1}]

ListLinePlot[c]

但是,关键点的数目有最小值和最大值。

怎么用Mathematica来检测图片的特征点?

6、只检测背景里的特征点:

HighlightImage[img, {Yellow, PointSize[0.01], 

  ImageKeypoints[img, Masking -> d]}]

怎么用Mathematica来检测图片的特征点?

7、其中,d是蒙板,用来粗略的分离前景和背景:

d = RemoveBackground[img] // Binarize[#, 0.1] & // Erosion[#, 6] &

怎么用Mathematica来检测图片的特征点?

8、在原图中,可以大体标注出背景和前景:

HighlightImage[img, {Blue, d}]

怎么用Mathematica来检测图片的特征点?

9、第六步检测到的特征点,也确实位于背景范围内:

HighlightImage[img, {Blue, d, Yellow, PointSize[0.01], 

  ImageKeypoints[img, Masking -> d]}]

怎么用Mathematica来检测图片的特征点?

  • Mathematica经验与技巧:[5]绘图风格的设定
  • Mathematica基础——*Plot函数(续)
  • 【Mathematica】绘制曲线曲率圆圆心的轨迹
  • Mathematica基础——RegionPlot的用法(1)
  • 隐函数三维图形的绘制方法——Mathematica
  • 热门搜索
    中秋节手抄报 清明手抄报内容 英语手抄报 四年级手抄报 植树节手抄报简单好看 爱国手抄报简单又漂亮 关于爱国的手抄报 庆六一儿童节手抄报 校园安全手抄报 数学手抄报