文章出處

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


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()