zoukankan      html  css  js  c++  java
  • .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():

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    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测试代码:

    [python] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. import cv2  
    2. import numpy as np  
    3. #import pdb  
    4. #pdb.set_trace()#turn on the pdb prompt  
    5.   
    6. #test cv2 and numpy package  
    7. print cv2.__version__  
    8. a = np.arange(10)  
    9. print(a)  
    10.   
    11. #read image  
    12. img = cv2.imread('D:privacypicturelittle girl.jpg',cv2.IMREAD_COLOR)  
    13. gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  
    14. cv2.imshow('tt',img);  
    15.   
    16. #basic accessing  
    17. b,g,r = img[0,0];#blue,green,red  
    18. print b,g,r  
    19.   
    20. rows,columns,channels = img.shape  
    21. print rows,columns,channels  
    22. print img.size  
    23.   
    24. #channels split and merge  
    25. b,g,r = cv2.split(img)  
    26. img = cv2.merge([b,g,r])  
    27.   
    28. #SIFT  
    29. detector = cv2.SIFT()  
    30. keypoints = detector.detect(gray,None)  
    31. img = cv2.drawKeypoints(gray,keypoints)  
    32. #img = cv2.drawKeypoints(gray,keypoints,flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)  
    33. cv2.imshow('test',img);  
    34. cv2.waitKey(0)  
    35. cv2.destroyAllWindows()  



    结果:

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

  • 相关阅读:
    C#
    C#
    css
    css
    css
    css
    css
    Css
    Javascript
    ASP.NET MVC
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5369640.html
Copyright © 2011-2022 走看看