Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chồng lớp phân đoạn ảnh (image segmentation) với Numpy và Matplotlib

Overlay mask lên ảnh gốc bằng imshow hai lần với alpha.

  • Tạo mask 10x10 zeros, đặt vùng giữa = 1.
  • Tạo ảnh im = mask + noise nhỏ.
  • masked = np.ma.masked_where(mask == 0, mask).
  • Figure 2 cột: cột 1 imshow(im, 'gray'), cột 2 imshow(im, 'gray') + imshow(masked, 'jet', alpha=0.7).
  • show().

Ví dụ

from matplotlib import pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
mask = np.zeros((10, 10))
mask[3:-3, 3:-3] = 1
im = mask + np.random.randn(10, 10) * 0.01
masked = np.ma.masked_where(mask == 0, mask)
plt.figure()
plt.subplot(1, 2, 1)
plt.imshow(im, 'gray', interpolation='none')
plt.subplot(1, 2, 2)
plt.imshow(im, 'gray', interpolation='none')
plt.imshow(masked, 'jet', interpolation='none', alpha=0.7)
plt.show()

Kết quả

Bên trái: ảnh xám gốc. Bên phải: ảnh xám chồng lớp mask màu jet bán trong suốt.