不带外部库的Python图像处理

不带外部库的Python图像处理,python,image-processing,Python,Image Processing,我正在用python进行一个项目,该项目旨在尽可能模块化和灵活。该项目必须用Python编写,它涉及一些图像处理(访问单个像素和图像大小) 在不使用外部库的情况下,用Python操作图像的最佳方法是什么?我正在尝试使用尽可能少的依赖性,所以它将很容易转移到不同的平台 如果有其他更好的方法,我将不胜感激。我能理解您的担忧,我自己在做一个图像处理项目时也遇到过类似的问题,我不得不将其移植到纳米板(FPGA),因此使用外部库是一件非常头痛的事 我所做的是,首先使用手头的库对代码进行编程,然后查找它们的

我正在用python进行一个项目,该项目旨在尽可能模块化和灵活。该项目必须用Python编写,它涉及一些图像处理(访问单个像素和图像大小)

在不使用外部库的情况下,用Python操作图像的最佳方法是什么?我正在尝试使用尽可能少的依赖性,所以它将很容易转移到不同的平台


如果有其他更好的方法,我将不胜感激。

我能理解您的担忧,我自己在做一个图像处理项目时也遇到过类似的问题,我不得不将其移植到纳米板(FPGA),因此使用外部库是一件非常头痛的事


我所做的是,首先使用手头的库对代码进行编程,然后查找它们的实现。您可以在python中查看函数的源代码,只需稍加修改即可使用。希望能有帮助。如有任何疑问,请联系我

Python没有标准的方法来处理像jpg这样的复杂文件,所以您必须再次编写所有这些文件。使用外部库。虽然PIL是最受推荐的,但它似乎是被禁止的。它看起来像是一个工作叉子(没有试过)。所有主要操作系统都受支持。如果您事先知道只会看到PGM图像,这可能是一种合理的方法。。。但是如果你看到PBM,PGM,PNM,PNG,JPEG,GIF,TIFF。。。。。。然后你真的想使用一个已经为你编写好的库……再加上,即使你自己编写了图像阅读器(大概是针对相对简单的格式,比如PNM),那么执行典型的图像处理操作将是相当缓慢的——紧循环不是python的强项。您确实希望使用快速库(我偏爱NumPy)来获得良好的性能。也就是说,图像可以看起来非常像一个二维阵列;可以通过向具有两个参数的类添加成员函数来实现此类数组:。如果您的代码只是假设它将得到一个2D数组,那么您可以使它独立于包。