相当于 OpenCV 在 PIL 中的腐蚀和扩张?

Posted

技术标签:

【中文标题】相当于 OpenCV 在 PIL 中的腐蚀和扩张?【英文标题】:Equivalents to OpenCV's erode and dilate in PIL? 【发布时间】:2017-10-26 23:02:24 【问题描述】:

我想用 PyTesseract 做一些图像 OCR,我已经看到 OpenCV 的 erode 和 dilate 函数对于去噪预处理非常有用。

由于 PyTesseract 已经需要 PIL/Pillow,我想在 PIL 中去除噪音,而不是获取另一个库。 PIL 中是否有等效于腐蚀/扩张的方法? (我的研究似乎表明 MaxFilter 和 MinFilter 可以以这种方式使用,但我并不完全清楚这是不是真的。)

谢谢!

【问题讨论】:

是的,最小值/最大值是等价的 【参考方案1】:

最好的选择是使用 OpenCV python 绑定。但是,如果您想使用 PIL/Pillow,则有 ImageFilter 模块: http://pillow.readthedocs.io/en/3.1.x/reference/ImageFilter.html

dilation_img = src_img.filter(ImageFilter.MaxFilter(3))
erosion_img = src_img.filter(ImageFilter.MinFilter(3))

示例中的数字 3 是掩码大小;

【讨论】:

您为什么认为 OpenCV 是“最佳选择”?这个操作比 Pillow 快吗? OpenCV 更适合去噪或更高级的操作,因为它的重点是计算机视觉。关于速度:取决于版本和操作系统,但总的来说,OpenCV 中的所有操作都比 Pillow 中的更快(OpenCV 中通常也有专用的 GPU 版本):kaggle.com/vfdev5/pil-vs-opencv

以上是关于相当于 OpenCV 在 PIL 中的腐蚀和扩张?的主要内容,如果未能解决你的问题,请参考以下文章

openCV 相当于 PIL 调整大小 ANTIALIAS?

如何使用opencv删除图像中的船尾迹?

opencv中的腐蚀与膨胀(转)

08 OpenCV腐蚀膨胀与形态学运算

python+opencv图像形态学处理详细解释(膨胀腐蚀开闭运算礼帽和黑猫)

如何使用 OpenCV 去除此图像的黑点?