簡體   English   中英

在子圖上分別繪制圖像的正像素和負像素

[英]Plotting positive and negative pixels of image separately on subplots

假設有一個這樣的圖像,它由兩個圖像(1和6)組成,如果仔細觀察,它們會彼此疊加。

因此,我需要通過在一幅圖像中具有原始圖像的所有正像素,而在第二幅圖像中具有所有負像素,分別顯示每個數字。 有什么辦法可以在python中使用matplotlib.pyplot來實現,而又不會弄亂圖像的結構? 基本上,我需要將所有白色像素與黑色像素分開繪制。 在此處輸入圖片說明

您可以將所有高於或低於某個閾值的值都設置為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()

在此處輸入圖片說明


這是上面使用的測試圖像: 在此處輸入圖片說明 (右鍵單擊,另存為...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM