在 python 中使用 opencv 将给定的二维数组转换为二值图像

Converting a given 2d array into a binary image using opencv in python

所以这是不完整的代码

import cv2
import numpy as np
arr= np.zeros((30,30))
# bw_image = <missing part>
cv2.imshow("BW Image",bw_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

#please use arr at 4th line to complete the code

我实际上是新手,不知道如何使用 opencv 将给定的二维数组转换为二进制图像。
请为缺失的部分使用名称“arr”,因为在我的代码中,该数组不是零数组,而是具有 400x400 形状的一些随机值 0 和 255。

我想你想要一个 Numpy array of random integers:

arr = np.random.randint(0, 256, (400,400), dtype=np.uint8)

如果您的问题实际上是关于阈值的,也许您想要:

_, bw_image = cv2.threshold(arr, 128,255,cv2.THRESH_BINARY)