【问题标题】:Car plate recognition from video using python使用python从视频中识别车牌
【发布时间】:2020-04-18 22:52:13
【问题描述】:

enter image description here我正在运行此代码,但它给出了一个我正在尝试解决的错误。 给定的代码是用python编写的视频中的车牌识别。

给定的错误:-

Traceback (most recent call last):   File "Main.py", line 16, in
<module>
     plate_Original, plate_morphEx, edge = preprocessOne(plateFrame, (42,10), True)   File
 "C:\Users\Admin\Desktop\Radar\pythonEdition\Modules\Basic.py", line
 11, in preprocessOne
     plateGray = enhance(cv2.cvtColor(plateFrame, cv2.COLOR_BGR2GRAY)) cv2.error: OpenCV(4.1.2)
 C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182:
 error: (-215:Assertion failed) !_src.empty() in function
 'cv::cvtColor'

在 Main.py 中:-

    plate_Original, plate_morphEx, edge = preprocessOne(plateFrame, (42,10), True)

在 Basic.py 中:-

def preprocessOne(plateFrame, se_shape, Show = False):
plateOrigin = copy.copy(plateFrame)
plateGray = enhance(cv2.cvtColor(plateFrame, cv2.COLOR_BGR2GRAY))
plateGaussian = cv2.GaussianBlur(plateGray, (5,5), 0)
plateSobel = cv2.Sobel(plateGaussian, -1, 1, 0)
h, plateThresh = cv2.threshold(plateSobel, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

se = cv2.getStructuringElement(cv2.MORPH_RECT, se_shape)
plateMorphEx = cv2.morphologyEx(plateThresh, cv2.MORPH_CLOSE, se)
edge = np.copy(plateThresh)

【问题讨论】:

  • 正如其他人所说,通常这意味着文件丢失或(更有可能)文件路径错误。尝试手动放置绝对文件路径并返回结果。

标签: python numpy opencv tensorflow matplotlib


【解决方案1】:

函数cv::cvtColor中的src.empty()通常表示输入文件丢失。检查视频文件的路径和内容。或者main.py 中的 plateFrame 可能有问题。试试印版框和它的形状。

【讨论】:

  • 好吧,我尝试打印 plateFrame 的值及其形状,我得到了它的值但无法找出错误
  • 你能发布你得到的输出吗?
  • 好的,我已经发布了最重要的图像输出
  • 那是print(plateFrame)的结果?在preprocessOnemain 内?您的错误在Basic.py 中,这意味着plateFrame 没有传递给Basic.py 中的cv2.cvtColor 函数。
  • 这是 print(plateFrame) 的结果,也是 Main.py 中的形状
猜你喜欢
  • 2021-03-27
  • 1970-01-01
  • 2013-10-16
  • 2016-11-03
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 2021-05-30
相关资源
最近更新 更多