.NET + OpenCV & Python + OpenCV 配置
最近需要做一个图像识别的GUI应用,权衡了Opencv+ 1)QT,2)Python GUI,3).NET后选择了.NET。。。
本文给出C#+Opencv和Python+Opencv的相应参考,节省大家时间。
(一)C#.NET + Opencv
1)下载并安装Emgu库(for opencv on .NET env)
Download @ http://sourceforge.net/projects/emgucv/
2)How to use opencv on C#?
VS上配置Emgu(库)
3)测试on C#.NET
(二)Python + Opencv
按照官网的Instruction一步步来,可以从source自己编译,也可以直接用二进制文件。
这里注意我遇到的一个错误,undefined cv2.SIFT():
- AttributeError: 'module' object has no attribute 'SIFT'
查资料有的地方解释为高版本把SIFT当做non-free的module需要自己编译才有,具体参考这个帖子。
但我自己编译成功后还是没解决问题。。。于是试着吧opencv 2.3.1换成opencv 2.4.6.0,再按官网的Instruction预编译二进制文件方法把cv2.pyd拷到python下,成功了。。。。
PS: 喜欢在mac上折腾的看看这个帖子吧。。。Installing OpenCV 2.4.2 on Mac OSX Mountain Lion with Python support
最后贴个python+opencv+numpy测试代码:
- import cv2
- import numpy as np
- #import pdb
- #pdb.set_trace()#turn on the pdb prompt
- #test cv2 and numpy package
- print cv2.__version__
- a = np.arange(10)
- print(a)
- #read image
- img = cv2.imread('D:\privacy\picture\little girl.jpg',cv2.IMREAD_COLOR)
- gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
- cv2.imshow('tt',img);
- #basic accessing
- b,g,r = img[0,0];#blue,green,red
- print b,g,r
- rows,columns,channels = img.shape
- print rows,columns,channels
- print img.size
- #channels split and merge
- b,g,r = cv2.split(img)
- img = cv2.merge([b,g,r])
- #SIFT
- detector = cv2.SIFT()
- keypoints = detector.detect(gray,None)
- img = cv2.drawKeypoints(gray,keypoints)
- #img = cv2.drawKeypoints(gray,keypoints,flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
- cv2.imshow('test',img);
- cv2.waitKey(0)
- cv2.destroyAllWindows()
结果:
from: http://blog.csdn.net/abcjennifer/article/details/17580311
.NET + OpenCV & Python + OpenCV 配置的更多相关文章
- OpenCV 4 Python高级配置—安装setuptools,matplotlib,six,dateutil,pyparsing 完整过程
Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法,可以用Matplotib 显示图像,放大图像,保存图像等等,对于OpenCV处理图像具有非常大的帮助.但是,安装Matplo ...
- window环境下Python+OpenCV配置
最近开始学习OpenCV来进行计算机视觉实验,选择了Python作为实验语言,工欲善其事,必先利其器.先总结下安装配置. 现在opencv目测只支持Python2.7X版本的,还依赖于numpy和ma ...
- python + opencv 环境配置
1.python 2.7.10 2.numpy 1.8.1 3.opencv2.4.8 4.OpenCV目录 ...\opencv\build\python\2.7" 下 "cv2 ...
- OpenCV安装与配置
本文使用OpenCV2.48在win10平台下操作. 一,关于OpenCV OpenCV是开源C++计算机可视化处理库,它集成了很多计算机图形图像处理的功能.还有机器学习,字符识别,人脸识别,物体检测 ...
- ubuntu14 opencv python 安装
本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程.此外记录了在Python中安装及载入OpenCV的方法. 1.安装OpenCV所需的库(编译器.必须库.可选库) GCC ...
- 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器
这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...
- Win7 64bit+Anaconda(3-5.0.1,Python3.6)+Pycharm(community-2017.3.3)+OpenCV(python‑3.4.0‑cp36‑cp36m)(转载)
Anaconda(3-5.0.1,Python3.6)下载链接:https://pan.baidu.com/s/1bqFwLMB 密码:37ih Pycharm(community-2017.3.3) ...
随机推荐
- Socket 一对多通信
服务器(TCPServer.java): package visec; import java.net.*; import java.io.*; public class TCPServer{ pub ...
- 编写一函数用来实现左右循环移位。函数原型为move(value,n);n>0时右移n位,n<0时左移|n|位。
#include<stdio.h> #include<stdlib.h> int main(){ setbuf(stdout,NULL); int move(int,int); ...
- .NET中JSON的序列化和反序列化
.NET 中有两种方法进行JSON的操作分别需要引用不同的命名空间 1.System.Runtime.Serialization.Json(System.Runtime.Serialization.d ...
- eclipse sdk 无法更新
最近祖国越来越强了,强得android开发工具都没法更新了,但是祖国再怎么强也阻挡不了我开发的脚步.下面给大家分享个更新android sdk 的方法.方法原理就是利用国内镜像源. 工具/原料 电脑一 ...
- 异步等待的 Python 协程
现在 Python 已经支持用协程进行异步处理.但最近有建议称添加协程以全面完善 Python 的语言结构,而不是像现在这样把他们作为生成器的一个类型.此外,两个新的关键字---异步(async)和等 ...
- ZOJ 3555 Ice Climber(dp)
晦涩的题意+各种傻逼害我调了那么久,实际上题目就是一个dp[i][j],dp[i][j]表示第i层第j个最少需要多少时间,当我们去更新dp[i][j]的时候,考虑的是从第i+1层的某一个dp[i+1] ...
- HDU 2059 龟兔赛跑(动态规划)
龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- elasticsearch 八、重要的配置更改
http://jingyan.baidu.com/article/7908e85c9fc626af491ad263.html
- UML类图、接口、包、关系
一.类图:允许我们去标记静态内容及类之间的关系. 类的基本表示法: 名称 属性(类型,可见性) 方法(参数,返回值) tip: 显示可见性:Options->Show Visibility 显 ...
- java编译做了哪些事?
Javac编译器,主要做了如下的事情:1.解析与填充符号表: 2.注解处理器: 3.语义分析与字节码生成: 3.1.标注检查 3.2.数据及控制流分析 ...