1. ホーム
  2. スクリプト・コラム
  3. パイソン

Pythonはビットマップセグメンテーションの効果を実装している

2022-01-26 03:54:18

最近、ビットマップセグメンテーションの内容を見直したところ、ビットマップセグメンテーションの原理はWeb上でわかりやすく説明されていますが、コードの実装はC++かMatlabがほとんどで、Python版が必要なので、このブログが登場したわけです。

さっそくですが、コードを見てみましょう。

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('Fig3.13.jpg', 0)
imgBS = np.zeros_like(img)

plt.figure("Image")
plt.subplot(2, 4, 1)
plt.imshow(img, cmap='gray')
plt.axis('off')
plt.title('original')

for n in range(1, 8):
    for x in range(img.shape[0]):
        for y in range(img.shape[1]):
            gray = img[x, y] & pow(2, n-1)
            if gray == pow(2, n-1):
                imgBS[x, y] = 255
            else:
                imgBS[x, y] = 0

    plt.subplot(2, 4, n+1)
    plt.imshow(imgBS, cmap='gray')

    plt.axis('off')
    plt.title(str(n) + 'bit')
plt.show()


結果

上記は、ビットマップ分割の効果を達成するために、Pythonの詳細については、スクリプトハウスの他の関連記事に注意を払うください!です。