gpt4 book ai didi

python - 如何获得具有图像的 R、G 和 B 分量的大小为 n*3(其中 n 是图像的像素总数)的矩阵

转载 作者:行者123 更新时间:2023-12-02 16:54:35 26 4
gpt4 key购买 nike

我想获得一个仅包含图像每个像素的 R、G 和 B 分量的矩阵。 cv2.imread 函数返回一个 3 channel 数组。我希望将 3d 数组转换为大小为 n*3 的数组,其中“n”必须是图像的像素总数,并且 3 列必须包含每个像素的红色、绿色和蓝色值。

最佳答案

您可以 reshape 数组:

import numpy as np
import cv2

# Load an color image in color (its the default as well)
img = cv2.imread(r'somepath\2015-08-05 10.58.36.jpg',cv2.IMREAD_COLOR )

print (img.shape)

c = img.reshape((img.shape[0]*img.shape[1],3))

print(c.shape)

输出:
(2048, 1536, 3)  # my original image
(3145728, 3) # reshaped


for i in range(9):
print(img[0][i])
print(c[i])

输出:
[191 125  84]  # from img
[191 125 84] # from c
[191 125 84] # etc.
[191 125 84]
[185 119 78]
[185 119 78]
[184 118 77]
[184 118 77]
[188 122 81]
[188 122 81]
[189 123 82]
[189 123 82]
[188 122 81]
[188 122 81]
[190 124 83]
[190 124 83]
[190 126 85]
[190 126 85]

BGR

对于每种颜色,#0 是蓝色,#1 是绿色,#2 是红色。

关于python - 如何获得具有图像的 R、G 和 B 分量的大小为 n*3(其中 n 是图像的像素总数)的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49660153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com