python-opencv2可以正常imwrite却无法正常imshow的解决办法

本文解决了使用OpenCV进行图像处理时,从网上拷贝的代码在使用imshow显示图像时出现的错误。错误源于图像矩阵的数据类型在处理过程中被改变,通过将数据类型转换回uint8,成功解决了imshow无法显示图像的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在网上拷贝一份关于人脸检测变换的代码,然后他的默认功能imwrite保存的图片是没问题的,而当我想用imshow显示出来的时候却报错:

error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\highgui\src\window_w32.cpp:1230: error: (-215:Assertion failed) dst.data == (uchar*)dst_ptr in function 'cvShowImage'

解决----图像本质是一个矩阵,而且矩阵中的数字类型只能是uint8类型,在前面的处理中数字的类型发生过改变,所以需要修改回来:

img=img.astype(numpy.uint8)

这样,img就能够正常显示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值