图像处理,使用Python?[关闭]


81

我最近遇到了至少需要基本图像处理程度的问题,我可以在Python中执行此操作吗?


4
使用PyPy进行实时图像处理:morepypy.blogspot.com/2011/07/…–
Mikhail,

Answers:


53

最著名的库是PIL。但是,如果仅执行基本操作,则使用ImageMagick的Python绑定可能会更好,这比用Python编写转换要高效得多。


7
我认为您有倒退的感觉:PIL仅提供绝对最基本的准系统功能,但确实与Python GUI集成良好。IM的功能更加强大,但需要一些手动工作来回缓冲缓冲区才能与GUI集成。
SilverbackNet

19
这么说吧,可悲的是PIL被遗弃了,甚至没有加载用Paint创建的BMP文件。如果您查看项目网页,就会发现问题,查找错误跟踪器(无),邮件列表活动,SCM,...
sorin 2011年

19
枕头是正在维护和开发的PIL的分支。最好改用它。
David Johnstone 2013年

46

根据“图像处理”的含义,更好的选择可能是在基于numpy的库中:mahotasscikits.imagescipy.ndimage。所有这些都基于numpy数组工作,因此您可以混合和匹配一个库和另一个库中的函数。

我启动了http://pythonvision.org网站,该网站提供了有关这些信息的更多信息。


“ scikits.image SciKit(SciPy的工具包)扩展了scipy.ndimage,以提供一组通用的图像处理例程。” 我想知道为什么他们不只是直接对ndimage做出贡献。
endolith

1
所有这些软件包都具有不同的内部结构。不过,至少我的软件包mahotas从ndimage提取了很多代码。
luispedro 2011年

scikit-image现在托管在scikit-image.org上
Stefan van der Walt

谢谢。更新了我的答案
luispedro

scipy.ndimage链接已死。当前链接,最有可能是:scipy.github.io/devdocs/tutorial/ndimage.html
kmonsoor

19

您还可以基于“标准”科学模块来进行图像处理:SciPy有一个专门用于图像处理的完整程序包:scipy.ndimage。Scipy实际上是标准的通用数值计算软件包;它基于事实上的标准数组操作模块NumPy:图像也可以作为数字数组进行操作。对于图像显示,Matplotlib(也是“科学三部曲”的一部分)使图像显示非常简单

SciPy仍在积极维护之中,因此对未来来说是一笔不错的投资。此外,SciPy当前也与Python 3一起运行,而Python Imaging Library(PIL)却没有。


为了将来参考,ndimage仍然需要PIL。
davidtbernal 2011年

1
@notJim:是吗?MacPorts在SciPy的依赖项中未列出PIL,并且我可以不import scipy安装PIL而做(import Image失败ImportError)。
Eric O Lebigot

2
是的,当我尝试使用ImRead读取图像时,出现错误“ raise ImportError(“无法导入Python Imaging Library(PIL)”)
davidtbernal

2
@notJim:的确,SciPy依赖PIL进行图像读取(我尝试使用“简单” JPEG文件,但与您的示例一样失败)。SciPy仍然可以在没有PIL的情况下进行图像处理(PIL是可选的依赖项)。
Eric O Lebigot



6

实际上有一个很棒的Python Imaging Library(PIL)。它使您能够更改现有图像,包括抗锯齿功能,并使用文本等创建新图像。您还可以在上述站点提供的PIL手册中找到不错的入门教程


9
在问这个问题之前,您是否曾经使用过Google?:-)我并不是说您应该这样做,只是在不到一分钟的时间内回答您自己的问题似乎有点可笑。
亚历山德拉·弗兰克斯

5
该站点的整体思想是提供(问题,答案)对,这将对搜索主题的人提供有用的信息。值得鼓励的是,如果您发现了以前不知道的有用信息,并且尚未在网站上找到,请与StackOverflow共享。
akdom

8
在FAQ中:提出并回答自己的编程问题也很好,但假装您正处于危险之中:以问题的形式对其进行措辞。虽然,我认为任何需要通过Google搜索的人都可以轻松回答这个问题...
Martin W

5
@MartinW-我通过谷歌搜索发现了这个问题
Bulwersator


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.