2015年5月3日 22:15:43

在win7下安装了python、simplecv,试着运行simplecv官网第一个hello world程序结果报错,提示说%python%/lib/site-packages/SimpleCV/sampleimages目录不存在。果然,是pypi源中的压缩包根本就没有把官方repo中的sampleimages目录放进去,手动下载官方repo去了:https://github.com/sightmachine/SimpleCV/zipball/1.3 (好吧其实是搬运https://github.com/sightmachine/SimpleCV上的内容)

前面已经装了python,把opencv安装包中的cv.py和cv2.pyd扔到python的site-packages和DLL目录下了,并且安装了PIL等各种官网说的依赖包,运行后报错说

"you need the python library to save by file handle"
通过把%python%/Lib/site-packages/SimpleCV/base.py中的一句import修改掉,就能运行了:
change the following line***:
from Image.GifImagePlugin import getheader, getdata
into:
from GifImagePlugin import getheader, getdata
然后重新运行,Done

=======================
修改base.py的内容也是搬运的,以下是原文
=======================

SimpleCV install and "You need the python image library to save by filehandle"

You'll maybe complain that this site is degenerating into a mingle-mangle of bug descriptions, but if you've ever had a pesky problem and couldn't find anything about it on the web, you'll understand my urge to document such things for the fellow hackers.

Here the story goes: SimpleCV is a Python framework trying to provide a simple interface to both OpenCV* an PIL**. There's even a small book about it. I first installed version 1.2 on my computer, but then wanted to upgrade to 1.3 as there were some segmentation algorithms added (graph-cut etc.) which I wanted to use. Unfortunately, as I installed the new SimpleCV 1.3 and then tried to run my script written for version 1.2 I got:
WARNING: You need the python image library to save by filehandle
when I tried to display any image. Deinstallation of both versions an clean install followed, but nothing changed. Googling for solution didn't help either. What should we do? Just fix it by yourself! The solution is simple. Well, just open this file:

C:\Python27\Lib\site-packages\SimpleCV\base.py
and change the following line***:
from Image.GifImagePlugin import getheader, getdata
into:
from GifImagePlugin import getheader, getdata
So, that's it! And happy OpenCV hacking!

PS: PIL seems to be generally a difficult library to use on Windows. If you follow their own docs an write something like
from PIL import Image
it won't work! You have to use the little bit confusing:
import Image
--

  • OpenCV: a C++ library containing image processing algorithms. For Python there are wrappers exposing direct calls to it, but they aren't that easy to be used directly.

** PIL: the "python image library " from the warning message - the best know imaging library for Python, however it isn't self-contained. You'll need several other libraries like sciPy etc.

*** somehow for Windows distribution the GifImagePlugin isn't a subpackage of Image, and the PIL package just isn't there to be used as prefix! Despite the warning, the problem isn't lack of the PIL installation, but failure to find one of it's subpackages.

Posted by Marek Krj at 03:55
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
Labels: computer vision, Python

SimpleCV install and "You need the python image library to save by filehandle"的更多相关文章

  1. Install OpenCV 3.0 and Python 2.7+ on OSX

    http://www.pyimagesearch.com/2015/06/15/install-OpenCV-3-0-and-Python-2-7-on-osx/ As I mentioned las ...

  2. Install OpenCV 3.0 and Python 2.7+ on Ubuntu

    为了防止原文消失或者被墙,转载留个底,最好还是去看原贴,因为随着版本变化,原贴是有人维护升级的 http://www.pyimagesearch.com/2015/06/22/install-Open ...

  3. 在执行 pip install 时遇到错误:python setup.py egg_info ...

    最近重新安装win10 64位专业版, 正好遇到python3.8发布,试了一下.结果jupyter都安装不了...心碎. ERROR: Command errored out with exit s ...

  4. CentOS 6.5 Python Image Library 配置

    转自:http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html PIL 下载: http://www.pythonware ...

  5. 使用Python Shapefile Library创建和编辑Shapefile文件

    介绍 shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Classes),主要包括点(point).线(polyline)和多边形(polygon).P ...

  6. Windows环境下安装PIL(Python Imaging Library)库

    微信小程序--跳一跳最近火了一把,于是整了个辅助进行试玩,不过在运行程序过程中出现了个报错如图所示: 显然是缺少PIL(Python Imaging Library)库文件,于是通过pip命令行进行安 ...

  7. Python语言中对于json数据的编解码——Usage of json a Python standard library

    一.概述 1.1 关于JSON数据格式 JSON (JavaScript Object Notation), specified by RFC 7159 (which obsoletes RFC 46 ...

  8. Python Standard Library

    Python Standard Library "We'd like to pretend that 'Fredrik' is a role, but even hundreds of vo ...

  9. The Python Standard Library

    The Python Standard Library¶ While The Python Language Reference describes the exact syntax and sema ...

随机推荐

  1. SMBv3空指针引用dos漏洞复现

    0x01 前言 去年年底,当设置一个模拟器来定位SMB协议时,发现了一个如此简单而又非常有效的攻击大型企业的漏洞.TL; DR:一个拒绝服务错误允许BSOD协议向Windows 8.1和Windows ...

  2. Linux系统启动详解(二)

    上节讲到了Linux启动大体流程,及grub的作用,本节主要扯扯initramfs的那些事,并且通过简单修改initramfs,将整体操作系统运行到了内存中. 3       initramfs 3. ...

  3. 解题:AHOI 2005 航线规划

    题面 这种不断删边的首先肯定想到时光倒流啊=.= 在最后剩下的连通图上跑出一棵搜索树,先将边权都赋为$1$,那么两点间的关键航线就是链上边权和,而每加入一条非树边$u,v$都会使得$u,v$链上的边的 ...

  4. c++多态性详解(转)

    什么是多态? 多态一词最初来源于希腊语,意思是具有多种形式或形态的情形,当然这只是字面意思,它在C++语言中多态有着更广泛的含义. 这要先从对象的类型说起!对象的类型有两种: 实例:Derived1类 ...

  5. 美化mfc界面,给mfc界面加上皮肤

    注明:里面使用到的资源文件在自己的腾讯微云有. 原图: 添加皮肤后: 通过对比就能知道,加上皮肤后给人的感觉就是耳目一新了. 技术详细说明: 这里用到的是一个轻量型的美化工具SkinSharp又称Sk ...

  6. Hdu5226 Tom and matrix

    Tom and matrix Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  7. apk文件签名绕过

    声明: 1.本文转载自:http://www.2cto.com/Article/201311/256406.html,为了留作日后参考上传博客 2.如有转载请复试上面连接,尊重原创 apk文件签名绕过 ...

  8. 解决HTML5标签兼容的办法搜集

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. HTML5的新标签元素有: <header&g ...

  9. 51nod 1449 砝码称重 (进制思想)

    1449 砝码称重 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 现在有好多种砝码,他们的重量是 w0,w1,w ...

  10. this new call() apply()

    如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语 ...