sift特征检测 图像拼接 sift not found 问题解决

sift特征检测 sift not found 问题解决 以及pcv安装问题

sift特征检测 图像拼接 sift not found 问题解决

参考https://blog.csdn.net/weixin_42578378/article/details/88617349

但是有个问题,就是必须选择win32目录下的sift.exe文件,win64下的不行!!

另外
python3安装PCV包问题:

下载PCV包:https://codeload.github.com/Li-Shu14/PCV/zip/master;
打开Anaconda3的prompt窗口,切换到下载好的PCV包所在的路径下;
执行以下命令:

**

pip install PCV-master.zip

下面展示一些 关键代码

from PIL import Image
from pylab import *
import sys
from PCV.localdescriptors import sift

# 命令行参数个数小于3时读取图片文件
if len(sys.argv) >= 3:
    im1f, im2f = sys.argv[1], sys.argv[2]
else:
    im1f = 'E:/pic1.jpg'
    im2f = 'E:/pic.jpg'

# 图像数组
im1 = array(Image.open(im1f))
im2 = array(Image.open(im2f))

sift.process_image(im1f, 'out_sift_1.sift')  # 处理图像im1f,将结果保存在out_sift_1.sift文件中
l1, d1 = sift.read_features_from_file('out_sift_1.sift')  # 读取特征属性值,以矩阵的形式返回
figure()
gray()
subplot(121)
sift.plot_features(im1, l1, circle=False)  # 显示带有特征的图像

sift.process_image(im2f, 'out_sift_2.sift')
l2, d2 = sift.read_features_from_file('out_sift_2.sift')
subplot(122)
sift.plot_features(im2, l2, circle=False)

# matches = sift.match(d1, d2)
matches = sift.match_twosided(d1, d2)  # 两幅图像中描述子的匹配
print('{} matches'.format(len(matches.nonzero()[0])))  # 匹配数

# 画匹配点连接
figure()
gray()
sift.plot_matches(im1, im2, l1, l2, matches, show_below=True)  # 显示带有连接匹配之间连线的图片
show()
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ericlyp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值