发布于2021-01-23 19:53 阅读(242) 评论(0) 点赞(23) 收藏(2)
0
1
2
3
4
我有一个uint16 3-dim numpy数组,代表一个RGB图像,该数组是从TIF图像创建的。问题是,例如,当我在QGIS中导入原始图像时,显示正确,但是如果我尝试在python中显示(使用plt.imshow),结果将有所不同(在这种情况下,显示为绿色):
QGIS图片:
图解图像:
我认为这与matplotlib管理uint16的方式有关,但是即使我尝试除以255并转换为uint8,我也无法获得良好的结果。
根据您的评论,图像不使用RGB颜色空间编码,因为R,G和B通道的值范围为[0-255],假设每个通道8位。
我不确定图像使用的是哪个色彩空间,但是TIFF文件通常使用针对打印进行了优化的CMYK。
可以尝试使用的其他常见色彩空间包括YCbCr(YUV)和HSL,但是随着显示硬件和视频流技术的发展,这些年来已经出现了许多变化。
要将整个图像转换为RGB颜色空间,我建议使用opencv-python
pip包。该文件包有据可查,但是作为示例,这是将numpy
数组img
从YUV转换为RGB的方法:
img_bgr = cv.cvtColor(img, cv.COLOR_YUV2RGB)
0
1
2
3
4
5
6
7
8
作者:黑洞官方问答小能手
链接: https://www.pythonheidong.com/blog/article/787091/d9d29d67b78e3d56f579/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!