9

我尝试了几乎所有的过滤器PIL,但都失败了。scipy 的 numpy 中是否有任何功能可以消除噪音?就像 Matlab() 中的 Bwareaopen() 一样?

例如:

在此处输入图像描述

PS:如果有办法把字母填成黑色,我将不胜感激

4

3 回答 3

14

Numpy/Scipy 可以像 Matlab 一样进行形态学运算。

请参阅scipy.ndimage.morphology,其中包含binary_opening()等价于 Matlab 的bwareaopen().

于 2013-03-19T10:51:52.863 回答
12

Numpy/Scipy 解决方案:scipy.ndimage.morphology.binary_opening. 更强大的解决方案:使用 scikits-image。

from skimage import morphology
cleaned = morphology.remove_small_objects(YOUR_IMAGE, min_size=64, connectivity=2)

http://scikit-image.org/docs/0.9.x/api/skimage.morphology.html#remove-small-objects

于 2014-01-29T09:48:01.660 回答
9

我认为这不是您想要的,但这有效(使用 Opencv(使用 Numpy)):

import cv2

# load image
fname = 'Myimage.jpg'
im = cv2.imread(fname,cv2.COLOR_RGB2GRAY)
# blur image
im = cv2.blur(im,(4,4))
# apply a threshold
im = cv2.threshold(im, 175 , 250, cv2.THRESH_BINARY)
im = im[1]
# show image
cv2.imshow('',im)
cv2.waitKey(0)

输出(窗口中的图像):
输出图像

您可以使用保存图像cv2.imwrite

于 2013-03-19T11:42:35.527 回答