Python 如何将图片中的数据插入2d数组?

Python 如何将图片中的数据插入2d数组?,python,arrays,image,numpy,Python,Arrays,Image,Numpy,我正在制作一个可以玩游戏connect 4的AI,它来自游戏一种状态的图片,例如: 下面的脚本正在检测图片中的红色元素: import cv2 import numpy as np img = cv2.imread('connect.png') hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) #get red color lower_range = np.array([169, 100, 100]) upper_range = np.array

我正在制作一个可以玩游戏connect 4的AI,它来自游戏一种状态的图片,例如:

下面的脚本正在检测图片中的红色元素:

import cv2
import numpy as np
 
img = cv2.imread('connect.png')
 
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
 
#get red color 
lower_range = np.array([169, 100, 100])
upper_range = np.array([189, 255, 255])
 
mask = cv2.inRange(hsv, lower_range, upper_range)
 
cv2.imshow('image', img)
cv2.imshow('mask', mask)
 
cv2.waitKey(0)
cv2.destroyAllWindows()

我想将这些数据插入一个2D数组,以便能够将该数组用作游戏状态,并确定AI应该采取的移动


我曾试图在堆栈溢出和Internet上找到解决方案,但总体而言,我没有找到任何解决方案。

这是一种读取图片并将其投射到二维numpy数组中的方法。
np.array(in_image)


你看过这个例子了吗@jayprich谢谢你的回答这对按颜色查找所有代币很有用,因为在我的例子中,我可以保存coin.png并像例子中那样使用它!我想补充一点,您需要像下面这样打开文件path=r“C:/my/path/”,但是我如何用这种方法确定颜色值以及它在图像中的位置有很多不同的方法。
import numpy as np
import skimage
from skimage import io, transform


path = "C:/my/path/"
pic = 'myPic.png'
imgName = path+pic

in_image_0 = skimage.io.imread(imgName)                   # read the image
in_image_1 = skimage.color.rgb2gray(in_image_0)           # transform it to grey-scale
in_image_2 = skimage.transform.rescale(in_image_1, 0.5)   # change the resolution
in_image_3 = np.flipud(np.array(in_image_2))              # make a numpy array and flip it up/down