Tôi đang cố gắng sử dụng scipy để làm erosion và dilation của hình ảnh. Dường như khá đơn giản khi sử dụng scipy ->binary_erosion/dialation
. Tuy nhiên, đầu ra không phải là ở tất cả những gì được mong đợi.Xói mòn hình ảnh và giãn nở với Scipy
Đây là mã cơ bản của tôi:
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)
Đây là kết quả:
Kết quả cho sự giãn nở chỉ là một hình ảnh hoàn toàn trắng cho bản gốc "flower.png"
Tôi tin rằng tôi phải chỉ định hạt nhân hoặc mặt nạ tốt hơn nhưng không thực sự chắc chắn lý do tại sao tôi nhận được đầu ra màu xanh lá cây cho xói mòn và hoàn toàn whi te đầu ra cho giãn nở.
toán tử nhị phân mong đợi đầu vào nhị phân không giống như của bạn – theta