所以我有一个 1280 × 960 .TIF 格式图片。我提取了 1.200.000 像素的所有像素。
之后,我使用图像上的每个像素进行了一些计算,让我们说:
result = each_pixel * some calculation
result
列表也有1.200.000值。
现在我要做的是显示两个不同的图像,第一个是原始像素值,表示原始图像,第二个是result
列表,这意味着计算每个像素的结果显示在原始图像的完全相同的x和y坐标中。
我该怎么做?我想我们可以使用像colormap这样的东西,但我不确定。
答案 0 :(得分:3)
matplotlib
这样做的方法是:
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
plt.imsave('filename.png', np.array(result).reshape(1280,960), cmap=cm.gray)
plt.imshow(np.array(result).reshape(1280,960))
注意:您也可以使用glumpy
答案 1 :(得分:3)
您可以通过更改其shape
属性来重新整形一维数组result
:
import matplotlib.pyplot as plt
from skimage import io
image = io.imread('https://i.stack.imgur.com/5KUry.png')
each_pixel = image.ravel()
some_calculation = 64
result = each_pixel // some_calculation
result.shape = image.shape
fig, (ax0, ax1) = plt.subplots(1, 2)
ax0.imshow(image, cmap='gray')
ax0.axis('off')
ax0.set_title('image')
ax1.imshow(result, cmap='gray')
ax1.axis('off')
ax1.set_title('result')
plt.show()