搜档网
当前位置:搜档网 › 车牌识别Python程序

车牌识别Python程序

车牌识别Python程序
车牌识别Python程序

. # -*- coding: utf-8 -*-

__author__ = 'd1bysj'

import pymysql

db = pymysql.connect(host = '', # 远程主机的ip地址,

user = '', # MySQL用户名

db = '', # database名

passwd = '', # 数据库密码

port = 3306, #数据库监听端口,默认3306

charset = "utf8") #指定utf8编码的连接

cur= db.cursor()

sql="select * from sex"

try:

cur.execute(sql)

re=cur.fetchall()

for it in re:

name = it[0]

num = it[1]

print(name,num)

except Exception as e:

raise e

. finally:

db.close()

import cv2

import numpy as np

from numpy.linalg import norm

import sys

import os

import json

SZ = 20 # 训练图片长宽

MAX_WIDTH = 1000 # 原始图片最大宽度

Min_Area = 2000 # 车牌区域允许最大面积

PROVINCE_START = 1000

# 读取图片文件

def imreadex(filename):

return cv2.imdecode(np.fromfile(filename, dtype=np.uint8), cv2.IMREAD_COLOR)

def point_limit(point):

if point[0] < 0:

point[0] = 0

if point[1] < 0:

point[1] = 0

# 根据设定的阈值和图片直方图,找出波峰,用于分隔字符def find_waves(threshold, histogram):

up_point = -1 # 上升点

is_peak = False

if histogram[0] > threshold:

up_point = 0

is_peak = True

wave_peaks = []

for i, x in enumerate(histogram):

if is_peak and x < threshold:

if i - up_point > 2:

is_peak = False

wave_peaks.append((up_point, i)) elif not is_peak and x >= threshold:

is_peak = True

up_point = i

if is_peak and up_point != -1 and i - up_point > 4:

wave_peaks.append((up_point, i))

return wave_peaks

# 根据找出的波峰,分隔图片,从而得到逐个字符图片

def seperate_card(img, waves):

part_cards = []

for wave in waves:

part_cards.append(img[:, wave[0]:wave[1]])

return part_cards

# 来自opencv的sample,用于svm训练

def deskew(img):

m = cv2.moments(img)

if abs(m['mu02']) < 1e-2:

return img.copy()

skew = m['mu11'] / m['mu02']

M = np.float32([[1, skew, -0.5 * SZ * skew], [0, 1, 0]])

img = cv2.warpAffine(img, M, (SZ, SZ), flags=cv2.WARP_INVERSE_MAP |

cv2.INTER_LINEAR)

return img

# 来自opencv的sample,用于svm训练

def preprocess_hog(digits):

samples = []

for img in digits:

gx = cv2.Sobel(img, cv2.CV_32F, 1, 0)

gy = cv2.Sobel(img, cv2.CV_32F, 0, 1)

mag, ang = cv2.cartToPolar(gx, gy)

bin_n = 16

bin = np.int32(bin_n * ang / (2 * np.pi))

bin_cells = bin[:10, :10], bin[10:, :10], bin[:10, 10:], bin[10:, 10:]

mag_cells = mag[:10, :10], mag[10:, :10], mag[:10, 10:], mag[10:, 10:]

hists = [np.bincount(b.ravel(), m.ravel(), bin_n) for b, m in zip(bin_cells, mag_cells)]

hist = np.hstack(hists)

# transform to Hellinger kernel

eps = 1e-7

hist /= hist.sum() + eps

hist = np.sqrt(hist)

hist /= norm(hist) + eps

samples.append(hist) return np.float32(samples)

# 不能保证包括所有省份provinces = [

"zh_cuan", "川",

"zh_e", "鄂",

"zh_gan", "赣",

"zh_gan1", "甘",

"zh_gui", "贵",

"zh_gui1", "桂",

"zh_hei", "黑",

"zh_hu", "沪",

"zh_ji", "冀",

"zh_jin", "津",

"zh_jing", "京",

"zh_jl", "吉",

"zh_liao", "辽",

"zh_lu", "鲁",

"zh_meng", "蒙",

"zh_min", "闽",

"zh_ning", "宁",

"zh_qing", "靑",

"zh_qiong", "琼",

"zh_shan", "陕",

"zh_su", "苏",

"zh_sx", "晋",

"zh_wan", "皖",

"zh_xiang", "湘",

"zh_xin", "新",

"zh_yu", "豫",

"zh_yu1", "渝",

"zh_yue", "粤",

"zh_yun", "云",

"zh_zang", "藏",

"zh_zhe", "浙"

]

class StatModel(object):

def load(self, fn):

self.model = self.model.load(fn)

def save(self, fn):

self.model.save(fn)

class SVM(StatModel):

def __init__(self, C=1, gamma=0.5):

self.model = cv2.ml.SVM_create()

self.model.setGamma(gamma)

self.model.setC(C)

self.model.setKernel(cv2.ml.SVM_RBF)

self.model.setType(cv2.ml.SVM_C_SVC)

# 训练svm

def train(self, samples, responses):

self.model.train(samples, cv2.ml.ROW_SAMPLE, responses)

# 字符识别

def predict(self, samples):

r = self.model.predict(samples)

return r[1].ravel()

class CardPredictor:

def __init__(self):

# 车牌识别的部分参数保存在js中,便于根据图片分辨率做调整

f = open('config.js')

j = json.load(f)

for c in j["config"]:

print(c)

if c["open"]:

self.cfg = c.copy()

break

else:

raise RuntimeError('没有设置有效配置参数')

def __del__(self):

self.save_traindata()

def train_svm(self):

# 识别英文字母和数字

self.model = SVM(C=1, gamma=0.5)

# 识别中文

self.modelchinese = SVM(C=1, gamma=0.5)

if os.path.exists("svm.dat"):

self.model.load("svm.dat")

else:

chars_train = []

chars_label = []

for root, dirs, files in os.walk("train\\chars2"):

if len(os.path.basename(root)) > 1:

continue

root_int = ord(os.path.basename(root))

for filename in files:

filepath = os.path.join(root, filename)

digit_img = cv2.imread(filepath)

digit_img = cv2.cvtColor(digit_img, cv2.COLOR_BGR2GRAY)

chars_train.append(digit_img)

# chars_label.append(1)

chars_label.append(root_int)

chars_train = list(map(deskew, chars_train))

chars_train = preprocess_hog(chars_train)

# chars_train = chars_train.reshape(-1, 20, 20).astype(np.float32)

chars_label = np.array(chars_label)

print(chars_train.shape)

self.model.train(chars_train, chars_label)

if os.path.exists("svmchinese.dat"):

self.modelchinese.load("svmchinese.dat")

else:

chars_train = []

chars_label = []

for root, dirs, files in os.walk("train\\charsChinese"):

if not os.path.basename(root).startswith("zh_"):

continue

pinyin = os.path.basename(root)

index = provinces.index(pinyin) + PROVINCE_START + 1 # 1是拼音对应的汉字

for filename in files:

filepath = os.path.join(root, filename)

digit_img = cv2.imread(filepath)

digit_img = cv2.cvtColor(digit_img, cv2.COLOR_BGR2GRAY)

chars_train.append(digit_img)

# chars_label.append(1)

chars_label.append(index)

chars_train = list(map(deskew, chars_train))

chars_train = preprocess_hog(chars_train)

# chars_train = chars_train.reshape(-1, 20, 20).astype(np.float32)

chars_label = np.array(chars_label)

print(chars_train.shape)

self.modelchinese.train(chars_train, chars_label)

def save_traindata(self):

if not os.path.exists("svm.dat"):

self.model.save("svm.dat")

if not os.path.exists("svmchinese.dat"):

self.modelchinese.save("svmchinese.dat")

def accurate_place(self, card_img_hsv, limit1, limit2, color):

row_num, col_num = card_img_hsv.shape[:2]

xl = col_num

xr = 0

yh = 0

yl = row_num

# col_num_limit = self.cfg["col_num_limit"]

row_num_limit = self.cfg["row_num_limit"]

col_num_limit = col_num * 0.8 if color != "green" else col_num * 0.5 # 绿

色有渐变

for i in range(row_num):

count = 0

for j in range(col_num):

H = card_img_hsv.item(i, j, 0)

S = card_img_hsv.item(i, j, 1)

V = card_img_hsv.item(i, j, 2)

if limit1 < H <= limit2 and 34 < S and 46 < V:

count += 1

if count > col_num_limit:

if yl > i:

yl = i

if yh < i:

yh = i

for j in range(col_num):

count = 0

for i in range(row_num):

H = card_img_hsv.item(i, j, 0)

S = card_img_hsv.item(i, j, 1)

V = card_img_hsv.item(i, j, 2)

if limit1 < H <= limit2 and 34 < S and 46 < V:

count += 1

if count > row_num - row_num_limit:

if xl > j:

xl = j

if xr < j:

xr = j

return xl, xr, yh, yl

def predict(self, car_pic):

if type(car_pic) == type(""):

img = imreadex(car_pic)

else:

img = car_pic

pic_hight, pic_width = img.shape[:2]

if pic_width > MAX_WIDTH:

resize_rate = MAX_WIDTH / pic_width

img = cv2.resize(img, (MAX_WIDTH, int(pic_hight * resize_rate)), interpolation=cv2.INTER_AREA)

blur = self.cfg["blur"]

# 高斯去噪

if blur > 0:

img = cv2.GaussianBlur(img, (blur, blur), 0) # 图片分辨率调整oldimg = img

img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# equ = cv2.equalizeHist(img)

# img = np.hstack((img, equ))

# 去掉图像中不会是车牌的区域

kernel = np.ones((20, 20), np.uint8)

img_opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

img_opening = cv2.addWeighted(img, 1, img_opening, -1, 0);

# 找到图像边缘

ret, img_thresh = cv2.threshold(img_opening, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

img_edge = cv2.Canny(img_thresh, 100, 200)

# 使用开运算和闭运算让图像边缘成为一个整体

kernel = np.ones((self.cfg["morphologyr"], self.cfg["morphologyc"]), np.uint8)

img_edge1 = cv2.morphologyEx(img_edge, cv2.MORPH_CLOSE, kernel)

img_edge2 = cv2.morphologyEx(img_edge1, cv2.MORPH_OPEN, kernel)

# 查找图像边缘整体形成的矩形区域,可能有很多,车牌就在其中一个矩形区域中

image, contours, hierarchy = cv2.findContours(img_edge2, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

contours = [cnt for cnt in contours if cv2.contourArea(cnt) > Min_Area]

print('len(contours)', len(contours))

# 一一排除不是车牌的矩形区域

car_contours = []

for cnt in contours:

rect = cv2.minAreaRect(cnt)

area_width, area_height = rect[1]

if area_width < area_height:

area_width, area_height = area_height, area_width

wh_ratio = area_width / area_height

# print(wh_ratio)

# 要求矩形区域长宽比在2到5.5之间,2到5.5是车牌的长宽比,其余的矩形排除

if wh_ratio > 2 and wh_ratio < 5.5:

car_contours.append(rect)

box = cv2.boxPoints(rect)

box = np.int0(box)

# oldimg = cv2.drawContours(oldimg, [box], 0, (0, 0, 255), 2)

# cv2.imshow("edge4", oldimg)

# print(rect)

print(len(car_contours))

print("精确定位")

card_imgs = []

# 矩形区域可能是倾斜的矩形,需要矫正,以便使用颜色定位

for rect in car_contours:

if rect[2] > -1 and rect[2] < 1: # 创造角度,使得左、高、右、低拿到正确的值

angle = 1

else:

angle = rect[2]

rect = (rect[0], (rect[1][0] + 5, rect[1][1] + 5), angle) # 扩大范围,避免车牌边缘被排除

box = cv2.boxPoints(rect)

heigth_point = right_point = [0, 0]

left_point = low_point = [pic_width, pic_hight]

for point in box:

if left_point[0] > point[0]:

left_point = point

if low_point[1] > point[1]:

low_point = point

if heigth_point[1] < point[1]:

heigth_point = point

if right_point[0] < point[0]:

right_point = point

if left_point[1] <= right_point[1]: # 正角度

new_right_point = [right_point[0], heigth_point[1]]

pts2 = np.float32([left_point, heigth_point, new_right_point]) # 字符只是高度需要改变

pts1 = np.float32([left_point, heigth_point, right_point])

M = cv2.getAffineTransform(pts1, pts2)

dst = cv2.warpAffine(oldimg, M, (pic_width, pic_hight))

point_limit(new_right_point)

point_limit(heigth_point)

point_limit(left_point)

card_img = dst[int(left_point[1]):int(heigth_point[1]), int(left_point[0]):int(new_right_point[0])]

card_imgs.append(card_img)

# cv2.imshow("card", card_img)

# cv2.waitKey(0)

elif left_point[1] > right_point[1]: # 负角度

new_left_point = [left_point[0], heigth_point[1]]

pts2 = np.float32([new_left_point, heigth_point, right_point]) # 字符只是高度需要改变

pts1 = np.float32([left_point, heigth_point, right_point])

M = cv2.getAffineTransform(pts1, pts2)

dst = cv2.warpAffine(oldimg, M, (pic_width, pic_hight))

point_limit(right_point)

point_limit(heigth_point)

point_limit(new_left_point)

card_img = dst[int(right_point[1]):int(heigth_point[1]), int(new_left_point[0]):int(right_point[0])]

card_imgs.append(card_img)

# cv2.imshow("card", card_img)

# cv2.waitKey(0)

# 开始使用颜色定位,排除不是车牌的矩形,目前只识别蓝、绿、黄车牌

colors = []

for card_index, card_img in enumerate(card_imgs):

green = yello = blue = black = white = 0

card_img_hsv = cv2.cvtColor(card_img, cv2.COLOR_BGR2HSV)

# 有转换失败的可能,原因来自于上面矫正矩形出错

if card_img_hsv is None:

continue

row_num, col_num = card_img_hsv.shape[:2]

card_img_count = row_num * col_num

for i in range(row_num):

for j in range(col_num):

H = card_img_hsv.item(i, j, 0)

S = card_img_hsv.item(i, j, 1)

V = card_img_hsv.item(i, j, 2)

if 11 < H <= 34 and S > 34: # 图片分辨率调整

yello += 1

elif 35 < H <= 99 and S > 34: # 图片分辨率调整

green += 1

elif 99 < H <= 124 and S > 34: # 图片分辨率调整blue += 1

if 0 < H < 180 and 0 < S < 255 and 0 < V < 46:

black += 1

elif 0 < H < 180 and 0 < S < 43 and 221 < V < 225: white += 1

color = "no"

交通道路标志牌检测与识别综述.

交通道路标志牌检测与识别综述 一、背景综述 随着社会科技不断发展和进步,车辆已经普及到国内大部分家庭。汽车的普及极大方便了人们的出行、生活和工作,同时也不可避免的产生了很多的交通问题。据公安部交通管理局统计,2014年1月至10月,全国共发生道路交通事故426378起,造成87218人死亡、391752人受伤,直接财产损失20.2亿元。交通安全问题成为人们日常生活中最常见的问题之一,受到了政府、科研机构以及汽车生产厂家的高度重视。 解决交通安全问题的途径之一是准确、有效地设立道路交通标志,为驾驶员提供丰富的禁令、警告、指示等信息,从而起到减少交通事故的作用。为了确保交通标志的信息能够及时、准确地传达,交通标志自动识别系统(Traffic Sign Recognition,TSR)受到了各国学者的关注,其主要功能表现在以下几个方面: (1)用于驾驶辅助。交通标志识别的概念最早就是作为驾驶辅助工具被提出的。TSR系统在识别出交通标志后,可对驾驶员进行语音或视频等方式的提醒,甚至可以在必要的时候对车辆驾驶系统直接做出控制,从而确保驾驶安全。 (2)用于交通标志维护。由于交通标志通常放置于室外环境中,受自然环境(如风吹雨淋)及人为因素(如涂抹)影响,难免出现褪色、变形甚至坠落失踪现象,需要进行定期检查维护。通常,这一工作需安排专人专岗,工作量巨大且很难保证实时性和准确性。显然,一个有效的TSR系统是完成这一工作的理想方案。 (3)用于无人驾驶技术。无人驾驶汽车在近年来受到了越来越多的关注。从上世纪90年代起,国内外相继研发出了一系列无人驾驶汽车,其智能化逐渐提高,能够自动规划路线,避让障碍物等。使无人驾驶汽车具备辨认交通标志的能力显然是使其实用化的一个重要步骤。 TSR在计算机领域中是一个非常重要的分支研究领域,而图像检测以及处理是其主要手段,这是一个难度比较大的实景图形识别问题。在车载视觉系统中,如何有效地识别道路交通标志是一个非常重要的研究课题。 TSR包括三个重要模块:图像复原、标志检测、标志分类。交通标志的外观

车牌识别论文

《车牌识别系统》 车牌识别系统 摘要:文章从车牌定位、车牌字符分割和车牌字符识别 3个阶段对车牌识别技术进行了深入研究,并用MATLAB进行了仿真。 关键词:车牌识别,车牌定位,车牌字符分割 1 引言

车牌是一辆汽车独一无二的信息,因此,对车辆牌照的识别技术可以作为辨识一辆车最为有效的方法。随着 ITS(智能交通系统)的高速发展,对车牌识别技术的研究也随之发展。从根本上讲,牌照识别应用了先进的图像处理,模式识别,人工智能技术来获取,处理,解释,记录拍照的图像。目前,牌照识别技术已经广泛而成功的应用于高速公路的监测,电子收费,交通违规管理,安全停车管理,偷盗车辆辨识等重要领域。 车牌识别系统一般包括以下几个部分,见图1。 图1 车牌识别系统 主要研究内容如下: 1.车牌的定位研究。先进行图像的预处理,包括:RGB彩色图像的灰度化、图像灰度拉伸、图像边缘检测、灰度图的二值化等;车牌定位采用基于水平和垂直投影分布特征的方法。 2.字符分割的研究。先对定位后的车牌图像进行预处理,然后按照车牌的先验信息,用区域增长算法来确定候选车牌的字符区域。 3.字符识别的研究。对于提取出的单个字符,先进行归一化操作,再与给定的模板做对比,识别出字符。 2. 图像的定位 2.1 图像的预处理 一般情况下,由CCD采集到的图像会有不理想的情况,如光线过强,或者偏弱,这些都会对后续的图像处理产生一向。而且车牌位于车身下部,靠近散热片,对比度较差,此时若直接对灰度图像进行定位会有不小的困难,为了获得较好处理的灰度图像,在对CCD 采集的原始图像进行灰度化后,要对其灰度转换。 首先对图像灰度拉伸,使灰度级占据 0--255整个区域,这样做的目的是为了减少光线过强,或者偏弱时造成的灰度级过少.本文直接采用直方图均衡化,这样处理简单,运算量小,效果也较理想。 2.2 边缘提取

[参考实用]车牌识别论文

《车牌识别系统》 学院:外语学院 专业:英语+软件工程091 姓名:张晨曦 学号:0918110121 车牌识别系统 摘要:文章从车牌定位、车牌字符分割和车牌字符识别3个阶段对车牌识别技术进行了深入研究,并用MATLAB进行了仿真。 关键词:车牌识别,车牌定位,车牌字符分割 1引言 车牌是一辆汽车独一无二的信息,因此,对车辆牌照的识别技术可以作为辨识一辆车最为有效的方法。随着ITS(智能交通系统)的高速发展,对车牌识别技术的研究也随之发展。从根本上讲,牌照识别应用了先进的图像处理,模式识别,人工智能技术来获取,处理,解释,记录拍照的图像。目前,牌照识别技术已经广泛而成功的应用于高速公路的监测,电子收费,交通违规管理,安全停车管理,偷盗车辆辨识等重要领域。 车牌识别系统一般包括以下几个部分,见图1。 图1车牌识别系统 主要研究内容如下: 1.车牌的定位研究。先进行图像的预处理,包括:RGB彩色图像的灰度化、图像灰度拉伸、图像边缘检测、灰度图的二值化等;车牌定位采用基于水平和垂直投影分布特征的方法。 2.字符分割的研究。先对定位后的车牌图像进行预处理,然后按照车牌的先验信息,用区域增长算法来确定候选车牌的字符区域。 3.字符识别的研究。对于提取出的单个字符,先进行归一化操作,再与给定的模板做对

比,识别出字符。 2.图像的定位 2.1图像的预处理 一般情况下,由CCD采集到的图像会有不理想的情况,如光线过强,或者偏弱,这些都会对后续的图像处理产生一向。而且车牌位于车身下部,靠近散热片,对比度较差,此时若直接对灰度图像进行定位会有不小的困难,为了获得较好处理的灰度图像,在对CCD采集的原始图像进行灰度化后,要对其灰度转换。 首先对图像灰度拉伸,使灰度级占据0--255整个区域,这样做的目的是为了减少光线过强,或者偏弱时造成的灰度级过少.本文直接采用直方图均衡化,这样处理简单,运算量小,效果也较理想。 2.2边缘提取 对图像进行边缘提取,边缘提取的最大好处就是能够突出边缘区域,同时使背景图像中无关的部分暗淡。由于车牌部分是边缘相对集中的区域,在对其边缘分割后,可以看到车牌部分很明显的突现出来。实现方法中,我们采用了水平差分算法,它利用图像后一列像素减去前一列像素,从而得到边缘图像。再对所得的图像二值化处理。实验结果如图1所示 图1边缘提取后的图像 由图可见,图像经过差分二值后,车牌区域明显可见。 2.2车牌边界的确定 由于车牌一般是由字符、背景和边框组成,提取图像的边缘图像后,在字符与背景处就形成了较强的边缘。再考虑汽车本身的特点,通常车牌位于汽车缓冲器上或附近,靠近整幅图像的下部,在往下便是路面,路面一般是比较光滑,因此可以在边缘提取时就很有效的将这部分杂质滤除掉,而使干扰图像的噪声处于车牌之上,如车灯,或散热片。由此,我们采用由下而上的扫描的方法。首先,对边缘图像的象素沿水平方向累加产生一个投影

认识交通标志-教案(新)

认识交通标志教案 一教学目标: 1.知识:通过活动认识各种交通标志及分类和用处 2.技能:识别交通标志并知道它的用处 3.情感:使学生受到交通安全知识的教育,增强安全意识 二教学重点:识别常见的交通标志知道它的用处 三教学重点:能识别各种交通标志,自觉遵守交通规则 四教学准备:课件,各种交通标志牌 五教学过程: 1导入: 师:同学们,在上课之前老师想给大家叫一个故事,故事的名字是《小明的“痛”》。家住南华路的小明是某学校四年级的学生,每周日小明都要去马路对面的奶奶家玩,这天小明照例高高兴兴地往奶奶家去,为了节省时间小明决定走离家比较近的一条非机动车地下通道,由于走得匆忙,并没看清树在通道口的一块标志牌,结果在行走途中被迎面而来的自行车撞倒了,由于车速过快,造成小明右脚骨折,身上多处擦伤,他将离开小伙伴们至少一个月的时间,多么惨痛的教训啊! 同学们,你认识这个标志牌吗?(指向禁止行人通行标志)听了这个故事你有什么感想呢?(学生交流)

师:是啊,为了我们的人生安全,我们必须严格遵守交通规则,而要遵守交通规则首先得认识道路上的各种交通标志,今天我们就要来学习和认识交通标志。 2新授: ①师:(出示9张交通标志图)你认识它们吗?在哪里见过它们?(可以告诉我你认识第几排第几个) 还有哪些是你不认识的吗?(学生提出疑问) ②师:让我们一起来认识这些交通标志(一一讲解) ③师:同学们,这些交通标志你都记住了吗?接下来我就要来考考大家的记忆力,我们来个“交通标志大比拼”。 在班级比赛之前将在每个小队中进行一个选拔赛,请小队长负责组织组员进行记忆大考验,可以是手举标志牌,让学生说意思,也可以说意思让同学举标牌,每队选出一个优胜者参加班级比赛,听明白了吗?开始!(小组讨论) 师:准备好了吗?要求:听清楚老师的题目,其他组员不可以提醒,每答对一题,这个小队将贴上一个“交通小卫士”,比赛正式开始!(在这一轮中,某某小队优胜) ④师:大家的记忆力真棒,这些标志真是难不倒大家。 你能发现这些标志有什么特点吗? (学生交流:形状颜色图案不同) 以小组为单位,我们来找找它们的规律,来分分类吧!(标志牌在桌上展开,相同类的并排放一起)

(完整版)基于数字图像处理的车牌识别本科毕业论文

本科生毕业论文(设计) 题目: 基于数字图像处理的车牌识别设 计 姓 名: 周金鑫 学 院: 数理与信息工程学院 专 业: 电子信息工程 班 级: 111 学

号: 指导教师: 刘纯利职称: 教授 2014 年 12 月 24 日 安徽科技学院教务处制 目录 摘要 ....................................................................关键词 .................................................................. 1、设计目的 ............................................................. 2、设计原理: ............................................................ 3、设计步骤: ............................................................ 4、实行方案 ............................................................. 4.1. 总体实行方案:................................................... 4.2. 各模块的实现:................................................... 4.2.1输入待处理的原始图像: ....................................... 4.2.2图像的灰度化并绘制直方图: ...................................

道路交通标志(大全图)

直行向左转弯向右转弯直行和向左转弯 表示只准一切车辆直行。此标志设在直行的路口以前适当位置。表示只准一切车辆向左转弯。此标志设在车辆必须向左转弯的路口以前适当位 置。 表示只准一切车辆向右 转弯。 此标志设在车辆必 须向右转弯的路口以前 适当位置。 表示只准一切车辆直行和 向左转弯。此标志设在车 辆必须直行和向左转弯的 路口以前适当位置。 直行和向右转弯向左和向右转弯靠右侧道路行驶靠左侧道路行驶 表示只准一切车辆直行和 向右转弯。此标志设在车辆 必须直行和向右转弯)的路 口以前适当位置。 表示只准一切车辆向左和向 右转弯。此标志设在车辆必 须向左和向右转弯的路口以 前适当位置。 表示只准一切车辆靠右 侧道路行驶。此标志设在 车辆必须靠右侧行驶的 路口以前适当位置。 表示只准一切车辆靠左 侧)道路行驶。此标志设 在车辆必须靠左侧行驶的 路口以前适当位置。 立交直行和左转弯行驶立交直行和右转弯行驶环岛行驶步行 表示车辆在立交处可以直 行和按图示路线左转弯行 驶。此标志设在立交左转弯 出口处适当位置。 表示车辆在立交处可以直行 和按图示路线右转弯行驶。 此标志设在立交右转弯出口 处适当位置。 表示只准车辆靠右环行。 此标志设在环岛面向路 口来车方向适当位置。 表示该街道只供步行。此 标志设在步行街的两端。 鸣喇叭最低限速单行路向左或向右单行路直行 表示机动车行至该标志处 必须鸣喇叭。此标志设在公 路的急转弯处、陡坡等视线 不良路段的起点。 表示机动车驶入前方道路之 最低时速限制。此标志设在 高速公路或其他道路限速路 段的起点。 表示一切车辆向左或向 右单向行驶。 此标志设在 单行路的路口和入口处 的适当位置。 表示一切车辆单向行驶。 此标志设在单行路的路口 和入口处的适当位置。

汽车车牌识别系统-车牌定位子系统的设计与实现 毕业论文

汽车车牌识别系统 ---车牌定位子系统的设计与实现 摘要 汽车车牌识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。在车牌自动识别系统中,首先要将车牌从所获取的图像中分割出来实现车牌定位,这是进行车牌字符识别的重要步骤,定位的准确与否直接影响车牌识别率。 本次毕业设计首先对车牌识别系统的现状和已有的技术进行了深入的研究,在此基础上设计并开发了一个基于MATLAB的车牌定位系统,通过编写MATLAB文件,对各种车辆图像处理方法进行分析、比较,最终确定了车牌预处理、车牌粗定位和精定位的方法。本次设计采取的是基于微分的边缘检测,先从经过边缘提取后的车辆图像中提取车牌特征,进行分析处理,从而初步定出车牌的区域,再利用车牌的先验知识和分布特征对车牌区域二值化图像进行处理,从而得到车牌的精确区域,并且取得了较好的定位结果。 关键词:图像采集,图像预处理,边缘检测,二值化,车牌定位

ENGLISH SUBJECT ABSTRACT The subject of the auto matic recognition of license plate is one of the most significant subjects that are improved fro m the connection o f computer vision and pattern recognition. In LPSR, the first step is for locating the license plate in the captured image which is very important for character recognition. The recognition correctio n rate of license plate is governed by accurate degree of license plate location. Firstly, the paper gives a deep research on the status and techniq ue of the plate license recognition system. On the basis of research, a solution of plate license recognition system is proposed through the software MATLAB,by the M-files several of methods in image manip ulatio n are co mpared and analyzed. The methods based on edge map and das differential analysis is used in the process of the localization of the license plate,extracting the characteristics of the license plate in the car images after being checked up for the edge, and then analyzing and processing until the probably area of license p late is extracted,then come out the resolutions for localization of the car plate. KEY WORDS:imageacquisition,image preprocessing,edge detection,binarizatio n,licence,license plate locatio n

路面面层及交通标志施工方案

1.编制依据及原则 2. 施工条件 3.施工组织管理 4.路面施工方案 5.交通标志施工方案 6.质量标准及要求 7.质量保证体系 8.安全保证体系及措施 9.环境保护与文明施工措施 白沙镇太石公路改造程

路面面层及交通标志施工方案 、编制依据及要求 1、编制依据 (1) 施工图设计及其技术规范、合同文件等的要求; (2) 国家和地方有关工程建设的质量标准、施工规范和试验检测规范; (3) 我公司以往施工类似工程的经验及现有的技术力量; (4) 我公司已有的及租赁的施工、监测设备并资金状况; (5) 交通部《公路工程技术标准》 交通部《公路水泥混凝土路面设计规范》 (JTG D40-2003) 交通部《公路桥涵地基与基础设计规范》 ( JTG D63-2007) 10)交通部《公路勘测规范》 ( JTG C10-2007) 2、质量目标和相关要求 针对本工程的特点及我公司的质量方针“精心施工、科技领先、持续改进、 优质高效”;质量目标“工程合同 100%履约、单位工程 100%优良、顾客意愿 100% 追求”,并为国家公路建设质量方针“创建精品” 、“优质、生态、环保、绿色” 。 特制定了我公司的建设质量目标:总体质量达到国优, “单位工程优良率 100%、 分部工程优良率 100%;分项工程合格率 100%、优良率 95%,资料正确率 100%、 资料完好率 95%,环保、绿色满意率 100%”。 二、施工条件 1 、设计提供的方位测量基准点和高程测量基准点位置。 2、施工现场临时设施的布置详见总平面布置图。 3、施工用电现场振捣、照明采用两台15KW 柴油发动机,一台备用;砼拌和场采用电网供 电,安装一台100KV 变压器,考虑电网临时停电,现场准备一台 30KW 柴油发动机。 3、施工用水采用水车运输至施工现场。 三、施工组织管理 一)、项目组织体系。 交通部《公路路线设计规范》 JTG D20-2006) 交通部《公路路基设计规范》 JTG D30-2004) JTG B01-2003)

车辆牌照图像识别算法研究与实现本科毕设论文

Q260046902 专业做论文 西南科技大学 毕业设计(论文)题目名称:车辆牌照图像识别算法研究与实现

车辆牌照图像识别算法研究与实现 摘要:近年来随着国民经济的蓬勃发展,国内高速公路、城市道路、停车场建设越来越多,对交通控制、安全管理的要求也日益提高。因此,汽车牌照识别技术在公共安全及交通管理中具有特别重要的实际应用意义。本文对车牌识别系统中的车牌定位、字符分割和字符识别进行了初步研究。对车牌定位,本文采用投影法对车牌进行定位;在字符分割方面,本文使用阈值规则进行字符分割;针对车牌图像中数字字符识别的问题,本文采用了基于BP神经网络的识别方法。在学习并掌握了数字图像处理和模式识别的一些基本原理后,使用VC++6.0软件利用以上原理针对车牌识别任务进行编程。实现了对车牌的定位和车牌中数字字符的识别。 关键词:车牌定位;字符分割;BP神经网络;车牌识别;VC++

Research and Realization of License Plate Recognition Algorithm Abstract:In recent years, with the vigorous development of the national economy,there are more and more construct in the domestic expressway, urban road, and parking area. The requisition on the traffic control, safety management improves day by day. Therefore, license plate recognition technology has the particularly important practical application value in the public security and the traffic control. In the paper, a preliminary research was made on the license location, characters segment and characters recognition of the license plate recognition. On the license location,the projection was used to locate the license plate; On the characters segmentation, the liminal rule was used to divide the characters; In order to solve the problem of the digital characters recognition in the plate, BP nerve network was used to recognize the digital characters. After studying and mastering some basic principles of the digital image processing and pattern recognition, the task of license plate recognition was programmed with VC++ 6.0 using above principles. The license location and the digital characters recognition in the license plate were implemented. Keywords: license location, characters segmentation, BP nerve network, license plate recognition, VC++

交通标志识别

指示标志 直行向左转弯向右转弯直行和向左转弯 表示只准一切车辆直行。此标志设在直行的路口以前适当位置。表示只准一切车辆向左转 弯。此标志设在车辆必须 向左转弯的路口以前适当 位置。 表示只准一切车辆向右转 弯。此标志设在车辆必须 向右转弯的路口以前适当 位置。 表示只准一切车辆直行和 向左转弯。此标志设在车 辆必须直行和向左转弯的 路口以前适当位置。 直行和向右转弯向左和向右转弯靠右侧道路行驶靠左侧道路行驶 表示只准一切车辆直行和向右转弯。此标志设在车辆必须直行和向右转弯)的路口以前适当位置。表示只准一切车辆向左和 向右转弯。此标志设在车 辆必须向左和向右转弯的 路口以前适当位置。 表示只准一切车辆靠右侧 道路行驶。此标志设在车 辆必须靠右侧行驶的路口 以前适当位置。 表示只准一切车辆靠左 侧)道路行驶。此标志设 在车辆必须靠左侧行驶的 路口以前适当位置。 立交直行和左转弯行驶立交直行和右转弯行驶环岛行驶步行 表示车辆在立交处可以直行和按图示路线左转弯行驶。此标志设在立交左转弯出口处适当位置。表示车辆在立交处可以直 行和按图示路线右转弯行 驶。此标志设在立交右转 弯出口处适当位置。 表示只准车辆靠右环行。 此标志设在环岛面向路口 来车方向适当位置。 表示该街道只供步行。此 标志设在步行街的两端。 鸣喇叭最低限速单行路向左或向右单行路直行 表示机动车行至该标志处必须鸣喇叭。此标志设在公路的急转弯处、陡坡等视线不良路段的起点。表示机动车驶入前方道路 之最低时速限制。此标志 设在高速公路或其他道路 限速路段的起点。 表示一切车辆向左或向右 单向行驶。此标志设在单 行路的路口和入口处的适 当位置。 表示一切车辆单向行驶。 此标志设在单行路的路口 和入口处的适当位置。

毕业设计论文_车牌识别系统的设计与实现参考

车牌识别系统的设计与实现 摘要 车牌识别系统是智能交通系统的重要组成部分,有着广泛的应用,同时也是计算机视觉、图像处理和模式识别等交叉学科的研究热点。车牌识别系统广泛应用于高速公路自动收费和超速监管系统、公路流量监控系统、停车场收费管理系统、安防系统以及小区物业管理系统等等。 本文在VC++6.0平台下,结合OpenCV视觉库,开发了车牌识别系统。车牌识别系统分为五大组成部分:图像预处理、车牌定位、车牌倾斜校正、字符分割和字符识别。 本系统能够对输入的图像进行图像预处理,包括图像灰度化、图像滤波、边缘检测和二值化等;其次,通过使用数学形态学技术和车牌的高宽比固有特征从预处理后的图像中定位出车牌位置,并把车牌提取出来;再次,使用Hough 变换方法测出倾斜角,对车牌进行有效的旋转校正;通过水平投影去除车牌的上下边框,使用垂直投影法把字符一个个分割出来;最后,通过模板匹配法识别车牌字符并输出。实验结果表明,车牌定位的准确率为87.9%,车牌字符的正确识别率为72.6%。 关键词:车牌定位,数学形态学,Hough 变换,倾斜校正,投影

Design and Implementation of License Plate Recognition System Abstract License plate recognition system is an important part of intelligent transportation system and it has a wide range of applications. It is a hot spot of research in computer vision, image processing and pattern recognition. License plate recognition system is widely applied in the highway automatic charging and speed regulation system, highway traffic monitoring system, parking fee management system, security system and the residential property management system, etc. This system is developed in VC++6.0 platform and computer vision library OpenCV. License plate recognition system designed is mainly divided into five parts: image preprocessing, license plate orientation, license plate tilt correction, character segmentation and character recognition. This system can perform the image pretreatment to the input image, including the image gray level, the image filtering, edge detection and binarization and so on. Secondly, by using the technology of mathematical morphology and the plate inherent characteristics of aspect ratio to position license plate location in the image after pretreatment, and extract the license plate. Thirdly, Hough Transform method is used to measure the angle and effective rotation correction the license

道路交通标志的安装与识别

道路交通标志的安装与识别 摘要:经济的快速发展,给道路交通带来了巨大的压力。为缓解交通拥挤,减少交通事故,构建智能交通系统,我们工作人员加强了对于道路交通标志的安装与识别的能力。文章对新时期道路交通标志标志的识别系统以及一些交通标志安装技术进行了简单的介绍,仅供参考。 关键词:道路交通;识别;标志;智能;方法 引言: 在我国的智能交通系统技技术与国外发达国家相比还存在一定差距。本文结合笔者自身工作经验,从智能交通系统的重要子系统—道路交通标志识别系统出发,介绍了道路交通标志的基本知识,分析了道路交通标志的安装技技术与识别原理,阐述了道路交通标志识别的方法。 一、道路交通标志识别系统 在智能交通系统的研究中,以道路交通标志的检测与识别为代表的智能交通计量是一项重要内容。道路交通标志识别(Traffic signs Recognition,简称TSR )已经成为智能交通系统相关技术研究的热点问题。 道路交通标志识别系统的工作流程如下:对识别系统覆盖下的机动车辆按照摄像机,准确及时的摄取周围环境状况,并将拍摄的照片传送到道路交通标志识别系统,经过系统的图像处理环节,对车辆拍摄的照片进行解析和处理,进行道路交通标志的识别,并输出识别结果给现场的车辆驾驶员,起到提示作用,以缓解交通压力、增强道路交通安全。 二、道路交通标志简介 智能交通系统集检测、通讯、控制、计量、计算机信息等技术于一体,是一个综合性应用系统。如上文所述,利用计算机控制的视觉系统信息采集是智能交通系统发挥作用的重要环节,道路交通标志作为提示、告警标志,本身包含了重要的交通信息。因此,熟悉和了解基本的道路交通安全标志,是进行道路交通标志识别的基础。 道路交通标志对大部分人并不陌生,它是与日常生活息息相关的一种起到指示、提示和警示作用的标志。路标的设置不仅要考虑人眼的对比度和识别程度,还要考虑使用特定颜色来表 达抽象概念。考虑到图形符号在辨认速度和距离上优于文字信息,道路交通标志集合了各类图形、符号、颜色与少量文本,分别用来表达特定的环境条件,以提醒驾驶员和行人根据路况作出判断。另外,人眼的辨识力受到交通标志的尺寸、间隔、观察距离影响,因

常见交通标志标线辨识教学教案

常见交通标志、标线和交警手势辨识教学教案

附: 交通标志:指示标志(蓝色)、指路标志(蓝、绿色)、 警告标志(黄色)、禁令标志(红色)、 旅游标志(褐色)、辅助标志(黑白色)道路施工安全标志。 (1)蓝色:指示标志,指示方向、路线。 直行 向左转弯 向右转弯 直行和向左转弯 表示只准一切车辆直行。此标志设在直行的路口以前适当位置。 表示只准一切车辆向左转弯。此标志设在车辆必须向左转弯的路口以前 适当位置。 表示只准一切车辆向右转弯。此标志设在车辆必须向右转弯的路口以前适当位置。 表示只准一切车辆直行和向左转弯。此标志设在车辆必须直行和向左转弯的路口以前适当位置。 直行和向右转弯 向左和向右转弯 靠右侧道路行驶 靠左侧道路行驶 表示只准一切车辆直行和向右转弯。此标志设在车辆必须直行和向右转弯)的路口以前适当位置。 表示只准一切车辆向左和向右转弯。此标志设在车辆必须向左和向右转弯的路口以前适当位置。 表示只准一切车辆靠右侧道路行驶。此标志设在车辆必须靠右侧行驶的路口以前适当 位置。 表示只准一切车辆靠左侧)道路行驶。此标志设在车辆必须靠左侧行驶的路口以前适当位置。 立交直行和左转弯行驶 立交直行和右转弯行驶 环岛行驶 步行 表示车辆在立交处可以直行和按图示路线左转弯行驶。此标志设在立交左转弯出口处适当位置。 表示车辆在立交处可以直行和按图示路线右转弯行驶。此标志设在立交右转弯出口处适当位置。 表示只准车辆靠右环行。此标志设在环岛面向路口来车方向适当位置。 表示该街道只供步行。此标志设在步行街的两端。

鸣喇叭 最低限速 单行路向左或向右 单行路 直行 表示机动车行至该标志处必须鸣喇叭。此标志设在公路的急转弯处、陡坡等视线不良路段的起点。 表示机动车驶入前方道路之最低时速限制。此标志设在高速公路或其他道路限速路段的起点。 表示一切车辆向左或向右单向行驶。此标志设在单行路的路口和入口处的适当位置。 表示一切车辆单向行驶。此标志设在单行路的路口和入口处的适当位置。 干路先行 会车先行 人行横道 右转车道 表示干路先行,此标志设在车道以前适当位置。 表示会车先行,此标志设在车道以前适当位置。 表示该处为专供行人横穿马路的通道。此标志设在人行横道的两侧。 表示车道的行驶方向。此标志设在导向车道以前 适当位置。 直行车道 直行和有转合用车道 分向行驶车道 公交线路专用车道 表示车道的行驶方向。此标志设在导向车道以前适当位置。 表示车道的行驶方向。此标志设在导向车道以前适当位置。 表示车道的行驶方向。此标志设在导向车道以前适当位置。 表示该车道专供本线路行驶的公交车辆行驶。此标志设在进入该车道的 起点及各交叉口入口处以前适当位置。 机动车行驶 机动车车道 非机动车行驶 非机动车车道 表示车道机动车行驶。此标志设在道路或车道的起点及交叉路口入口处前适当位置。 表示该车道只供机动车行驶。设在该车道的起点及交叉路口和入口前适当位置。在标志无法正对车道时,可以不标注箭头。 表示非机动车行驶。此标志设在道路或车道的起点及交叉路口入口处前适当位置。 表示该车道只供非机动车行驶。设在该车道的起点及交叉路口和入口前适当位置。在标志无法正对车道时,可以不标注箭头。

最新道路交通标志和标线交通指路标志GB5768-2009

交通指路标志 四车道及以上公路交叉路口预告四车道及以上公路交叉路口预告大交通量的四车道以上公路交叉路口 预告 大交通量的四车道以上公路交叉路口 预告 用以预告前方交叉路口形式、交叉公路的编号或交叉道路的名称、通往方向信息、地理方向信息以及距前方交叉路口 的距离。设在交叉路口告知标志前150 m--500 m处。用以预告前方交叉路口形式、交叉公路的编 号或交叉道路的名称、通往方向信息、地理 方向信息以及距前方交叉路口的距离。设在 交叉路口告知标志前150 m--500 m处。 用以预告前方交叉路口形式、交叉公 路的编号或交叉道路的名称、通往方 向信息、地理方向信息以及距前方交 叉路口的距离。设在交叉路口告知标 志前150 m--500 m处。 用以预告前方交叉路口形式、交叉公 路的编号或交叉道路的名称、通往方 向信息、地理方向信息以及距前方交 叉路口的距离。设在交叉路口告知标 志前150 m--500 m处。 箭头杆上标识公路编号、道路名称的公箭头杆上标识公路编号、道路名称的公路交预告前方交叉公路编号的预告标志例预告前方交叉公路编号的预告标志例

路交叉路口预告叉路口预告 用以预告前方交叉路口形式、交叉公路的编号或交叉道路的名称、通往方向信息、地理方向信息以及距前方交叉路口 的距离。设在交叉路口告知标志前150 m--500 m处。用以预告前方交叉路口形式、交叉公路的编 号或交叉道路的名称、通往方向信息、地理 方向信息以及距前方交叉路口的距离。设在 交叉路口告知标志前150 m--500 m处。 双车道公路可采用单柱标志预告前方 交叉公路编号信息。 双车道公路可采用单柱标志预告前方 交叉公路编号信息。 十字交叉路口十字交叉路口十字交叉路口十字交叉路口 用以告知前方交叉路口形式、交叉公路的编号或交叉道路的名称、通往方向信息、地理方向信息。设在距交叉路口前30 m-- 80 m处。用以告知前方交叉路口形式、交叉公路的编 号或交叉道路的名称、通往方向信息、地理 方向信息。设在距交叉路口前30 m-- 80 m 处。 用以告知前方交叉路口形式、交叉公 路的编号或交叉道路的名称、通往方 向信息、地理方向信息。设在距交叉 路口前30 m-- 80 m处。 用以告知前方交叉路口形式、交叉公 路的编号或交叉道路的名称、通往方 向信息、地理方向信息。设在距交叉 路口前30 m-- 80 m处。 丁字交叉路口丁字交叉路口丁字交叉路口丁字交叉路口

基于matlab的车牌识别算法论文大学毕设论文

基于Matlab的车牌识别算法 摘要 车牌系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。车牌识别系统是以特定目标为对象的专用计算机系统,该系统主要包括三个内容:车牌定位、字符分割和字符识别。其中车牌定位的目的就是从所拍摄的汽车图像中确定车牌的位置,从而便于后续的字符分割和字符识别工作。目前常用的方法有:基于模板匹配的方法、基于特征的方法和神经网络法等。 本设计采用基于模板匹配算法和基于人工神经网络算法对车牌进行定位识别,此算法只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,。此算法分割出的图像像素值和模板图像达到了一致,由此便避免了切割出的图像像素值不一致所带来的问题。但对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转(0变1、1变0)。 关键词:车牌识别系统;字符分割;车牌定位

LICENSE PLATE RECOGNITION ALGORITHM BASED ON MATLAB ABSTRACT License plate system is a computer vision and pattern recognition technology in one of the important application research topic in the field of intelligent transportation. License plate recognition system based on specific goals of a special computer system, the system mainly includes three contents: license plate locating, character segmentation and character recognition. One of the purpose of license plate location is taken from the auto locate the license plate in the image, so as to facilitate the subsequent work character segmentation and character recognition. Now commonly used methods are: based on template matching method, based on the characteristics of the method and neural network, etc. This design USES based on template matching algorithm and based on artificial neural network algorithm to locate license plate recognition, the algorithm is only for blue white license plate segmentation recognition, the algorithm can be directly applicable in principle to the black white plate,. This algorithm to segment the image pixel values and template image, thus to avoid the cut out in the process of image pixel values are not consistent. But black on white background and black text plate, yellow bottom plate, adjustments need to license plate localization algorithm, and the image inversion of (0, 1, 1, 0). Key words: license plate recognition system; Character segmentation; License plate location

认识常见的交通标志

《认识常见的交通标志》教学案例 教学目标: 1、了解公路旁各种标志牌的用处,懂得要爱护标志牌。 2、初步学会识别常见的交通标志,并知道它们的用处。 3、使学生受到交通安全知识的教育,增强安全意识。 教学重、难点: 使学生初步学会识别常见的交通标志,并知道它们的用处。教学准备: 课件、标志牌教具卡片。 每人一张没有上色的标志牌、每人一张白纸、水彩笔。 教学过程: 一、创设情景激趣揭题 师:小马是森林里的长跑健将,今天一大早,他又沿着公路进行长跑训练,结果一路上发现了许多怪牌子(出示标志牌)。 师:你见过这样的牌吗?是在哪儿看见的? 学生回答: 生1:我在我家旁边的十字路口看见过这种牌。 生2:我在到外婆家的路上看见过。 生3:我是在山洞的洞口看见的。 ……

课件播放生活中一些常见的交通标志,揭示课题:这些出现在公路边的牌子是交通标志牌,它提醒司机行人注意交通安全。这节课,我们就一起来研究认识一些常见的交通标志。 二、合作探究认识标志 活动1:初步认识常见的交通标志 课件出示四个标志牌。 师:看屏幕上的这四个标志牌,想一想它们具体有什么作用呢?如果你是这些标志牌,你会对司机叔叔说些什么?请你和同桌选择其中一个讨论讨论。 反馈交流: ⑴、反向弯路标志 师:看(课件演示)汽车开在盘山公路上,你发现了什么? 生1:汽车一下向左拐弯,一下又向右拐弯。 生2:汽车连续拐了两个弯。 生3:向左向右拐弯的方向是相反的。 生4:山路弯弯曲曲,汽车开来开去很危险。 生5:路边的标志牌就说明了山路是弯弯曲曲的。 …… 师生共同给标志取名——反向弯路标志(课件点击出示板书) 师:如果你是这个标志,你会对司机叔叔说什么?

相关主题