Python 如何使用存储的图像正确索引NumPy数组?
我正在努力理解Python 如何使用存储的图像正确索引NumPy数组?,python,opencv,Python,Opencv,我正在努力理解cv2.imread的输出 我已经将PNG图像作为灰度加载到NumPy数组中。我想我已经成功地做到了。我知道imagesList[0]为我提供了第一张图像的NumPy数组,但是我不知道imagesList[0][1]中的数字对应什么。在同样的提问中,一个(m,n,3)图像对应的数字是什么 # cv2 is openCV, an image processing package import numpy as np import cv2 #start and ending sli
cv2.imread
的输出
我已经将PNG图像作为灰度加载到NumPy数组中。我想我已经成功地做到了。我知道imagesList[0]
为我提供了第一张图像的NumPy数组,但是我不知道imagesList[0][1]
中的数字对应什么。在同样的提问中,一个(m,n,3)
图像对应的数字是什么
# cv2 is openCV, an image processing package
import numpy as np
import cv2
#start and ending slice
startSlice = 753
endSlice = 823
# each image array will be stored in the list.
# imagesList[0] = first slice, imagesList[-1] = last slice
imagesList = []
# reading the image as a greyscale array, and storing into imagesList
for i in range(startSlice,endSlice+1):
fileName = "/somefilelocation"+'{0:04}'.format(i)+'.png'
im = cv2.imread(fileName,0)
imagesList.append(im)
print(fileName)
在
for
循环中,您使用cv2.imread
读入多个图像,这些图像都将作为NumPy数组存储在列表imagesList
:
中的第一级索引,例如imagesList
将 为您提供相应的(整个)图像(NumPy数组)imagesList[0]
- 第二级索引,例如
将 为您提供该图像中相应的行(NumPy数组)imagesList[0][1]
- 第三级索引,例如
将 为您提供该图像(NumPy数组)中相应的行和列(即实际像素)imagesList[0][1][2]
- 第四级索引,例如
将 在该图像(NumPy数组)中相应的行和列(像素)处为您提供相应的颜色值(蓝色、绿色或红色)。注意:第四个索引>0仅适用于彩色图像李>imagesList[0][1][2][0]
导入cv2
#阅读图片。
image=cv2.imread('ithMo.png')
#将图像存储为列表中的颜色和灰度。
imagesList=[图像,cv2.CVT颜色(图像,cv2.COLOR\u BGR2GRAY)]
#访问第一个图像(彩色)
打印('整个图像(BGR值):\n\n',图像列表[0],'\n')
打印('第二行图像(BGR值):\n\n',图像列表[0][1],'\n')
打印('图像的第二行第三列(BGR值):\n\n',imagesList[0][1][2],'\n')
打印('图像的第二行、第三列、第一个通道(B值):\n\n',图像列表[0][1][2][0],'\n')
#访问第二个图像(灰色)
打印('整个图像(灰度值):\n\n',imagesList[1],'\n')
打印('第二行图像(灰度值):\n\n',imagesList[1][1],'\n')
打印('图像的第二行第三列(灰度值):\n\n',图像列表[1][1][2],'\n')
这个图像
作为颜色和灰度存储在图像列表中
,并测试上述索引级别
我尽量缩短输出,并标记了重要部分:
整个图像(BGR值):
[[[239 124 63]
[239 123 65]
[240 124 64]
...
[[238 128 74]@NoahBastola听到这个消息很高兴。如果这个答案对你有帮助,请随意投票和/或接受,请参阅: