【问题标题】:License plate recognition using OpenCV使用 OpenCV 进行车牌识别
【发布时间】:2010-12-30 14:31:16
【问题描述】:

我有一个项目需要使用 OpenCV 识别汽车的车牌。

我想加载一个数字或字母的图像,让 OpenCV 识别并打印到控制台。

有这样的功能吗?如果没有,我该怎么办?

注意:我正在处理灰度级

请帮忙,我必须从现在开始一周后


感谢您的快速回复

我正在使用 Microsoft Visual C++ 2008 Express Edition

关于库,我使用了以下库:

“C:\Program Files\OpenCV\lib” “C:\Program Files\OpenCV\cv\include” "C:\Program Files\OpenCV\cxcore\include" "C:\Program Files\OpenCV\otherlibs\highgui" “C:\Program Files\OpenCV\cvaux\include” “C:\Program Files\OpenCV\otherlibs\_graphics\include” "C:\Program Files\OpenCV\cv\src" "C:\Program Files\OpenCV\cxcore\src" "C:\Program Files\OpenCV\cvaux\src" "C:\Program Files\OpenCV\otherlibs\highgui" “C:\Program Files\OpenCV\otherlibs\_graphics\src”

【问题讨论】:

  • 你意识到,如果你不知道怎么做,一周的时间是不够的,是吗?当然,除非你的问题比看起来更简单。

标签: python opencv image-recognition


【解决方案1】:

您可以使用 ROI 的颜色来创建过滤器。这将一直有效,直到车牌区域和车辆具有相同的颜色。

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while(1):
    _, frame = cap.read()
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    lower_red = np.array([30,150,50])
    upper_red = np.array([255,255,180])

    mask = cv2.inRange(hsv, lower_red, upper_red)
    res = cv2.bitwise_and(frame,frame, mask= mask)

    cv2.imshow('frame',frame)
    cv2.imshow('mask',mask)
    cv2.imshow('res',res)

    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()
cap.release()

【讨论】:

    【解决方案2】:

    我最近一直在研究 OpenCV python 中 ANPR 的简单实现。你可以去看看here

    它是在 Shogun 机器学习工具箱的帮助下编写的,带有 OpenCV 中的图像处理部分。一定要使用这些变量,因为它们需要对来自不同地区的汽车进行一些调整。

    【讨论】:

      【解决方案3】:

      如果您想全面了解 OpenCV,您可以从这本书开始:Learning OpenCV Bradksi 等人。

      【讨论】:

        【解决方案4】:

        不知道 opencv 中有哪些实现,但其他几个库是:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-11-04
          • 1970-01-01
          • 2021-03-27
          • 1970-01-01
          • 2011-12-25
          • 2013-10-16
          • 2020-07-24
          相关资源
          最近更新 更多