我有這個函式,它只顯示影像的紅色 RGB 值。但是,我對該功能的作業方式感到困惑。具體來說,為什么在這一行的括號中有一個 0:
newimage[i][j] = [image[i][j][0], 0, 0]
如何更改此功能以交換綠色和藍色 RGB 值,同時保持紅色值相同?
from matplotlib.pyplot import imshow #command to display a 2D array as an image
from imageio import imread #command to read images from a file or url
coffee = imread('imageio:coffee.png') #Image
def RedImage(image):
newimage = ArrayOfZeros(400, 600)
for i in range(400):
for j in range(600):
newimage[i][j] = [image[i][j][0], 0, 0]
return newimage
imshow(RedImage(coffee))
uj5u.com熱心網友回復:
在
newimage[i][j] = [image[i][j][0], 0, 0]
image[i][j]并且newimage[i][j]大概是由影像中特定像素位置的紅色、綠色和藍色三個值組成的陣列(i, j)。
原始影像的紅色值也是如此image[i][j][0],它也將用作新影像的紅色值。新影像的藍色和綠色值將為 0。
原始影像的綠色值為 ,image[i][j][1]藍色值為image[i][j][2]。所以為了在新影像中交換它們,在新影像的藍色值位置使用舊影像的綠色值,在新影像的綠色值位置使用舊影像的藍色值.
newimage[i][j] = [image[i][j][0], image[i][j][2], image[i][j][1]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434004.html
上一篇:C#保存檔案,使輸出為多行
