所以我有一个导入到python的图像。imread命令基本上给出一个数组X,Y,Z,其中X和Y是像素的坐标,Z(有四个维度)给出给定点(X,Y)的RGB值。你知道吗
import matplotlib.image as img
import numpy as np
RawImg = img.imread('tek0000.bmp','RGB')
CrpImg = RawImg[14:208,12:256,:]
x_values = []
y_values = []
for row in CrpImg:
for cell in row:
print(np.nonzero)
if (cell == [136,136,0,255]).all:
我的目标是分析阵列中RGB配置为[1361360255]的精确点。这些点呈黄绿色。我想将X和Y值添加到列表或数组中,这样就可以绘制它们。你知道吗
为了实现这一点,我迭代数组的每个点X和Y(行和列),并分析Z值。我需要的是for循环中单元格的坐标(X,Y)。你知道吗
基本上,如果图像的点(X,Y)的颜色是黄色,则将该点(X,Y)添加到列表中。你知道吗
令人惊讶的是,我在网上几乎找不到任何东西,因为我认为,这是一件相对简单的事情。我意识到我可以使用以下方法进行交互: 因为我在len(X轴)的范围内,像这样,但是我想知道这样是否可能。你知道吗
如果使用标准库中的enumerate,则可以访问包含计数和值的元组。默认情况下,计数从0开始
变成
尝试使用numpy.where:
不完全确定这就是您要查找的内容,但我认为您希望从循环内部获取索引。主要的方法是
for i in range(0,255):
,然后索引到数组中enumerate
迭代,它返回一个索引以及集合中的值index
方法我认为最简单的选择是
index
方法。你知道吗请注意,这将为您提供作物内部的索引,而不是完整的图像。您可以调整(通过添加14和12),也可以迭代整个图像。你知道吗
相关问题 更多 >
编程相关推荐