.NET + OpenCV & Python + OpenCV 配置

时间:2022-11-02 02:30:00

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

结果:

.NET + OpenCV & Python + OpenCV 配置

.NET + OpenCV & Python + OpenCV 配置

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&plus;OpenCV图像处理(一)——读取显示一张图片

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

  8. Erlang&sol;Elixir&colon; 使用 OpenCV&comma; Python 搭建图片缩略图服务器

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

  9. Win7 64bit&plus;Anaconda&lpar;3-5&period;0&period;1&comma;Python3&period;6&rpar;&plus;Pycharm&lpar;community-2017&period;3&period;3&rpar;&plus;OpenCV&lpar;python‑3&period;4&period;0‑cp36‑cp36m&rpar;(转载)

    Anaconda(3-5.0.1,Python3.6)下载链接:https://pan.baidu.com/s/1bqFwLMB 密码:37ih Pycharm(community-2017.3.3) ...

随机推荐

  1. ZOJ3774&lowbar;Power of Fibonacci

    求fibonacci数列前N个数的K次方和. 通项公式:F[n]=((1+sqrt(5))/sqrt(5)-(1-sqrt(5))/sqrt(5))/sqrt(5). 有点乱,不过由于可以保证最后的结 ...

  2. Spatial pyramid pooling &lpar;SPP&rpar;-net (空间金字塔池化)笔记(转)

    在学习r-cnn系列时,一直看到SPP-net的身影,许多有疑问的地方在这篇论文里找到了答案. 论文:Spatial Pyramid Pooling in Deep Convolutional Net ...

  3. HTML5的新特性

    HTML5 中的一些有趣的新特性: 用于绘画的 canvas 元素 用于媒介回放的 video 和 audio 元素 对本地离线存储的更好的支持 新的特殊内容元素,比如 article.footer. ...

  4. iOS 开发之重力动画效果

    步骤:1.使用single view application创建新的项目 2.在viewcontroller.h文件中创建一个图片实例并与相关图片相连,然后创建一个UIDynamicAnimator ...

  5. 在WCF中使用消息队列

    在一些大型的解决方案中,假设我们的服务没有办法一直在线,或者因为这样那样的原因宕机了,有没有什么办法让客户端的影响最小化呢?答案是可以通过消息队列的方式,哪怕服务是没有在线的,客户端依然可以继续操作. ...

  6. &lbrack;改善Java代码&rsqb;正确使用String&comma;StringBuffer&comma;StringBuilder

    CharSequence接口有三个实现类与字符串有关:String,StringBuffer,StringBuffer.虽然它们都与字符串有关,但是其处理机制是不同的. String类是不可改变的量, ...

  7. Moq的使用心得

    Moq的使用心得 1.Moq中Mock Repository时最好是Mock Repository的接口,这样会避免不知名的错误. var mockClubRepository = new Mock& ...

  8. BZOJ 1412 狼和羊的故事

    首先,题目目的就是为了分割狼群和羊群,即建立超级源和超级汇求最小割从而转化成用网络流来处理. 如果没有空地,那么就是简单的二分图最大匹配,但是题中有空地的出现,所以需要在点与点之间建立双向边(不算后向 ...

  9. HALCON示例:BOTTLE&period;HDEV 光学字符识别(分割OCR)

    * * bottle.hdev: Segment and read numbers on a beer bottle 分割读取啤酒瓶上的数字* * Step 0: Preparations* Spec ...

  10. webpack报错:Module build failed &lpar;from &period;&sol;node&lowbar;modules&sol;babel-loader&sol;lib&sol;index&period;js&rpar;&colon; Error&colon; Cannot find module &&num;39&semi;babel-preset-env&&num;39&semi; from &&num;39&semi;&period;&period;&period;&&num;39&semi; - Did you mean &quot&semi;&commat;babel&sol;env&quot&semi;&quest;

    webpack报错:Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find mo ...