我在用pycharm进行编程时,发现我用cv2处理完的图片再用plt显示时会出现报错提示没有转化成实数,原本被在IDLE还是可以运行的,这个问题似乎别人的pycharm没有,但是我有这个问题,怎么办
报错:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "D:\pycharm\PyCharm 2021.1.3\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "D:\pycharm\PyCharm 2021.1.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/pingan/chengpin/xunxian/test.py", line 235, in <module>
bianli(tar)
File "D:/pingan/chengpin/xunxian/test.py", line 220, in bianli
test(i)
File "D:/pingan/chengpin/xunxian/test.py", line 166, in test
plt.imshow(proces)
File "D:\python3.10\lib\site-packages\matplotlib\_api\deprecation.py", line 454, in wrapper
return func(*args, **kwargs)
File "D:\python3.10\lib\site-packages\matplotlib\pyplot.py", line 2613, in imshow
__ret = gca().imshow(
File "D:\python3.10\lib\site-packages\matplotlib\_api\deprecation.py", line 454, in wrapper
return func(*args, **kwargs)
File "D:\python3.10\lib\site-packages\matplotlib\__init__.py", line 1423, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "D:\python3.10\lib\site-packages\matplotlib\axes\_axes.py", line 5574, in imshow
im.set_data(X)
File "D:\python3.10\lib\site-packages\matplotlib\image.py", line 701, in set_data
raise TypeError("Image data of dtype {} cannot be converted to "
TypeError: Image data of dtype object cannot be converted to float
代码:
proces = cv2.rectangle(proces, (x, y), (x + w, y + h), (255, 0, 0), 3)
#展示图片
plt.imshow(proces)
plt.show(block=False)
# 图片展示三秒
plt.pause(3)
# 销毁当前窗口
plt.close()