TypeError:图像数据无法转换为浮点型
image
image-processing
python
python-imaging-library
13
0

我想创建一个16位图像。所以我写了一个代码。

     import skimage 
     import random
     from random import randint                        
     xrow=raw_input("Enter the number of rows to be present in image.=>")
     row=int(xrow)
     ycolumn=raw_input("Enter the number of columns to be present in image.=>")
     column=int(ycolumn)

       A={}
       for x in xrange(1,row):
           for y in xrange(1,column):
               a=randint(0,65535)
               A[x,y]=a 

       imshow(A)

但是,每当我运行此代码时,都会出现错误,显示“ TypeError:图像数据无法转换为float”。对此是否有解决方案?

我为自己写的错误表示歉意,因为这是我在上面提出的第一个问题。

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

当我尝试绘制imagePath而不是图像本身时,发生了这种情况。解决方法是加载图像并绘制图像。

收藏
评论

根据我对scikit-image文档( http://scikit-image.org/docs/dev/index.html )的了解,imshow()将ndarray作为参数,而不是字典:

http://scikit-image.org/docs/dev/api/skimage.io.html?highlight=imshow#skimage.io.imshow

也许如果您发布整个堆栈跟踪信息,我们可能会发现TypeError来自imshow()的深处。

收藏
评论

这个问题首先出现在Google搜索中,但没有关于错误原因的一般性答案。发布者的唯一问题是使用不合适的对象类型作为plt.imshow()的主要参数。一个更通用的答案是plt.imshow()需要一个float数组,如果您不指定float ,numpy,pandas或其他任何内容,则可能会沿这行推断出不同的数据类型。您可以通过为dtype参数(对象的构造函数)指定一个float来避免这种情况。

请参阅此处Numpy文档

这里查看熊猫文件

收藏
评论

当我不知道尝试绘制图像路径而不是图像时发生了错误。

我的代码:

import cv2 as cv
from matplotlib import pyplot as plt
import pytesseract
from resizeimage import resizeimage

img = cv.imread("D:\TemplateMatch\\fitting.png") ------>"THIS IS THE WRONG USAGE"
#cv.rectangle(img,(29,2496),(604,2992),(255,0,0),5)
plt.imshow(img)

更正: img = cv.imread("fitting.png") --->“这是正确的用法”

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号