sci-kit 이미지에서 mean filter을 사용하고 있습니다. 그러나 부동 소수점 이미지의 dtype
이 uint8
으로 변경되어 다른 필터 함수로 다시 전달할 때 문제가되는 것으로 보입니다.scikit-image : 평균 필터 변경 dtype
그림과 같이 다음 코드를 고려하십시오.
import numpy as np
from skimage import filters
from skimage.morphology import square
def mean_filter(img):
selem = square(3)
print(img.dtype)
print(img.max(), img.min())
fi = filters.rank.mean(img, selem=selem)
print(fi.dtype)
print(fi.max(), fi.min())
return fi
arr = np.array([[.1, .2, .3],
[.4, .5, .6],
[.7, .8, .9]], dtype='float64')
m = mean_filter(arr)
다음 출력을 제공합니다.
float64
0.9 0.1
uint8
178 76
그러나 문서에 따르면 반환 유형은 입력 유형과 같아야합니다. 여기서 무슨 일이 일어나고있는거야?