python - cv2.cvtcolor bgr2gray 似乎得到一个错误图像
问题描述
# 代码如下,实现了,但结果可能是错误的,不是我想要的灰度,有人帮我看看,看起来很简单,但我不知道哪里错了
导入 cv2 导入 matplotlib.pyplot 作为 plt 导入 numpy 作为 np 导入 matplotlib.image 作为 mpimg img = cv2.imread('calibration_test.png')
# i want simply convert the rgb image to grayscale and then print it out
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray)
print(gray.shape)
# but the outcome is a colorful image
解决方案
灰度转换已正确完成。问题在于您如何显示图像。尝试这个:
plt.imshow(gray, cmap='gray')
默认情况下imshow
,将它自己的颜色键添加到单通道图像,使其更易于查看。一个典型的例子是热图像,通常显示蓝色和红色,但所有颜色仅取决于一个通道。
希望这可以帮助!
推荐阅读
- python - 如何过滤 Pandas 数据框以显示顶级类别的行?
- django - 为什么在 Django 应用程序浏览器开发工具中可以看到 cookie 而不是通过 curl?
- python - 我已经在我的 google colab 中下载了一个解压手套文件,但我仍然无法访问它
- c++ - C ++ stod:字符串到浮点转换是否一致
- xtext - Xtext 语言服务器和全局范围
- c++ - 从 HDC 创建位图
- python - Google Docs API:“插入索引不能在字素簇内”
- kubernetes - 无法解码令牌的 json: json: cannot unmarshal array into Go struct field StandardClaims.aud of type string
- java - 从 firebase 检索节点的所有子键
- regex - 如何验证正则表达式工作错误