PyTorch + openCV 车牌识别(二)

PyTorch + openCV 车牌识别(二)

  • 利用cv识别车牌并切割字符

利用cv识别车牌并切割字符

  1. 上篇我们已经将识别出的车牌进行二值化的操作了,本章节会介绍一种最简单的方法进行字符切割,当然有效的切割不是这个项目的目的,这个项目主要是针对PyTorch的上手,下面我们开始介绍切割字符的步骤。
  2. 在对识别出的车牌滤波完后进行二值化,我们的分割思路便是从车牌的最上面到最下面遍历黑点的各数,当超过一定的阈值,变记为无字符列。将所有的无字符列都用线条标识出来。
 black_count = 0
        char_spli = [0 for i in range(200)]
        for i in range(200):
            for j in range (4,45):
                if img_final_bin[j,i] == 0:
                    black_count += 1
            if black_count >= 40:
                char_spli[i] = 1
                #cv2.line(img_final_resize, (i,0), (i,49), (0, 255, 255), 2)
            black_count = 0
##以上是绘制出所有字符间隔的蓝色块,从第4行至第45行,超过四十个点为蓝色即画线
  1. 再把每个字符之间黄色矩形取中间一列作为字符的分割线即可,以下代码便是把各个字符进行分割的代码。
        yellow_count = 0
        start_position = 0
        end_position = 0
        split_line = [0 for h in range(10)]
        x = 0
        for k in range(1, 200):
            if char_spli[k] == 1:
                yellow_count += 1
                if (char_spli[k] - char_spli[k - 1] == 1):
                    start_position = k
            else:
                if (char_spli[k] - char_spli[k - 1] == -1):
                    end_position = k - 1
                if (yellow_count >= 4 and end_position > start_position):
                    '''cv2.line(img_final_resize, (start_position+(end_position-start_position)//2, 0),
                                               (start_position+(end_position-start_position)//2, 49),
                                               (0, 255, 255), 2)'''
                    split_line[x] = start_position+(end_position-start_position) #记录所有分割线横坐标
                    x += 1
                yellow_count = 0
        #print(split_line)
##以上是把绘制出的黄色块区域取中线并绘制,以此来分割各个字符
  1. 分割之后的效果图如下:
    PyTorch + openCV 车牌识别(二)_第1张图片
  2. 到此便达成了利用cv简单地进行字符分割的目的。当然如果要提高分割的适应性,或者准确性等,可以将图片切换至HSV三通道进行车牌剥离,还可以进行透视变换的方法将视角进行矫正,或者也能够通过pytorch进行整体的车牌识别,当然这都是可以改进的点。本项目旨在利用这个项目让初学者能够入门pytorch,因此所有方法都非常简单。
    从第三章开始,便进入pytorch的识别部分,主要包括如何搭建自己的数据集,如何建立网络进行识别,如何设置网络参数等等。

你可能感兴趣的:(python,深度学习,图像识别,神经网络,pytorch)