python - 为什么 np.ones 创建黑色图像?
问题描述
np.zeros
我想了解和之间有什么区别np.ones
。在我的波纹管代码中,两者都创建了黑色图像。np.zeros
但是和有什么用np.ones
。我什么时候应该使用它们。什么目的。我知道np.ones
用 1 填充矩阵,但目的是什么。我想创建一个white image
img = np.ones((512,512,3), np.uint8)
cv2.imshow('IMG', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = np.zeros((512,512,3), np.uint8)
cv2.imshow('IMG', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
解决方案
将您的数组初始化为float
数据类型。只有这样 0 表示黑色,1 表示白色:
img = np.ones((512,512,3), np.float)
解释:当imshow
接收到一个整数数组时,它会假设 0 是最小值,255 是最大值,表示灰度图像中的黑白。但是,如果它接收到一个浮点数数组,它会将这些值设置为 0.0 和 1.0,因为它假定一个缩放输入。
推荐阅读
- python - Why can't I call dict.get() in f-string? (Python 3.8.1)
- javascript - 收据扫描仪应用程序使用什么免费的 OCR?
- php - How to validate array with RegExr laravel
- javascript - Unlike Java, does an assignment operator in Javascript mean that all operations on the LHS are reflected for the RHS?
- mongodb - Mongodb Index Creation only if not already exists
- python - Python 中的 True 或 False
- java - 从排序链表中删除重复节点
- c# - 后缀的优先级高于前缀,因此给定代码中 sml2 的值应该是 2 但它是 0。为什么?
- asp.net-core - 在 ASp.NET Core 3.1 中外部化配置 (appSettings.json) 文件
- c++ - 调用返回右值引用的函数