使用python中的opencv将给定的2d数组转换为二进制图像

问题描述

这是不完整的代码

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将给定的2d数组转换为二进制图像。
请为缺少的部分使用名称“ arr”,因为在我的代码中,该数组不是零数组,而是具有一些0x和255的400x400形状的随机值。

解决方法

我认为您想要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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...