gpt4 book ai didi

python - cv2.imshow显示二进制图像

转载 作者:行者123 更新时间:2023-12-02 17:04:27 29 4
gpt4 key购买 nike

我有一个代码,其中矩阵hip_dir表示RGB图像。如果我检查它的形状,python返回(1080,1920,3)。如果我写

cv2.imwrite('hip_dir.jpg',hip_dir)

我得到正确的图像保存在文件夹中。但是,当我这样做
cv2.imshow('img0',hip_dir)
cv2.waitKey(0)
cv2.destroyAllWindows()

我得到相同的黑白图像(但是有一些蓝色像素,这使它变得更加陌生)。

如何正确使用imshow?

编辑:

使用命令cv2.cvtColor会导致以下错误:
error: OpenCV(4.1.0) c:\projects\opencv- 
python\opencv\modules\imgproc\src\color.simd_helpers.hpp:94: error:
(-2:Unspecified error) in function '__cdecl cv::impl::`anonymous-namespace'::CvtHelper<struct cv::impl::`anonymous namespace'::Set<3,4,-1>,struct cv::impl::A0xe227985e::Set<3,4,-1>,struct cv::impl::A0xe227985e::Set<0,2,5>,2>::CvtHelper(const class cv::_InputArray &,const class cv::_OutputArray &,int)'
Unsupported depth of input image:
'VDepth::contains(depth)'
where
'depth' is 6 (CV_64F)

Edit2:我发现发生此错误的原因很简单,因为矩阵位于np.float64中。但是,将其转换为np.float32不会更改imshow结果。

最佳答案

OpenCV要求图片为BGR格式,请尝试应用

converted = cv2.cvtColor(hip_dir,cv2.COLOR_BGR2RGB)

关于python - cv2.imshow显示二进制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57107376/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com