基于python的车牌识别,利用python做图像识别
以下是关于如何解决你的问题的大致想法。在此基础上可以更加努力。必须从图像中提取编号,并将图像发送到宇宙魔方。读代码注释,看看我要做什么。在将数组作为铭牌导入上
导入cv2
导入类型服务
将matplotlib.pyplot作为血小板计数导入
img=cv2。im read((/home/muthu/documents/3r 9oq。jpg))
#将我的图像转换为灰度
gray=cv2.cvtcolor(img,cv2 .COLOR_BGR2GRAY)。
# performadaptivethresholdsothaticanextractpropertecoursfromtheimage
# needthistoextracthenamplatefromthemage。
thresh=cv2。自适应阈值(灰色,255,cv2 .自适应_阈值_高斯_C,cv2 .THRESH_BINARY,11,2)
contours,h=cv2.findContours(Thresh,1,2)))))))))))。
#一旦我有了轮廓列表,ineedtofthecontours形成矩形。
#轮廓可以近似为最小多边形,多边形大小四可能是矩形
maximum _ rectangle=[0,0 ]
对于轮廓中的cnt:
近似=cv2.approxpolydp(CNT,0.01 * cv2.arc长度(CNT,True),True))
如果len(近似值)==4:需要四个点的多边形数。
area=cv2.contourarea(CNT))。
ifarealargest _ rectangle [0]:
# findthepolygonhashelargestsize。
maximum _ rectangle=[cv2。轮廓面积,近似值]
x,y,w,h=cv2。边界矩形(maximum _ rectangle[1
# croptherectanglettogethenumberplate。
roi=img[y:y h,x:x w]
#cv2.drawcontours(img,[maximum _ rectangle[1]],0,((0,0,255),(-1)))))))
PLT.imshow(ROI,cmap=gray )。
plt.show())
输出为牌照,如下所示。
现在,将这个裁剪后的图像传递给马赛克。在
^{pr2}$
共享的样本图像的输出如下所示。在
如果将车牌图像的透视转换为边界框的矩形,然后删除周围多余的边界框,分析将更加准确。如果你也需要帮助的话请告诉我。在
上面的代码不适用于第二个图像。因为如果使用它的话,我们会过滤掉有四条边的多边形进行搜索。我希望你有这个想法。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。