当前位置:首页 » 编程语言 » siftpython

siftpython

发布时间: 2022-08-18 08:51:02

❶ 如何在OSX系统上安装Opencv3和python2.7

setp1

安装CodeX,不解释,在AppStop中搜索安装即可

setp2

安装Homebrew

Homebrew即MacOSX上的apt-get

按照官网的安装方式,在terminal中输入下列命令即可完成安装

cd ~
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

setp3

使用Homebrew安装Python,注意:避免使用系统Python解释器作为我们自己的主解析器,尤其是在使用virtualenv和virtualenvwrapper的时候。安装命令:

$ brew install python

注意安装结束后会有下列提示,提示我们把/usr/local/opt/python/libexec/bin增加到环境变量中,此举正是为了我们在使用python时,使用的是用Homebrew安装的python而不是系统python。

If you wish to have this formula's python executable in your PATH then add

the following to ~/.bash_profile:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

这是重要的一步,请不要跳过。

setp4

安装 virtualenv 和 virtualenvwrapper

这两个工具是为了创建独立的python环境,不了解的朋友请自行Google

值得注意的是,这两个工具对于搭建opencv3.0+python2.7运行环境来说不是必须的,但是强烈建议安装,以保证python环境的干净,易于管理。

安装只需执行命令:

$ pip install virtualenv virtualenvwrapper

安装完成后,在~/.bash_profile文件中追加如下内容:

# Virtualenv/VirtualenvWrapper
source /usr/local/bin/virtualenvwrapper.sh

然后执行命令:

$ source ~/.bash_profile

至此,virtualenv 和virtualenvwrapper已经正确完成安装。我们可以使用如下命令创建一个独立的python环境:

$ mkvirtualenv cv

setp5

我们开始安装一些必须的python包,安装NumPy

We need to install NumPy since the OpenCV Python bindings represent images as multi-dimensional NumPy arrays

安装方式:

$ pip install numpy

注意:如果你使用了step4中的virtualenv创建python虚拟环境,则需要在您之前创建的虚拟环境中安装需要的python包

step6

之前的步骤,主要目的是建立和配置编译安装OpenCv的环境,从这一步开始,我们开始真正的工作。

首先,我们使用brew安装需要的开发者工具,例如CMake。

$ brew install cmake pkg-config

还有一些必要的图像I/O包,这些包可以使我们能够加载各种不同类型的图像文件例如JPEG,PNG,TIFF等。

$ brew install jpeg libpng libtiff openexr

And finally, let’s install libraries that are used to optimize various operations within OpenCV (if we so choose):

$ brew install eigen tbb

setp7

恭喜,截止目前系统已经搭建完成,我们开始着手编译和安装python支持的opencv。下载代码:

$ cd ~
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.0.0

最后一个命令$ git checkout 3.0.0其中的3.0.0可以替换成你需要的版本号

之后下载opencv_contrib代码,这部分不是必须的,但是强烈建议同时下载,原因是opencv_contrib包含很多有用的功能,包括:

feature detection, local invariant descriptors (SIFT, SURF, etc.), text detection in natural images, line descriptors, and more

$ cd ~
$ git clone https://github.com/Itseez/opencv_contrib
$ cd opencv_contrib
$ git checkout 3.0.0

请确保checkout opencv_contrib的版本号要与上面checkout opencv的版本号相同

step8

创建一个bulid目录:

$ cd ~/opencv
$ mkdir build
$ cd build

使用CMake配置我们的构建:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON2_PACKAGES_PATH=~/.virtualenvs/cv/lib/python2.7/site-packages \
-D PYTHON2_LIBRARY=/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/bin \
-D PYTHON2_INCLUDE_DIR=/usr/local/Frameworks/Python.framework/Headers \
-D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/moles ..

注意:在执行上述命令之前,请务必切换到之前建立的虚拟python环境cv:

workon cv

cmake命令执行完成后,需要关注它的总结输出,尤其是其中的Opencv moles部分:

-- OpenCV moles:
-- To be built: core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d stitching videostab python2
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cubjdetect cuptflow cudastereo cudawarping cudev java python3 viz

-- Python 2:
-- Interpreter: /Users/zhuangyuan/.virtualenvs/cv/bin/python2.7 (ver 2.7.13)
-- Libraries: /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/bin (ver 2.7.13)
-- numpy: /Users/zhuangyuan/.virtualenvs/cv/lib/python2.7/site-packages/numpy/core/include (ver 1.13.1)
-- packages path: /Users/zhuangyuan/.virtualenvs/cv/lib/python2.7/site-packages

如果python2部分的信息不完整,或者python2没有出现在OpenCV moles的To be built:后面,而是出现在Unvailable:后面,则说明Cmake没有正确完成,需要检查此步骤中Cmake命令的参数中的路径是否正确已经是否确实切换到了我们为opencv建立的虚拟python环境中。

再次提醒,此步骤中参数路径必须仔细核对,如果错误,后续的编译将无法成功

这时候可以开始编译了:

$ make -j4

这里的4是利用4核CPU全速并行编译,也可以不带-j4参数,或者把4修改成你的CPU核心数

编译完成后,进行安装:

make install

如果有错误,加上sudo再执行:

sudo make install

setp9

检查一下~/.virtualenvs/cv/lib/python2.7/site-packages/路径下可以看到cv2.so就说明安装成功了:

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ls -l cv2.so
-rwxr-xr-x 1 adrian staff 2013052 Jun 5 15:20 cv2.so

用一下吧:

(cv) promote:lib zhuangyuan$ python
Python 2.7.13 (default, Jul 18 2017, 09:17:00)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "right", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.3.0'

恭喜,OSX系统下opencv3 with python2.7环境搭建成功。

❷ 相似图片搜索的原理是怎样的

2011年,Google把“相似图片搜索”正式放上了首页。你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。

有了50×50像素的黑白缩略图,就等于有了一个50×50的0-1矩阵。矩阵的每个值对应原图的一个像素,0表示黑色,1表示白色。这个矩阵就是一张图片的特征矩阵。

两个特征矩阵的不同之处越少,就代表两张图片越相似。这可以用”异或运算”实现(即两个值之中只有一个为1,则运算结果为1,否则运算结果为0)。对不同图片的特征矩阵进行”异或运算”,结果中的1越少,就是越相似的图片。

❸ centos7 安装好了需要哪些基本的工具

1,centos默认不支持ntfs格式的文件系统,需要安装ntfs-3g软件包,安装后,在电脑上插入U盘或移动硬盘,当可以看到新加入的盘后,需要使用命令将U盘进行挂载。
2,在centos中安装rar软件,centos默认不能解压rar后缀格式的压缩包,但可以解压zip压缩包,所以建议以后在windows中建立压缩文件时,最后生成zip格式的压缩文件,
3,安装djpeg
djpeg是对jpg格式的图像进行读取处理必需的软件,本人需要使用inria实验室提供的sift特征提取工具提取图像的特征,所以必需安装它。
4, 安装numpy
numpy是Python中重要的科学计算基础软件包,本人在使用INIRA发布的Yael软件包中需要使用numpy,安装过程如下,比较麻烦的是包之间的依赖关系

❹ python sift算法怎么写

导入Numpy和这些scipy模块的标准方式是:

import numpy as np
from scipy import stats # 其它子模块相同

主scipy命名空间大多包含真正的numpy函数(尝试 scipy.cos 就是 np.cos)。这些仅仅是由于历史原因,通常没有理由在你的代码中使用import scipy。

❺ 我要用python实现捕获鼠标和键盘操作,并运用sift识别图像需要哪些模块

可能需要:opencv和pyqt这两大模块

热点内容
路由器管理密码是什么忘了怎么办 发布:2025-01-19 20:34:35 浏览:427
java方法定义 发布:2025-01-19 20:20:50 浏览:404
kr脚本 发布:2025-01-19 20:17:41 浏览:518
帮我开启存储 发布:2025-01-19 20:17:39 浏览:813
s9存储缩水 发布:2025-01-19 20:08:06 浏览:335
2b2t的服务器编号是什么 发布:2025-01-19 19:58:55 浏览:874
androidstudio下载与安装 发布:2025-01-19 19:58:14 浏览:560
拉钩算法 发布:2025-01-19 19:58:14 浏览:866
python中读取文件 发布:2025-01-19 19:37:26 浏览:369
网吧电脑连接到steam服务器错误 发布:2025-01-19 19:37:17 浏览:602