【问题标题】:matplotlib and opencv typerror imagedata cannot be converted to floatmatplotlib 和 opencv typerror imagedata 无法转换为浮点数
【发布时间】:2020-09-06 12:06:44
【问题描述】:

我收到一个错误

TypeError: Image data of dtype object cannot be converted to float

我无法弄清楚我的代码是什么解决方案

import numpy as np
import cv2
import matplotlib.pyplot as plt


img = cv2.imread('hello,jpg',0)

plt.imshow(img, cmap='gray', interpolation= 'bicubic')
plt.xticks([]), plt.yticks([]) #to hide tick values of x and y-axis
plt.show()

这是我的错误日志:

Traceback (most recent call last):
File "matplotliOpenCv.py", line 8, in <module>
plt.imshow(img, cmap='gray', interpolation= 'bicubic')
File "/home/rijalboy/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py", line 2684, 
in imshow
None else {}), **kwargs)
File "/home/rijalboy/anaconda3/lib/python3.7/site-packages/matplotlib/__init__.py", line 
 1599, in inner
  return func(ax, *map(sanitize_sequence, args), **kwargs)
 File "/home/rijalboy/anaconda3/lib/python3.7/site- 
 packages/matplotlib/cbook/deprecation.py", line 369, in wrapper
 return func(*args, **kwargs)
 File "/home/rijalboy/anaconda3/lib/python3.7/site- 
 packages/matplotlib/cbook/deprecation.py", line 369, in wrapper
  return func(*args, **kwargs)
 File "/home/rijalboy/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 
 5679, in imshow
 im.set_data(X)
  File "/home/rijalboy/anaconda3/lib/python3.7/site-packages/matplotlib/image.py", line 685, 
 in set_data
 "float".format(self._A.dtype))
 TypeError: Image data of dtype object cannot be converted to float

我无法解决这个问题,我厌倦了谷歌搜索相关的许多方法,请帮我解决这个问题。

【问题讨论】:

  • print(img)imread 行之后显示什么?
  • @GPhilo 它显示无

标签: python numpy opencv matplotlib


【解决方案1】:

根据您的评论:print(img) 打印 None,因此 img 不会被加载,因为 cv2.imread 静默失败(使用 OpenCV,您应该始终检查返回值,因为它通常不会在万一事情没有按预期工作)。

numpy TypeError 只是图像未加载的结果。确保路径正确且文件存在(并且没有损坏)。

【讨论】:

    猜你喜欢
    • 2018-02-28
    • 2016-11-29
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2020-12-01
    • 2016-04-14
    相关资源
    最近更新 更多