最近需要做一个图像识别的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():

  1. 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测试代码:

  1. import cv2
  2. import numpy as np
  3. #import pdb
  4. #pdb.set_trace()#turn on the pdb prompt
  5. #test cv2 and numpy package
  6. print cv2.__version__
  7. a = np.arange(10)
  8. print(a)
  9. #read image
  10. img = cv2.imread('D:\privacy\picture\little girl.jpg',cv2.IMREAD_COLOR)
  11. gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
  12. cv2.imshow('tt',img);
  13. #basic accessing
  14. b,g,r = img[0,0];#blue,green,red
  15. print b,g,r
  16. rows,columns,channels = img.shape
  17. print rows,columns,channels
  18. print img.size
  19. #channels split and merge
  20. b,g,r = cv2.split(img)
  21. img = cv2.merge([b,g,r])
  22. #SIFT
  23. detector = cv2.SIFT()
  24. keypoints = detector.detect(gray,None)
  25. img = cv2.drawKeypoints(gray,keypoints)
  26. #img = cv2.drawKeypoints(gray,keypoints,flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
  27. cv2.imshow('test',img);
  28. cv2.waitKey(0)
  29. cv2.destroyAllWindows()

结果:

from: http://blog.csdn.net/abcjennifer/article/details/17580311

.NET + OpenCV & Python + OpenCV 配置的更多相关文章

  1. OpenCV 4 Python高级配置—安装setuptools,matplotlib,six,dateutil,pyparsing 完整过程

    Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法,可以用Matplotib 显示图像,放大图像,保存图像等等,对于OpenCV处理图像具有非常大的帮助.但是,安装Matplo ...

  2. window环境下Python+OpenCV配置

    最近开始学习OpenCV来进行计算机视觉实验,选择了Python作为实验语言,工欲善其事,必先利其器.先总结下安装配置. 现在opencv目测只支持Python2.7X版本的,还依赖于numpy和ma ...

  3. python + opencv 环境配置

    1.python 2.7.10 2.numpy 1.8.1 3.opencv2.4.8 4.OpenCV目录 ...\opencv\build\python\2.7" 下 "cv2 ...

  4. OpenCV安装与配置

    本文使用OpenCV2.48在win10平台下操作. 一,关于OpenCV OpenCV是开源C++计算机可视化处理库,它集成了很多计算机图形图像处理的功能.还有机器学习,字符识别,人脸识别,物体检测 ...

  5. ubuntu14 opencv python 安装

    本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程.此外记录了在Python中安装及载入OpenCV的方法. 1.安装OpenCV所需的库(编译器.必须库.可选库) GCC ...

  6. 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台

    搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...

  7. Python+OpenCV图像处理(一)——读取显示一张图片

    先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...

  8. Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器

    这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里 应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker) 首先安装Op ...

  9. 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) ...

随机推荐

  1. 自动回复消息-微信公众平台开发4(asp.net)

    接着上一节的processRequest 处理函数,代码如下: /// <summary>    /// 处理微信发来的请求     /// </summary>    /// ...

  2. 你自认为理解了JavaScript?

    关于Dmitry Baranovskiy 的博客中一篇文章(http://dmitry.baranovskiy.com/post/91403200),其中有五段小代码,用来测试是否理解 JavaScr ...

  3. Codeforces Round #354 (Div. 2) C. Vasya and String

    题目链接: http://codeforces.com/contest/676/problem/C 题解: 把连续的一段压缩成一个数,对新的数组求前缀和,用两个指针从左到右线性扫一遍. 一段值改变一部 ...

  4. 【BZOJ】【3907】网格

    组合数学/python 3907: 网格 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 162  Solved: 76[Submit][Status][ ...

  5. 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身

    年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...

  6. Core Data数据库迁移

    一. Lightweight Migration i. 适合场景 Simple addition of a new attribute Removal of an attribute A non-op ...

  7. Codeforces Round #364 (Div. 2)->A. Cards

    A. Cards time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  8. RCC 2014 Warmup (Div. 2)

    一场很很多HACK的比赛,PREtest太弱了,真的很多坑!平时练习的时候很少注意这些东西了! A:开始一直在模拟,后来发现自己的思路逻辑很乱,果然做比赛不给力! 直接在代码中解释了 #include ...

  9. this的使用、继承、super

    1.this的使用 1)可以用于区分局部变量 Person(int age,string name) { this.age=age; this.name=name; } 2)构造方法中,用this调用 ...

  10. (转)c语言随机数srandom( )

    转自:http://zhidao.baidu.com/question/334364810.html调用随机数函数 rand()() 的时候, 实际得到的这个随机数并不是绝对随机的,它是以一个初始值, ...