最近、python skimageのローカルバイナリパターンメソッドが予期しない結果を引き起こしている問題が発生しています。ローカルバイナリパターンの予期しない動作 - python skimage
以下の漫画の例をご覧ください。これは、平坦な色の背景に2つの平らな色の円を示しています。
ローカルバイナリパターン(P = 8つのサンプル、半径= 1)が出力される。
(画像ジェット色で色分けされて)。灰色は正しく255を表します。ただし、青色は85(バイナリ01010101)です。
この方法では、右に255の背景と円が表示されていますが、左の円は85と表示されます。スキマージュのローカルバイナリパターンメソッドは、その領域が完全にノイズが多いと考えます(したがって、 01010101)。しかし、上記の青色で示された領域内の個々のピクセルを二重チェックし、それらの値が同じである(つまり、フラットカラーの背景や他のフラットなカラーサークルのようなフラットカラー)ので、これは当てはまりません。
誰も以前に同様の問題が発生しましたか?
from skimage.feature import local_binary_pattern
from skimage.color import rgb2gray
import matplotlib.pyplot as plt
img = plt.imread('circles.png')
img = rgb2gray(img)
lbp = local_binary_pattern(img, 8, 1, 'default')
plt.imshow(lbp, cmap='nipy_spectral')
plt.title('Standard lbp (8,1)')
をPNGが読み込まれ、デフォルトでは、ほんの少しすることができ浮動小数点配列、にうるさい。次のステップを追加すれば、物事は安定するはずです: 'from skimage import img_as_ubyte; img = img_as_ubyte(img) ' –