首页 > 解决方案 > 在python中使用opencv将给定的二维数组转换为二进制图像

问题描述

所以这是不完整的代码

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”,因为在我的代码中,该数组不是一个 zeros 数组,而是具有一些 400x400 形状的随机值 0 和 255。

标签: pythonpython-3.xopencvimage-processinguint8t

解决方案


我想你想要一个随机整数的 Numpy 数组

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

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

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

推荐阅读