python - np.flatten() 返回全零?
问题描述
我有一个 RGB 图像,我想将其转换为灰度,并将图像展平为矢量。所以我写了以下代码:
import cv2
import numpy as np
path="F:\TestProject\DatasetFINAL\Subject01\A_01_+10.Jpg"
img=cv2.imread(path)
imgGray=cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
flatImg=imgGray.flatten()
但是当我写作时,print(flatImg)
我得到:
[0 0 0 ... 0 0 0]
我错过了什么吗?我也用过ravel()
,但我仍然遇到同样的问题。这应该很简单。请帮忙。
编辑 :
这是图像:
我之前没有包含它的原因是,当我打印imgGray
这些值时,这些值并非全为零。
解决方案
您的代码完全正常工作。尝试检查图像的路径是否正确。此外,您可以在灰度模式下读取图像,而不是将 RGB 图像转换为灰度图像:
import cv2
import numpy as np
path="F:\TestProject\DatasetFINAL\Subject01\A_01_+10.Jpg"
imgGray=cv2.imread(path,cv2.IMREAD_GRAYSCALE)
flatImg=imgGray.flatten()
print(flatImg)
推荐阅读
- visual-studio-2010 - SSRS 报告从 Visual Studio 2017 上传到本地 CRM 2016 不起作用?
- excel - 无法通过 selenium VBA 从 excel 列表中输入数据
- javascript - Discord.js 删除功能
- java - java - 如何移动java链接简单列表中的节点?
- actions-on-google - 我们如何为我们的 Google Action 请求一个单字调用名称?
- ruby-on-rails - 如何在迁移中使用辅助方法?
- android - Camera2 实现失败,我遵循的任何教程
- python - 如何制作风玫瑰的子图?
- c++ - 如何从 cpp 文件传递命令行参数并在 shell 脚本中使用它?
- laravel - laravel api 测试总是返回状态码 500