#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Mar 21 12:42:15 2019@author: lg
"""import cv2
import numpy as np# 形态学处理
def Process(img):# 高斯平滑gaussian = cv2.GaussianBlur(img, (3, 3), 0, 0, cv2.BORDER_DEFAULT)# 中值滤波median = cv2.medianBlur(gaussian, 5)# Sobel算子# 梯度方向: xsobel = cv2.Sobel(median, cv2.CV_8U, 1, 0, ksize=3)# 二值化ret, binary = cv2.threshold(sobel, 170, 255, cv2.THRESH_BINARY)# 核函数element1 = cv2.getStructuringElement(cv2.MORPH_RECT, (9, 1))element2 = cv2.getStructuringElement(cv2.MORPH_RECT, (9, 7))# 膨胀dilation = cv2.dilate(binary, element2, iterations=1)# 腐蚀erosion = cv2.erode(dilation, element1, iterations=1)# 膨胀dilation2 = cv2.dilate(erosion, element2, iterations=3)return dilation2def GetRegion(img):regions = []# 查找轮廓contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)for contour in contours:area = cv2.contourArea(contour)if (area < 5000):continueeps = 1e-3 * cv2.arcLength(contour, True)approx = cv2.approxPolyDP(contour, eps, True)rect = cv2.minAreaRect(contour)box = cv2.boxPoints(rect)box = np.int0(box)height = abs(box[0][1] - box[2][1])width = abs(box[0][0] - box[2][0])ratio =float(width) / float(height)if (ratio < 5 and ratio > 1.8):regions.append(box)return regionsdef detect(img):# 灰度化gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)prc = Process(gray)regions = GetRegion(prc)print('[INFO]:Detect %d license plates' % len(regions))for box in regions:cv2.drawContours(img, [box], 0, (0, 255, 0), 2)cv2.imshow('Result', img)#保存结果文件名cv2.imwrite('result2.jpg', img)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == '__main__':#输入的参数为图片的路径img = cv2.imread('test2.png')detect(img)


opencv 车牌切割相关推荐

  1. PyTorch + openCV 车牌识别(一)

    PyTorch + openCV 车牌识别(一) 注意 利用cv识别车牌并切割字符 注意 本项目仅是初学者学习pytorch过程中随手写的,有些地方不够严谨请谅解,仅供参考 利用cv识别车牌并切割字符 ...

  2. opencv 车牌字符分割 ANN网络识别字符

    opencv 车牌字符分割 ANN网络识别字符   原文参考:https://www.cnblogs.com/chenzhefan/p/7629441.html 最近在复习OPENCV的知识,学习ca ...

  3. opencv车牌识别入门资料汇总

    使用OpenCV和C++实现的车牌识别系统. http://download.csdn.net/detail/u014743238/7204477 使用VC++6.0做开发工具, 采用简单的SDI框架 ...

  4. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)

    Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...

  5. 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...

  6. opencv视频切割工具

    opencv视频切割工具 编写了一个视频切割的小工具,可以传入待切割视频路径和切割后视频路径,通过画框选取想要切割的视频来实现视频切割 import cv2def cut_video(video_pa ...

  7. c# opencv车牌识别_opencv +数字识别

    现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别. 由于公司业务需要,需要开发一个客户端程序 ...

  8. Python 基于 opencv 车牌识别系统的研究与实现

    源码下载地址:https://download.csdn.net/download/gdutxiaoxu/87419195 原理简介 车牌字符识别使用的算法是opencv的SVM opencv的SVM ...

  9. 基于OpenCV车牌识别及轨迹跟踪

    系统总体设计 本系统主要由三个模块构成分别是:图像采集模块,车牌识别模块和轨迹处理模块. 因为实验条件限制,所以实验时采用一个摄像头拍多个不同时间段的视频,代替多个摄像头的拍摄效果.右图中小矩形框代表 ...

最新文章

  1. 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
  2. AI一周热闻:GitHub免费开放无限私有库;苹果市值蒸发超450亿美元;小米入股TCL...
  3. stl中的unique
  4. gulp自动添加版本号
  5. Asp.net2.0里访问Web.config的Section的示例
  6. scp上传服务器加特殊端口
  7. 处理字典值是把字典放内存还是用sql处理_第二周:MYSQL数据库入门,提升你的数据处理效率...
  8. Android版MrHuo工作室客户端开发心得(二)
  9. EIGRP分解试验部分-LAB1:EIGRP基本试验
  10. C++中关于指针入门的最好的文章
  11. JavaScript包管理器综述
  12. javaEE解决eclipse中不能设置tomcat8.5
  13. 物流管理系统需要的服务器,物流业务管理系统
  14. python的官网下载安装教程
  15. 数学-盲点题:九个点用四条直线连起来
  16. 冰点还原精灵如何安装
  17. 独立游戏开发(十七)-- 发布Taptap
  18. html div图片定位,css将div定位到图片上的固定位置
  19. 计算电话费练习【20171121】
  20. excel 根据某单元格的值设置整行颜色(条件格式)

热门文章

  1. 达夫设备(Duff‘s Device)
  2. 10-Flutter移动电商实战-使用FlutterSwiper制作轮播效果
  3. Redis介绍及部署在CentOS7上(一) 1
  4. HaProxy介绍,安装及配置
  5. Java集合框架源码解析之ArrayList
  6. Java中的进程与线程
  7. Swift 3.0 beta 6权限访问修改
  8. YII用户注冊和用户登录(五)之进行session和cookie分析 ,并在前后区分session和cookie...
  9. 快速安装及部署DRBD
  10. bash之流程控制for循环及bash命令退出和退出状态码