为什么numpy数组看起来没有形状?

lzfw57am  于 2023-04-30  发布在  其他
关注(0)|答案(2)|浏览(152)

我理解如下:

import numpy as np

arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

print(arr.shape)

输出:

(2, 4)

所以我想知道为什么我得到以下内容:

import numpy

import pytesseract
import logging

# Raw call does not need escaping like usual Windows path in python 
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'

logging.basicConfig(level=logging.WARNING)
logging.getLogger('pytesseract').setLevel(logging.DEBUG)

image = r'C:\ocr\target\31832_226140__0001-00002b.jpg'
target = numpy.asarray(pytesseract.image_to_string(image, config='--dpi 96 --psm 6 -c preserve_interword_spaces=1 -c tessedit_char_whitelist="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,- \'" '))
print("target type is:",type(target))
print("target array shape is:",target.shape)

输出:

DEBUG:pytesseract:['C:\\Program Files\\Tesseract-OCR\\tesseract', 'C:\\ocr\\target\\31832_226140__0001-00002b.jpg', 'C:\\Users\\david\\AppData\\Local\\Temp\\tess_p68ogbz9', '--dpi', '96', '--psm', '6', '-c', 'preserve_interword_spaces=1', '-c', "tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,- '", 'txt']
target type is: <class 'numpy.ndarray'>
target array shape is: ()

好的。我的数组是文本。但我仍然认为我会得到参数的例子,比如说(1,999)为我的形状?
使用print(target)行给出以下类型的输出。
--------〉剪切〈---------

196 ANGUS, Lynne Manon ........................128 Wellington Rd, Wemuomata Recepnonst
        197 ANGUS, Mane Joan .........00... ......129 Wellington Road, Weinumomata, Married
       198 ANGUS, Manon Jean .........................173 Wellington Road, Weinuiomata,Texi Driver
        199 ANGUS. Noel Fulton ........................127 Weinuomats Road, Weinuomate, Carpenter
cgh8pdjw

cgh8pdjw1#

这意味着你创建了一个标量i即具有“无形状”阵列。考虑:

>>> import numpy as np
>>> arr = np.array(1)
>>> arr
array(1)
>>> arr.shape
()

这是因为,我只能推测,pytesseract.image_to_string返回一个str对象(或者可能是一个bytes对象)。当然,你会得到:

>>> np.asarray("some string object")
array('some string object', dtype='<U18')
>>> np.asarray("some string object").shape
()

目前还不清楚您希望创建什么。正如你所说的,你大概只有一个文本文件,那么为什么你要创建一个numpy呢?ndarray对象出来了吗?* 如果你能详细说明你正在努力实现的目标,也许我或其他人可以提出一种方法。

uklbhaso

uklbhaso2#

我完全同意@juanpa提供的答案。再见但要回答你没有问的问题:

>>> x = np.asarray(['abc'])
>>> x.shape
(1,)
>>> x = np.asarray(list('abc'))
>>> x.shape
(3,)

相关问题