精华内容
下载资源
问答
  • 该资源为德国的交通灯数据集,是一些红绿灯检测图片数据集以及打好标签的xml文件。可用于深度学习训练,标签的格式是VOC2007,可用于yolo v3训练。
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...

    演示视频:https://www.bilibili.com/video/BV1Tt4y1y7s8/
    将链接复制至IE浏览器打开!!!
    功能操作说明:
    从上到下,设置键,加键,减键,特殊键。单独一个按键为单片机复位按键。
    打开仿真文件开始仿真,程序开始数码管倒计时,没有按键按下程序循环运行。
    1,东西方向为绿灯,行人和车辆东西方向可以同行东西绿灯时间长20s。南北方向为红灯行人车辆禁止同行时长25s。
    2,东西方向黄灯闪烁5秒,南北方向还是红灯等待,警示车辆和行人状态即将切换。
    3,南北方向为绿灯,行人和车辆南北方向可以同行东西绿灯时间长20s。东西方向为红灯行人车辆禁止同行时长25s。
    4,南北方向黄灯闪烁5秒,东西方向还是红灯等待,警示车辆和行人状态即将切换。
    设置按键按下可以进行红灯和绿灯时间调整,加键调整时间。调整完后再次按下设置程序回到倒计时运行。
    特殊模式键按下第一次红灯全亮,数码管显示全为0代表紧急模式停止同行。再次按下数码管显示为全FF,代表夜间模式。,再次按下回到数码管倒计时状态。

    展开全文
  • 图片来源: spectrum.ieee.org 想象一下,在上下班高峰期,你在车上已经堵了一个小时了。好不容易长长的车队松动了一下,却遇到前方一个红灯——你不得不又将车停下。这时候,是不是恼火地恨不得把方向盘抠下来砸...

    专治堵车的 AI 红绿灯,看一下路况就能变脸

    图片来源: spectrum.ieee.org

    想象一下,在上下班高峰期,你在车上已经堵了一个小时了。好不容易长长的车队松动了一下,却遇到前方一个红灯——你不得不又将车停下。这时候,是不是恼火地恨不得把方向盘抠下来砸过去?

    严重的交通拥堵不仅给行人车主带来巨大的不便,还是令政府头疼的一个问题。德州农工大学交通研究所发布的一项《城市交通报告》数据指出,2011 年,美国政府治理交通拥堵的成本高达 1210 亿美元,这一数字在 1982 年仅为 240 亿。除此之外,严重的交通拥堵还会产生 2500 万吨的二氧化碳。卡耐基梅隆大学(CMU)的机器学教授 Stephen Smith 在上周的白宫演讲中告诉观众,“在城市里,司机有 40% 的时间都浪费在拥堵的交通道路中。”

    这其中的一个重要原因就是交通信号灯太蠢了。

    我们现在使用的常规交通信号灯有着定时的预编程序,这种程序是多年不变的。而道路中的人、车流量及路况是随时发生变化的。况且根据人口与地形的变化,对一个十字路口进行重新编程的成本太高,许多城市不会考虑这样做。那么,建立一个灵活的 AI 系统则可以解决这个问题。

    Smith 希望用一种更加智能的交通信号灯来缓解交通拥堵的状况。于是他创办了一家利用先进的 AI 技术来进行交通管理的初创公司 Surtrac。这家公司开发的智能交通信号灯依靠先进的传感器和强大的处理技术,每隔几秒钟就能更新一次信号模式,以此配合交通流量的变化和意外事件发生,如突发性交通事故或道路封闭等。2012 年以来,该公司一直在匹兹堡的东利伯蒂社区进行试点研究。 Surtrac 正在使这项技术商业化。

    在匹兹堡的实验中,这项系统帮助人们在路程中花费的无效时间降低了 40% 之多。这意味着你下班后可以更早到家,上班时也不用担心迟到而起床过早。你有更多的时间可以陪伴家人,或者做些其他有意义的事。同时,它还能保护道路环境,研究人员发现该系统还将道路中车辆的排放物降低了 21%。并且在一定程度上解决停车位紧缺的问题。

    Surtrac 的系统不是依赖计算机式的交通信号灯将每个设备相连,而是通过雷达传感器和照相机设备监测交通状况,然后人工智能系统会根据这些数据建立一个有时效性的方案,“提供给所有车辆在交叉路口中最有效的路程选择。” Smith 介绍。通过计算机,这些计划会发给行人和司机,以便他们能够提前选择最优出行路线。

    Surtrac 的每一个交通信号灯都能做出独立的交通管理决策。这些信号灯会与邻近的系统分享信息,但不存在集中控制,也没有人为管理。

    Smith 表示:“在试点研究开始的几个月之后,一条穿过我们研究区域的主干道被切断了。道路的交通模式发生了巨大的变化——但我们没有进行任何改变措施,AI 系统会自行进行调整。”

    随着试点规模的扩大,Surtrac 下一步计划用无线交通广播和司机进行对话。Smith 的团队已经在匹兹堡 24 个交叉路口安装了短距离无线电通信设备,并在明年一些车辆中投入使用——要让司机知道交通信号灯发生了改变,它已经更加智能了。

    匹兹堡是 Uber 自动驾驶汽车的测试基地。对此,Smith 希望在不久的将来 AI 智能信号灯能够与自动驾驶汽车结合,这将更进一步地缓解城市道路的拥堵状况。

    Via spectrum.ieee.org

    推荐阅读:

    重大突破!全球首个量子计算机桥诞生

    五分钟读完美国白皮书:为了人工智能的未来,政府都做了哪些准备?


    本文作者:刘子榆


    本文转自雷锋网禁止二次转载,原文链接

    展开全文
  • QT5.14——模拟交通灯(二)

    千次阅读 2020-04-21 19:21:39
    QT模拟交通灯红绿灯交替小车移动 今天我们接着上一篇文章继续完善我们的一个小程序。QT5.14——模拟交通灯(一) 红绿灯交替 先来简单说一下是实现得原理,在上一篇文章的界面布局中我们已经知道红绿灯其实就是一张...

    今天我们接着上一篇文章继续完善我们的一个小程序。QT5.14——模拟交通灯(一)

    红绿灯交替

    先来简单说一下是实现得原理,在上一篇文章的界面布局中我们已经知道红绿灯其实就是一张PNG图片,所以我们实现红绿灯的亮和灭就是通过图片的显示与否来实现的。这就用到QT中的hide()show()函数。当然这和真实的红绿灯是有所区别的,我们在这里仅是简单的模拟,所以不必太较真,当然自己也可以在进行修改,模拟的更加真实。

    • 红绿灯时间设置:红灯、绿灯25S,黄灯3S
    • 初始状态东西通行,南北等待
      我们先看看怎么显示和隐藏图片,我们在初始化函数中加入西面的代码片段:
        //南北等待
        ui->red_n->show(); //red_n是我定义的那个lable的objectName,表示北方向红灯,下面以此类推
        ui->green_n->hide();
        ui->yellow_n->hide();
        ui->red_s->show();
        ui->green_s->hide();
        ui->yellow_s->hide();
        //东西通行
        ui->green_e->show();
        ui->red_e->hide();
        ui->yellow_e->hide();
        ui->green_w->show();
        ui->red_w->hide();
        ui->yellow_w->hide();
    

    效果图:
    在这里插入图片描述
    接下来做红绿灯的交替:

    1. 在mainwindow.h头文件中声明一些函数和定义一些变量。
    public:
        void LightTime();//红绿灯时间交替
    
    private slots:
        void doProcessTimeOut1();//南北
        void doProcessTimeOut2();//东西
    
    
    
    private:
        Ui::MainWindow *ui;
    
        QTimer *myTimer;
        //两组红绿灯时间参数(1:南北 2:东西)
        int count_red1;
        int count_green1;
        int count_yellow1;
        int count_red2;
        int count_green2;
        int count_yellow2;
    
        void Init();
    
    
    };
    
    1. 实现函数功能
    void MainWindow::LightTime(){
        //初始化变量
        count_red1 = 25;
        count_green1 = -1;
        count_yellow1 = 3;
        count_red2 = -1;
        count_green2 = 25;
        count_yellow2 = 3;
        //显示红绿灯时间
        ui->lcd_e->display(count_green2);
        ui->lcd_w->display(count_green2);
        ui->lcd_n->display(count_red1);
        ui->lcd_s->display(count_red1);
    
        myTimer = new QTimer();
        myTimer->start(1000);    //启动QTimer
        connect(myTimer,SIGNAL(timeout()),
                this,SLOT(doProcessTimeOut1()));//绑定槽
        connect(myTimer,SIGNAL(timeout()),
                this,SLOT(doProcessTimeOut2()));//绑定槽
    
    }
    
    void MainWindow::doProcessTimeOut1(){
        //如果红灯时间到,黄灯亮
        if(count_red1 == 0){
            count_yellow1--;
            ui->lcd_n->display(count_yellow1);
            ui->yellow_n->show();
            ui->green_n->hide();
            ui->red_n->hide();
            ui->yellow_s->show();
            ui->green_s->hide();
            ui->red_s->hide();
            ui->lcd_s->display(count_yellow1);
            //如果黄灯时间到,绿灯亮
            if(count_yellow1 == 0){
                count_green1 = 25;
                count_yellow1 = 3;
                count_red1 = -1;
                ui->lcd_n->display(count_green1);
                ui->lcd_s->display(count_green1);
                //重启定时器
                myTimer->start(1000);
                ui->green_n->show();
                ui->yellow_n->hide();
                ui->red_n->hide();
                ui->green_s->show();
                ui->yellow_s->hide();
                ui->red_s->hide();
            }
        }
        //如果红灯还有时间
        else if(count_red1 > 0){
            count_red1--;
            ui->red_n->show();
            ui->green_n->hide();
            ui->yellow_n->hide();
            ui->lcd_n->display(count_red1);
            ui->red_s->show();
            ui->green_s->hide();
            ui->yellow_s->hide();
            ui->lcd_s->display(count_red1);
        }
        //如果绿灯时间到,黄灯亮
        if(count_green1 == 0){
            count_yellow1--;
            ui->green_n->hide();
            ui->red_n->hide();
            ui->yellow_n->show();
            ui->green_s->hide();
            ui->red_s->hide();
            ui->yellow_s->show();
            //如果黄灯时间到
            if(count_yellow1 == 0){
                count_green1 = -1;
                count_red1 = 25;
                count_yellow1 = 3;
                //重启定时器
                myTimer->start(1000);
                ui->red_n->show();
                ui->yellow_n->hide();
                ui->green_n->hide();
                ui->red_s->show();
                ui->yellow_s->hide();
                ui->green_s->hide();
            }
        }
        //如果绿灯还有时间
        else if(count_green1 > 0){
            count_green1--;
            ui->lcd_n->display(count_green1);
            ui->green_n->show();
            ui->yellow_n->hide();
            ui->red_n->hide();
            ui->lcd_s->display(count_green1);
            ui->green_s->show();
            ui->yellow_s->hide();
            ui->red_s->hide();
            //一会的小车代码
    
        }
    }
    
    void MainWindow::doProcessTimeOut2(){
        //如果绿灯时间到,黄灯亮
        if(count_green2 == 0){
            count_yellow2--;
            ui->lcd_w->display(count_yellow2);
            ui->yellow_w->show();
            ui->green_w->hide();
            ui->red_w->hide();
            ui->yellow_e->show();
            ui->green_e->hide();
            ui->red_e->hide();
            ui->lcd_e->display(count_yellow2);
            //如果黄灯时间到,红灯亮
            if(count_yellow2 == 0){
                count_green2 = -1;
                count_yellow2 = 3;
                count_red2 = 25;
                ui->lcd_w->display(count_red2);
                ui->lcd_e->display(count_red2);
                //重启定时器
                myTimer->start(1000);
                ui->green_w->hide();
                ui->yellow_w->hide();
                ui->red_w->show();
                ui->green_e->hide();
                ui->yellow_e->hide();
                ui->red_e->show();
            }
        }
        //如果绿灯还有时间
        else if(count_green2 > 0){
            count_green2--;
            ui->red_w->hide();
            ui->green_w->show();
            ui->yellow_w->hide();
            ui->lcd_w->display(count_green2);
            ui->red_e->hide();
            ui->green_e->show();
            ui->yellow_e->hide();
            ui->lcd_e->display(count_green2);
            //一会小车代码
    
        }
        //如果红灯时间到,黄灯亮
        if(count_red2 == 0){
            count_yellow2--;
            ui->green_w->hide();
            ui->red_w->hide();
            ui->yellow_w->show();
            ui->green_e->hide();
            ui->red_e->hide();
            ui->yellow_e->show();
            //如果黄灯时间到
            if(count_yellow2 == 0){
                count_green2 = 25;
                count_red2 = -1;
                count_yellow2 = 3;
                ui->lcd_w->display(count_green2);
                ui->lcd_e->display(count_green2);
                //重启定时器
                myTimer->start(1000);
                ui->red_w->hide();
                ui->yellow_w->hide();
                ui->green_w->show();
                ui->red_e->hide();
                ui->yellow_e->hide();
                ui->green_e->show();
            }
        }
        //如果红灯还有时间
        else if(count_red2 > 0){
            count_red2--;
            ui->lcd_w->display(count_red2);
            ui->green_w->hide();
            ui->yellow_w->hide();
            ui->red_w->show();
            ui->lcd_e->display(count_red2);
            ui->green_e->hide();
            ui->yellow_e->hide();
            ui->red_e->show();
        }
    }
    
    

    这里一定不要忘记调用LightTime()函数,不然,你懂的!!

    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
    //    setWindowFlags(windowFlags()&~Qt::WindowMaximizeButtonHint);    // 禁止最大化按钮
        ui->setupUi(this);
        Init();
        LightTime();
    }
    

    到此为止,红绿灯的交替已经完成了。
    在这里插入图片描述

    小车移动

    1. 小车速度控制,我们通过一个延时函数进行实现。
      在mainwindow.h文件中加入头文件,声明一个sleep()函数。
    #include <QTime>
    
    private slots:
        void doProcessTimeOut1();//南北
        void doProcessTimeOut2();//东西
        void sleep(unsigned int msec);//延时函数,控制小车速度
    

    实现函数:

    //延时函数,控制小车速度
    void MainWindow::sleep(unsigned int msec)
    {
        QTime newTime = QTime::currentTime().addMSecs(msec);
        while(QTime::currentTime() < newTime)
            QCoreApplication::processEvents(QEventLoop::AllEvents,100);
    
    }
    
    1. 小车的运动实现用到了一个关键函数setGeometry(int x, int y, int w, int h)
      官方文档解释:
    void QWidget::setGeometry(int x, int y, int w, int h)
    This is an overloaded function.//这是一个重载函数。
    This corresponds to setGeometry(QRect(x, y, w, h)).//这对应于setGeometry(QRect(x,y,w,h))。
    Note: Setter function for property geometry. //注:属性几何的Setter函数。
    
    QRect::QRect(int x, int y, int width, int height)
    Constructs a rectangle with (x, y) as its top-left corner and the given width and height.
    //构造一个以(x,y)为左上角、给定宽度和高度的矩形。
    

    了解了如何使用这个函数之后,我们才能知道如何让小车行走。
    声明函数及变量:

    #define STOP 1
    #define RUN 2
    public:
        void LightTime();//红绿灯时间交替
        void carup_run();//小车正常向北行驶
        void carup_stop();//小车向北停止
        void up_through();//遇到红绿灯情况
        void carleft_run();//小车正常向西行驶
        void carleft_stop();//小车向西停止
        void left_through();//遇到红绿灯情况
    private:
    	int carup_state;//向北行驶小车状态
        int carleft_state;//向西行驶小车状态
    

    界面布局中加入四条Line,用来控制小车遇到红灯的停止,加入一个按钮,控制小车的启动。
    在这里插入图片描述
    函数功能实现:

    void MainWindow::carup_run(){
        carup_state = RUN;
        ui->car_up->setGeometry(ui->car_up->x(),ui->car_up->y(),
                                ui->car_up->width(),
                                ui->car_up->height());
        //向上走
        for(int i=ui->car_up->y();i+ui->car_up->height()>=ui->stopline_s->y()+120;--i)
        {
            ui->car_up->setGeometry(ui->car_up->x(),i,
                                    ui->car_up->width(),
                                    ui->car_up->height());
            sleep(10);
        }
        if(count_red1>0) carup_stop();
        if(count_green1>=0) up_through();
    }
    
    void MainWindow::carup_stop(){
        carup_state = STOP;
        ui->car_up->setGeometry(ui->car_up->x(),ui->car_up->y(),
                                ui->car_up->width(),
                                ui->car_up->height());
    }
    void MainWindow::up_through(){
        for(int i=ui->car_up->y();i+ui->car_up->height()>0;--i)
        {
            ui->car_up->setGeometry(ui->car_up->x(),i,
                                    ui->car_up->width(),
                                    ui->car_up->height());
            sleep(10);
        }
    }
    

    在void MainWindow::doProcessTimeOut1()中插入

            //一会的小车代码
            if(carup_state == STOP){
                carup_state = RUN;
                up_through();
            }
    

    按钮槽函数:

    void MainWindow::on_btn_start_clicked()
    {
        carup_run();
    }
    
    

    到此就可以实现南北通行小车行驶,东西小车实现方法按照同样的方式即可实现,代码不再展示。

    在这里插入图片描述
    这样QT模拟交通灯的小程序就已经实现了。
    存在问题:两辆小车不能同时行走,程序不够完善!有兴趣的可以自行改进,也欢迎找我进行探讨!

    喜欢的可以点个赞再走哦!!!
    在这里插入图片描述

    展开全文
  • 交通灯控制实现红绿灯状态变化,数码管显示,按键紧急状态模拟控制,内附PROTEUS仿真图片,使用C语言进行编程
  • STC12C5A60S2(引脚排序及基本功能同AT89S51)作为主控芯片,设计格局时间选择不同红绿灯交替时间的交通灯控制电路。一是交通灯的正常指示设计;二是扩展DS12C887等相应的外围电路,利用LCD显示时间;三是设计2个...
  • 数字逻辑educoder实验,logisim实现 RGLED交通灯系统设计,红绿灯实验 从第一关7段数码管的驱动到,最后的主道20秒,辅道10秒测试 第一步 七段数码管的显示,通过分析电路产生,数码管驱动电路 第二步 四位无符号...

    数字逻辑educoder实验,logisim实现 RGLED交通灯系统设计,红绿灯实验

    从第一关7段数码管的驱动到,最后的主道20秒,辅道10秒测试

    第一步 七段数码管的显示,通过分析电路产生,数码管驱动电路

    在这里插入图片描述

    在这里插入图片描述

    第二步 四位无符号比较器的设计

    依次输入Great,Equal,less的表达式,通过分析电路的方式,产生数值比较器
    在这里插入图片描述

    第三步 将4为无符号数值比较器,通过级联产生8位无符号数值比较器

    在这里插入图片描述
    在这里插入图片描述

    第四步 通过逻辑门设计1位2路选择器

    在这里插入图片描述
    在这里插入图片描述

    第五步 通过1位2路选择器,实现8位2路选择器

    在这里插入图片描述

    第六步 双向BCD计数器状态机设计(可异步置位)

    此处,考虑当PreSet为0时,三态缓冲器输出高阻,可以思考如何设置异步置数功能以及利用下面的状态转换,输出函数实现该步骤的功能。
    在这里插入图片描述

    第七步 双向BCD计数器输出函数设计(自动生成)

    第八步 双向BCD计数器设计(自动生成)

    第九步 双位十进制双向计数器

    在这里插入图片描述

    第十步 交通灯核心状态机设计(使用生成的逻辑表达式建立电路)

    在这里插入图片描述

    第十一步 生成交通灯输出函数设计(分析电路实现)

    在这里插入图片描述

    第十二步 交通灯系统设计

    1.利用前面的状态机,输出函数,寄存器实现状态转移过程,构成核心控制器系统,控制红绿灯信号。
    2.分别构建主道和辅道的倒计时电路,利用已经设计好的双位十进制双向计数器构建倒计时电路,要求利用系统复位信号自动预置通行时间,利用设计好的8位无符号比较器比较计数器输出值生成计时完成信号T1,T2,T3,T4,注意黄灯应该保持3秒,也就是三个时钟节拍。注意非当前道通行时,当前倒计时3.电路应该预置为初始值,当前道通行时,当前倒计时电路开始倒计时。
    4.构建倒计时电路显示模块,由于主道辅道显示时间一致,所以只保留一个显示模块,但显示模块要根据当前是主道通行还是辅道通行显示不同计数器的值,这里需要使用前面已经实现的多路选择器,和数码管驱动电路。
    在这里插入图片描述
    最终电路设计如图测试效果与题目要求一致
    在这里插入图片描述

    展开全文
  • 关于交通信号的设计核心就是他的状态机的设计,只要分析明白状态机,代码就好像是照着抄, 1.红灯变为绿灯时不显示黄色。绿灯变为红灯时要显示黄色。 2,十字路口的交通等可以分为两组,南北一组,东西一组。 这样...
  •  2、活动用具:道路交通标志(红绿灯)。 3、队员收集各种交通标志(照片或图片)。 三、活动过程: (一)展开联想,揭示活动主题 出示课件:各种车辆的喧闹声,接着是紧急刹车的声音,然后是人们的尖叫声,屏幕由...
  •  3、活动用具:道路交通标志(红绿灯)。 4、队员收集各种交通标志(照片或图片)。 活动过程: 一、全体立正、各小队整队。 二、各小队长向中队长报告人数,中队长向中队辅导员报告人数。 三、出旗、奏乐、...
  • 交通安全教育活动实施方案【5篇】 遵守交通规则不仅仅是我们所有人的义务,让我们大家一起遵守交通规则,以下是小编精心收集整理的交通安全教育活动,下面... 二、红绿灯图片展示。 师:请小朋友们看一看,这是个...
  •  3、活动用具:道路交通标志(红绿灯)。 4、队员收集各种交通标志(照片或图片)。 活动过程: 一、全体立正、各小队整队。 二、各小队长向中队长报告人数,中队长向中队辅导员报告人数。 三、出旗、奏乐、...
  • 3、活动用具:道路交通标志(红绿灯)。 4、队员收集各种交通标志(照片或图片)。 活动过程: 一、全体立正、各小队整队。 二、各小队长向中队长报告人数,中队长向中队辅导员报告人数。 三、出旗、奏乐、敬礼。 ...
  • ctfshow-misc:交通繁忙

    2020-03-16 18:44:20
    下载附件得到张gif图,呼应了题目是红绿灯的不断交换 ctf的gif题目,那么一般就是分析帧了 1000多帧的gif分离出来 我这里用的爱奇艺万能联播自带的看图功能(巨好用!) 分离之后会自动生成文件夹,里面的图片也会...
  • 原文如下 自动驾驶-案例研究 ...例如,下面的图片包含一个行人过路标志和红色交通信号标志。 你的十万张带标签的图片是使用你汽车的前置摄像头拍摄的。这也是你最关心的数据分布。你认为你可以从互联网上获得更
  • V2X硬件在环测试系统

    2020-05-24 00:36:10
    (1) SPAT 将 设置为RSU作为红绿灯控制器,设置各象限参数。将设置参数下发给RSU控制单元,RSU真实向外广播DSRC的报文,同时该软件接受RSU的状态,图片实时仿真的显示红绿黄灯的状态和时间。软件运行后的效果和真实...
  • 大班安全教学活动教案设计方案5篇 幼儿园阶段的儿童,其行为特点是对周围的事物充满热情,情绪化比较明显,情绪不太... 活动准备: 幼儿日常生活中曾观察到的红绿灯标志的图片交通标志的作用投影片。 用纸板做...
  • 大班安全教学活动教案策划方案5篇 幼儿教育工作者必须在幼儿中开展交通安全教育,首先,让幼儿认识红绿灯的作用,向幼儿讲解交通规则;其次,在坐车时不要乱走乱动,避免由急刹车带来的安全事故;以下是小编精心收集...
  • 由Timer所引发的VB动画

    千次阅读 2012-01-28 20:49:37
    将Timer的Interval属性设置一定时间间隔,...滚动字幕、喷泉、飞翔的小鸟、交通红绿灯等就可以用VB做出来了。其实道理明白了,写代码很简单,会用到command按钮或选择结构来控制图片的显示和隐藏, 其中有一点细节
  • 2.事故图解:图示交通事故发生的车道、红绿灯、车的行驶轨迹等情形,文字解说事故责任划分 3.交通标志:说明驾驶员理论考试的405个交通标志 4.交通法规:关于道路交通安全、道路管理、违章处理等法律法规 5.章节...

空空如也

空空如也

1
收藏数 20
精华内容 8
热门标签
关键字:

交通灯红绿灯图片