Nic*_*ick 13 python image image-processing scipy
我正在尝试使用scipy来对图像进行侵蚀和扩张.使用scipy似乎非常简单 - > binary_erosion / dialation.但是,输出完全不是预期的.
这是我的基本代码:
import scipy
from scipy import ndimage
import matplotlib.pyplot as plt
import numpy as np
import Image
#im = Image.open('flower.png')
im = ndimage.imread('flower.png')
im = ndimage.binary_erosion(im).astype(np.float32)
scipy.misc.imsave('erosion.png', im)
im2 = Image.open('flower.png')
im2 = ndimage.binary_dilation(im2)
scipy.misc.imsave('dilation.png', im2)
Run Code Online (Sandbox Code Playgroud)
这是输出:

扩张的输出只是原始"flower.png"的完全白色图像
我相信我必须指定一个更好的内核或面具,但我不确定为什么我得到绿色输出的侵蚀和完全白色输出扩张.
Nic*_*ick 13
我使用二元侵蚀而不是灰色侵蚀阵列.我用flatten=true这样的方式将原始图像转换为灰度:
im = scipy.misc.imread('flower.png', flatten=True).astype(np.uint8)
Run Code Online (Sandbox Code Playgroud)
然后叫:
im1 = ndimage.grey_erosion(im, size=(15,15))
Run Code Online (Sandbox Code Playgroud)
并获得了一张很好的侵蚀图片,虽然它是灰度的.
| 归档时间: |
|
| 查看次数: |
14167 次 |
| 最近记录: |