当前位置: 首页 > 知识库问答 >
问题:

蟒蛇车牌识别

贺运良
2023-03-14

我是一名程序员,但我之前没有使用Python或其任何库的经验,甚至没有OCR/ALPR的整体经验。我有一个脚本,我做的(基本上复制和粘贴其他脚本在整个网络上),我假装用来识别车牌。但事实是我的代码现在非常糟糕。它可以很好地识别图像中的文本,但它很难捕捉车牌。我很少能用它拿到牌照。

因此,我需要一些帮助,说明我应该如何更改代码以使其更好。

在我的代码中,我只需选择一个图像,将其转换为二进制和BW,然后尝试读取它。

我只需要字符串(image_to_string);我不需要图像。

同样重要的是要注意,正如我所说,我对这段代码或我正在使用的函数没有专业知识。

我的代码:

from PIL import Image
import pytesseract
import numpy as np
import cv2



image = cv2.imread('redcar.jpg')
image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
se=cv2.getStructuringElement(cv2.MORPH_RECT , (8,8))
bg=cv2.morphologyEx(image, cv2.MORPH_DILATE, se)
out_gray=cv2.divide(image, bg, scale=255)
out_binary=cv2.threshold(out_gray, 0, 255, cv2.THRESH_OTSU )[1] 

#cv2.imshow('binary', out_binary)  
cv2.imwrite('binary.png',out_binary)

#cv2.imshow('gray', out_gray)  
cv2.imwrite('gray.png',out_gray)

filename = 'gray.png'
img1 = np.array(Image.open(filename))




text = pytesseract.image_to_string(filename,config ='--psm 6')
print(text) 

共有1个答案

耿联
2023-03-14

我希望在这种情况下,卡索克会有所帮助。您可以通过管道安装易购卡,使用开放版的开放版蟒蛇-4.5.4.60安装易购

import easyocr

IMAGE_PATH = 'AQFCB.jpg'
reader = easyocr.Reader(['en'])
result = reader.readtext(IMAGE_PATH)
for detection in result:
    if detection[2] > 0.5:
        print(detection[1])

输出是

HR.26 BR.9044
 类似资料:
  • 我尝试了镶嵌,结果是:7G285274-AF现在我真的不知道该怎么办,如果有人知道请告诉我 首先,我从汽车图像中检测车牌,然后我必须从车牌中识别字符。这是我的代码:

  • 我试图识别车牌,但遇到错误,如错误/未读取字符 下面是每个步骤的可视化: 从颜色阈值化变形关闭获得蒙版 以绿色突出显示的车牌轮廓过滤器 将板轮廓粘贴到空白遮罩上 Tesseract OCR的预期结果 BP 1309 GD 但我得到的结果是 BP 1309 6D 我尝试将轮廓切片为3切片 是的,它是有效的,但是如果我将差异图像插入到这个方法中,一些图像就无法识别,例如这个 字母N无法识别,但如果使用

  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 1.1. cirtus_lpr_sdk 1.1.1. SDK接口说明 1.2. android_demo Rokid Plate Recognition SDK and demo project. Author Email cmxnono cmxnono@rokid.com 1.1. cirtus_lpr_sdk Version:1.0 1.1.1. SDK接口说明 初始化 public long

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P