Pythonで3Dソーベルフィルターを計算しようとしています。私は以下の2D画像のためのかなり良いコードを持っています。
ところで。私の元の画像はuint8タイプです。
preSobel = preSobel.astype('int32')
dx = ndimage.sobel(preSobel, 0) # horizontal derivative
dy = ndimage.sobel(preSobel, 1) # vertical derivative
mag = numpy.hypot(dx, dy) # magnitude
mag *= 255.0 / numpy.max(mag) # normalize (Q&D)
img[i,:,:]=mag
しかし、2dを計算するためのwikiページの私の理解から、私はhypot:confusedではなく1dsobelの結果を乗算する必要がありました
とにかく、3dに移動するには、各軸で1d sobelを計算してからすべてを乗算する必要があると思いますが、よくわかりません... 3d sobelをより速く計算するライブラリはありますか?