当前位置:   article > 正文

使用jupyter(IPython)开发opencv

jupiter中opencv是干嘛的

opencv 的默认使用highgui显示图片,
用命令行运行,可以正常显示

  1. cv.namedWindow("Image")
  2. cv.imshow("Image",img)复制代码

jupyter则有无反应

本文环境

  1. import sys
  2. import cv2
  3. print("python版本:%s"% sys.version)
  4. print("opencv版本:%s"% cv2.__version__)复制代码

输出

  1. python版本:3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)]
  2. opencv版本:3.2.0复制代码

安装opencv

如果使用Anaconda,则打开 Anaconda Prompt,activate python35切换到相应的python环境

  1. pip install --upgrade setuptools
  2. pip install numpy Matplotlib
  3. pip install opencv-python复制代码

参考 Python环境搭建之OpenCV,但是在jupyter中,运行该博文下一段demo代码,无反应

经过一番google,已解决,现整理如下

jupyter显示opencv图片

lenna 图为例

  1. import cv2
  2. from matplotlib import pyplot as plt
  3. img = cv2.imread('lenna1.png')
  4. show_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
  5. plt.imshow(show_img)
  6. plt.show()复制代码

参考自 Quickie: Mix up OpenCV and Jupyter (iPython Notebook) 和官方 Using Matplotlib

opencv读取网络图片

  1. %matplotlib inline
  2. import numpy as np
  3. import cv2
  4. from matplotlib import pyplot as plt
  5. import urllib.request as ul
  6. data = None
  7. try:
  8. data = ul.urlopen('http://www.mupin.it/wp-content/uploads/2012/06/lenna1.png').read()
  9. except Exception as e:
  10. print("Could not download the image: %s " %( e.message))
  11. else:
  12. data = np.fromstring(data, np.uint8)
  13. img_data = cv2.imdecode(data, cv2.IMREAD_COLOR )
  14. img_data = cv2.cvtColor(img_data, cv2.COLOR_BGR2RGB)
  15. plt.imshow(img_data)
  16. plt.show()复制代码

本示例用的环境是python:3.5.3 和 opencv:3.2.0,在opencv3.x中已经不存在cv2.CV_LOAD_IMAGE_COLOR,根据 Python OpenCV load image from byte string ,改成cv2.IMREAD_COLOR

大部分代码 参考自 Quickie: Grab an image from the web with urllib2 and OpenCV

OpenCV入门教程

博客 anjia.ml/2017/07/16/…
掘金 juejin.im/post/596b3e…
简书 www.jianshu.com/p/69af8b1dc…

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/888149
推荐阅读
相关标签
  

闽ICP备14008679号