Вы можете установить все значения выше или ниже некоторого порогового значения на nan
, чтобы они не отображались на конечном изображении.
Следующий код полностью исключает диапазон от 0,4 до 0,6.Желтый фон выбран, чтобы показать, что в этой области нет пикселей.
import numpy as np
import matplotlib.pyplot as plt
img = plt.imread("grayscaleimage.png")[:,:,0]
white = np.copy(img)
white[white<0.6] = np.nan
dark = np.copy(img)
dark[dark>0.4] = np.nan
fig = plt.figure()
ax0 = fig.add_subplot(211)
ax1 = fig.add_subplot(223)
ax2 = fig.add_subplot(224)
ax0.imshow(img, vmin=0, vmax=1, cmap="Greys")
ax1.imshow(white, vmin=0, vmax=1, cmap="Greys")
ax2.imshow(dark, vmin=0, vmax=1, cmap="Greys")
for ax in (ax1,ax2):
ax.set_facecolor("gold")
plt.show()
![enter image description here](https://i.stack.imgur.com/fCk66.png)
Вот тестовое изображение, используемое ввыше:
![enter image description here](https://i.stack.imgur.com/ZZy7t.png)
(щелкните правой кнопкой мыши, сохраните как ...)