簡體   English   中英

TypeError: dtype object 的圖像數據無法轉換為浮點數修復

[英]TypeError: Image data of dtype object cannot be converted to float Fix

我正在使用 Canny 邊緣檢測器的源腳本。 它不工作。 這是完整的腳本:

import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('messi5.jpg',0)
edges = cv.Canny(img,100,200)
plt.subplot(121),plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()

錯誤信息是 TypeError: dtype object 的圖像數據無法轉換為浮點數。 如何解決這個問題,為什么會發生這種情況?

完整的錯誤代碼:

  File "C:\Users\User\Desktop\opencv scripts\cat\opencvproject.py", line 6, in <module>
    plt.subplot(121),plt.imshow(img,cmap = 'gray')
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\pyplot.py", line 2896, in imshow
    __ret = gca().imshow(
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\__init__.py", line 1386, in inner
    return func(ax, *map(sanitize_sequence, args), **kwargs)
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\axes\_axes.py", line 5609, in imshow
    im.set_data(X)
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\matplotlib\image.py", line 703, in set_data
    raise TypeError("Image data of dtype {} cannot be converted to "
TypeError: Image data of dtype object cannot be converted to float


代碼運行沒有任何錯誤。 我認為問題在於軟件包的安裝或輸入圖像。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM