pycharm中配置VLfeat0.9.20和PCV实现Sift算法
文章目录
- 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算法相关推荐
- 怎么把python解释器配置在pycharm中_在PyCharm中配置项目(三):配置Python解释器...
PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具.此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发. PyCha ...
- Pycharm详细安装教程+PyCharm中配置Anaconda
1 简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试. ...
- 【QtDesigner 开发笔记】在PyCharm中配置、使用方法、信号与槽、菜单、Tab Widget、子窗口
QtDesigner开发笔记 在PyCharm中配置QtDesigner和Pyuic QtDesigner使用:跑起一个最简单的项目 QtDesigner中使用信号与槽 方法1:设计器中连接信号与槽 ...
- pycharm中配置华为云服务器
之前上课老师给了华为云的代金券,实在用不惯网页版的python编辑器,而且文件同步很麻烦,检索全网也没有怎么将华为云服务器配置到pycharm的说明.于是,摸索了一会,记录下配置流程,供大家参考使用. ...
- PyCharm中配置SVN
1.前言 团队使用PyCharm做项目,我们希望做到团队之间可以协作.实际上,每个人负责了一个模块,各模块之间有调用关系.当负责一个模块的人,更改了该模块的代码的时候.调用这个模块的人需要及时的更新到 ...
- windows安装MongoDB环境以及在pycharm中配置可视化插件
安装MongoDB数据库 参考这里 安装PyMongo python3 -m pip3 install pymongo指定版本 python3 -m pip3 install pymongo==3.5 ...
- MacOS下在Pycharm中配置Pyqt5工具(2023年新版教程)
前提: 使用Anaconda的包管理工具进行管理. 创建environment,然后在该Environment上进行下载操作!!! 一.安装相关模块 安装pyqt5.pyqt5-tools两个基础包, ...
- 在Pycharm中配置Pyqt5工具(2023年新版教程)
一.安装相关模块 安装pyqt5.pyqt5designer.pyqt5-tools三个基础包,命令如下: pip install pyqt5 pip install pyqt5-tools pip ...
- 动手学深度深度学习-pycharm中配置mxnet开发环境
1. 文件准备 1. 下载包含本书全部代码的压缩包.我们可以在浏览器的地址栏中输https://zh.d2l.ai/d2l-zh-1.0.zip, 下载后解压. 2. 由于近来(2019-05-05) ...
最新文章
- python与excel的差别-python3与Excel的完美结合
- 实验中遇到的Quartus II的Warning的解释、原因以及解决方法
- Matlab-基于短时神经网络的声音分类
- 安装zabbix4.0(公司内网)
- 《Java 2D游戏编程入门》—— 1.5 创建一个主动渲染的窗口
- 挖一挖C#中那些我们不常用的东西之系列(3)——StackTrace,Trim
- JDBC的开发流程是什么?
- 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
- 前端学习(2900):微信小程序简介
- PC端支付宝支付接口的调用(沙箱环境测试最全文档)
- return中断方法和Unreachable code(永远达不到的代码)
- 台式电脑打不开计算机c盘,电脑c盘打不开进不了系统怎么办
- 自学鄙视链顶端的王者
- 韩语在线翻译图片识别_如何用扫描全能王将图片转成文字?
- 2017年计算机二级考试的word的答案,2017年3月全国计算机考试等级考试二级《MS Office高级应用》真题及答案...
- JAVA的sdn控制器,软件定义网络基础---SDN控制平面
- 疼痛的脑成像:最新进展
- 【托福考场考点1】山东大学托福考点详情及考友评价
- Data truncation: Incorrect datetime value: ‘XXXX‘
- C# 网络编程之套接字编程基础知识
热门文章
- VB.net实现通讯录
- android 获取定位省份,android 获取当前定位信息
- C++中const的作用(至少要说出3个)
- 爆乱媒评——雄性传媒,大与小的技巧——凤凰卫视VS央视评点(1)
- 高数课后习题讲解下册 pdf(免费)
- 如何自己编译wireless tool
- Contest2230 - 抗击疫情,从我做起--大中小学生联合训练赛第三十九场3-10
- OpenCV头像识别采集训练数据
- 在线Excel绝配:SpreadJS 16.1.1+GcExcel 6.1.1 Crack
- 关于Xcode 8 beta