文章目录

  • VLFeat
    • 介绍
    • 下载
  • PCV
    • 介绍
    • 下载
    • 配置到python库中
    • 可能出现的问题
  • 配置项目
    • 移动PCV
    • 更改.\PCV\localdescriptors\sift.py
  • 测试
    • 数据
    • 运行代码
    • 运行结果

VLFeat

介绍

VLFeat开源库实现了流行的计算机视觉算法,这些算法专门用于图像理解以及局部特征提取和匹配。 算法包括费舍尔向量,VLAD,SIFT,MSER,k均值,分层k均值,聚集信息瓶颈,SLIC超像素,快速移位超像素,大规模SVM训练等。 它是用C编写的,以提高效率和兼容性,并在MATLAB中提供了易于使用的接口,并在全文中提供了详细的文档。 它支持Windows,Mac OS X和Linux。

下载

VLFeat0.9.20,官方下载链接下载www.vlfeat.org.

PCV

介绍

PCV是基于Jan Erik Solem的《用Python编程计算机视觉》一书的纯Python计算机视觉库。
需要有Python 2.6+(最好是py2的版本)

下载

官方下载链接下载https://github.com/jesolem/PCV.

配置到python库中

将下载的文件压缩包进行解压。
打开cmd或者是Anaconda的命令行,执行如下指令:
(1)执行cd命令,转到你所解压到的PCV的文件夹中。
(2)输入python setup.py install。
(3)重启命令行,输入import PCV,如果没有报错,则说明PCV库安装成功。
(Note:也可以先不配置到python库中,直接跳过)

可能出现的问题

点击sift.exe文件运行

此时我的电脑报出由于找不到VCOMP100DLL,无法继续执行代码。重新安装程序可能会解决此问题
那么就可以下载对应的dll文件:
下载链接https://cn.dllfiles.com/vcomp100.dll.html。
64位系统对应64位,下载后放入C:\Windows\SysWOW64和C:\Windows\System32

配置项目

移动PCV

直接将解压之后pcv-master里的PCV移动到自己的pycharm项目下。
例如:

更改.\PCV\localdescriptors\sift.py

将.\PCV\localdescriptors\sift.py中变量cmmd进行更改。如下图所示,sift.exe后面有一个空格

def process_image(imagename,resultname,params="--edge-thresh 10 --peak-thresh 5"):""" Process an image and save the results in a file. """if imagename[-3:] != 'pgm':# create a pgm fileim = Image.open(imagename).convert('L')im.save('tmp.pgm')imagename = 'tmp.pgm'cmmd = str("E:\\vlfeat-0.9.20\\bin\\win64\\sift.exe "+imagename+" --output="+resultname+" "+params)os.system(cmmd)print 'processed', imagename, 'to', resultname

测试

数据


现在项目下建立如下文件夹之后开始运行代码:

运行代码

# -*- coding: utf-8 -*-
from PIL import Image
from pylab import *
import sys
from PCV.localdescriptors import siftif len(sys.argv) >= 3:im1f, im2f = sys.argv[1], sys.argv[2]
else:im1f = 'a.jpg'im2f = 'b.jpg'im1 = array(Image.open(im1f))
im2 = array(Image.open(im2f))sift.process_image(im1f, 'out_sift_9.txt')
l1, d1 = sift.read_features_from_file('out_sift_9.txt')
figure()
gray()
subplot(121)
sift.plot_features(im1, l1, circle=False)sift.process_image(im2f, 'out_sift_10.txt')
l2, d2 = sift.read_features_from_file('out_sift_10.txt')
subplot(122)
sift.plot_features(im2, l2, circle=False)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()

运行结果



pycharm中配置VLfeat0.9.20和PCV实现Sift算法相关推荐

  1. 怎么把python解释器配置在pycharm中_在PyCharm中配置项目(三):配置Python解释器...

    PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具.此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发. PyCha ...

  2. Pycharm详细安装教程+PyCharm中配置Anaconda

    1 简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试. ...

  3. 【QtDesigner 开发笔记】在PyCharm中配置、使用方法、信号与槽、菜单、Tab Widget、子窗口

    QtDesigner开发笔记 在PyCharm中配置QtDesigner和Pyuic QtDesigner使用:跑起一个最简单的项目 QtDesigner中使用信号与槽 方法1:设计器中连接信号与槽 ...

  4. pycharm中配置华为云服务器

    之前上课老师给了华为云的代金券,实在用不惯网页版的python编辑器,而且文件同步很麻烦,检索全网也没有怎么将华为云服务器配置到pycharm的说明.于是,摸索了一会,记录下配置流程,供大家参考使用. ...

  5. PyCharm中配置SVN

    1.前言 团队使用PyCharm做项目,我们希望做到团队之间可以协作.实际上,每个人负责了一个模块,各模块之间有调用关系.当负责一个模块的人,更改了该模块的代码的时候.调用这个模块的人需要及时的更新到 ...

  6. windows安装MongoDB环境以及在pycharm中配置可视化插件

    安装MongoDB数据库 参考这里 安装PyMongo python3 -m pip3 install pymongo指定版本 python3 -m pip3 install pymongo==3.5 ...

  7. MacOS下在Pycharm中配置Pyqt5工具(2023年新版教程)

    前提: 使用Anaconda的包管理工具进行管理. 创建environment,然后在该Environment上进行下载操作!!! 一.安装相关模块 安装pyqt5.pyqt5-tools两个基础包, ...

  8. 在Pycharm中配置Pyqt5工具(2023年新版教程)

    一.安装相关模块 安装pyqt5.pyqt5designer.pyqt5-tools三个基础包,命令如下: pip install pyqt5 pip install pyqt5-tools pip ...

  9. 动手学深度深度学习-pycharm中配置mxnet开发环境

    1. 文件准备 1. 下载包含本书全部代码的压缩包.我们可以在浏览器的地址栏中输https://zh.d2l.ai/d2l-zh-1.0.zip, 下载后解压. 2. 由于近来(2019-05-05) ...

最新文章

  1. python与excel的差别-python3与Excel的完美结合
  2. 实验中遇到的Quartus II的Warning的解释、原因以及解决方法
  3. Matlab-基于短时神经网络的声音分类
  4. 安装zabbix4.0(公司内网)
  5. 《Java 2D游戏编程入门》—— 1.5 创建一个主动渲染的窗口
  6. 挖一挖C#中那些我们不常用的东西之系列(3)——StackTrace,Trim
  7. JDBC的开发流程是什么?
  8. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
  9. 前端学习(2900):微信小程序简介
  10. PC端支付宝支付接口的调用(沙箱环境测试最全文档)
  11. return中断方法和Unreachable code(永远达不到的代码)
  12. 台式电脑打不开计算机c盘,电脑c盘打不开进不了系统怎么办
  13. 自学鄙视链顶端的王者
  14. 韩语在线翻译图片识别_如何用扫描全能王将图片转成文字?
  15. 2017年计算机二级考试的word的答案,2017年3月全国计算机考试等级考试二级《MS Office高级应用》真题及答案...
  16. JAVA的sdn控制器,软件定义网络基础---SDN控制平面
  17. 疼痛的脑成像:最新进展
  18. 【托福考场考点1】山东大学托福考点详情及考友评价
  19. Data truncation: Incorrect datetime value: ‘XXXX‘
  20. C# 网络编程之套接字编程基础知识

热门文章

  1. VB.net实现通讯录
  2. android 获取定位省份,android 获取当前定位信息
  3. C++中const的作用(至少要说出3个)
  4. 爆乱媒评——雄性传媒,大与小的技巧——凤凰卫视VS央视评点(1)
  5. 高数课后习题讲解下册 pdf(免费)
  6. 如何自己编译wireless tool
  7. Contest2230 - 抗击疫情,从我做起--大中小学生联合训练赛第三十九场3-10
  8. OpenCV头像识别采集训练数据
  9. 在线Excel绝配:SpreadJS 16.1.1+GcExcel 6.1.1 Crack
  10. 关于Xcode 8 beta