示例#1
0
        private void Search_button_search_Click(object sender, EventArgs e)
        {
            DataTable result = new DataTable();

            _plateList.Clear();
            _plateListIdx = 0;

            Search_listView1.Items.Clear();
            //dbManager.SearchPlate(search_textBox_search.Text, ref result);
            dbManager.SearchPlateForFile(comboBox_Channel.SelectedIndex - 1, search_textBox_search.Text, ref result);

            foreach (DataRow dr in result.Rows)
            {
                string[]     itemStr = { Convert.ToString(dr["camId"]), Convert.ToDateTime(dr["dateTime"]).ToString(), Convert.ToString(dr["plate"]) };
                ListViewItem item    = new ListViewItem(itemStr);
                Search_listView1.Items.Add(item);

                PLATE_FOUND plate = new PLATE_FOUND();
                plate.cam           = Convert.ToInt32(dr["camId"]);
                plate.dateTime      = Convert.ToDateTime(dr["dateTime"]);
                plate.id            = _plateListIdx;
                plate.plateStr      = Convert.ToString(dr["plate"]);
                plate.imageFilePath = Convert.ToString(dr["imageFilePath"]);
                //plate.snapshot = byteArrayToImage((byte[])dr["image"]);


                _plateList.Add(plate);
                _plateListIdx++;
            }
        }
示例#2
0
        private void Search_button_search_Click(object sender, EventArgs e)
        {
            DataTable result = new DataTable();

            _plateList.Clear();
            _plateListIdx = 0;

            Search_listView1.Items.Clear();
            //dbManager.SearchPlate(search_textBox_search.Text, ref result);
            dbManager.SearchPlateForFile(comboBox_Channel.SelectedIndex - 1 ,search_textBox_search.Text, ref result);

            foreach (DataRow dr in result.Rows)
            {
                string[] itemStr = { Convert.ToString(dr["camId"]), Convert.ToDateTime(dr["dateTime"]).ToString(), Convert.ToString(dr["plate"]) };
                ListViewItem item = new ListViewItem(itemStr);
                Search_listView1.Items.Add(item);

                PLATE_FOUND plate = new PLATE_FOUND();
                plate.cam = Convert.ToInt32(dr["camId"]);
                plate.dateTime = Convert.ToDateTime(dr["dateTime"]);
                plate.id = _plateListIdx;
                plate.plateStr = Convert.ToString(dr["plate"]);
                plate.imageFilePath = Convert.ToString(dr["imageFilePath"]);
                //plate.snapshot = byteArrayToImage((byte[])dr["image"]);


                _plateList.Add(plate);
                _plateListIdx++;
            }

        }
示例#3
0
        private void listView_Result_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = listView_Result.FocusedItem.Index;

            listView_CarList.Items.Clear();

            _plateList.Clear();
            _plateListIdx = 0;

            if (_resultTableList[index] != null)
            {
                foreach (DataRow dr in _resultTableList[index].Rows)
                {
                    DateTime     myDateTime = DateTime.ParseExact(dr["ANPRDATE"].ToString().Substring(0, 10) + " " + dr["ANPRTIME"].ToString(), "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
                    string[]     itemStr    = { Convert.ToString(dr["CAMID"]), myDateTime.ToString(), Convert.ToString(dr["PLATE"]) };
                    ListViewItem item       = new ListViewItem(itemStr);
                    listView_CarList.Items.Add(item);

                    PLATE_FOUND plate = new PLATE_FOUND();
                    plate.cam           = Convert.ToInt32(dr["CAMID"]);
                    plate.dateTime      = myDateTime;
                    plate.id            = _plateListIdx;
                    plate.plateStr      = Convert.ToString(dr["PLATE"]);
                    plate.imageFilePath = Convert.ToString(dr["IMAGEPATH"]);

                    _plateList.Add(plate);
                    _plateListIdx++;
                }
            }
        }
示例#4
0
        private void anpr_ANPRDetected(int channel, string plateStr, byte[] frame)
        {
            Console.WriteLine("ANPR Detected channel " + channel + " Time is " + DateTime.Now);

            if (this.panel1.InvokeRequired)
            {
                this.panel1.BeginInvoke(new Action(() =>
                {
                    string[] itemStr  = { Convert.ToString(channel, 10), DateTime.Now.ToString(), plateStr };
                    ListViewItem item = new ListViewItem(itemStr);
                    listView1.Items.Add(item);

                    textBox_anpr.Text = plateStr;

                    MemoryStream ms           = new MemoryStream(frame);
                    Image returnImage         = Image.FromStream(ms);
                    anprResultThumbnail.Image = returnImage;

                    PLATE_FOUND plate = new PLATE_FOUND();
                    plate.cam         = camera.camID;
                    plate.dateTime    = DateTime.Now;
                    plate.id          = _plateListIdx;
                    plate.plateStr    = plateStr;
                    plate.snapshot    = returnImage;

                    _plateList.Add(plate);
                    _plateListIdx++;

                    // id is auto-increment value in DB
                    dbManager.InsertPlate(plate.cam, plate.dateTime, plate.plateStr, plate.snapshot);
                    //dbManager.InsertPlateText(plate.cam, plate.dateTime, plate.plateStr, plate.snapshot); // file write test
                }
                                                   ));
            }
        }
示例#5
0
        private void OnChangedANPRPath(object source, FileSystemEventArgs e)
        {
            //System.Diagnostics.Debug.WriteLine(e.FullPath + " changed");
            //TextBox[] textBoxes = new TextBox[] { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7, textBox8, textBox9, textBox10, textBox11, textBox12, textBox13, textBox14, textBox15, textBox16, textBox17, textBox18, textBox19, textBox20 };
            //PictureBox[] pictureBoxes = new PictureBox[] { pictureBox1, pictureBox2, pictureBox3, pictureBox4, pictureBox5, pictureBox6, pictureBox7, pictureBox8, pictureBox9, pictureBox10, pictureBox11, pictureBox12, pictureBox13, pictureBox14, pictureBox15, pictureBox16, pictureBox17, pictureBox18, pictureBox19, pictureBox20 };

            string lastLine = null;

            //try
            //{
            lastLine = File.ReadLines(e.FullPath).Last();

            string[] logresults = lastLine.Split(',');
            this.BeginInvoke(new Action(() =>
            {
                //pictureBox_result.ImageLocation = logresults[3];
                //textBox_result.Text = "카메라 " + logresults[0] + " : " + findANPRCamName(Convert.ToInt32(logresults[0], 10)) + " 차량번호 : " + logresults[1];

                DateTime time     = new DateTime();
                string[] itemStr  = { logresults[0], logresults[2], logresults[1] };
                ListViewItem item = new ListViewItem(itemStr);
                listView_result.Items.Add(item);
                listView_result.Items[listView_result.Items.Count - 1].EnsureVisible();

                PLATE_FOUND found = new PLATE_FOUND();

                found.no            = _plateListIdx;
                found.cam           = Convert.ToInt32(logresults[0], 10);
                found.dateTime      = Convert.ToDateTime(logresults[2]);
                found.imageFilePath = logresults[3];
                found.plateStr      = logresults[1];

                _plateList.Add(found);
                _plateListIdx++;

                foreach (ANPRCam cam in _anprCamList)
                {
                    int id = Convert.ToInt32(logresults[0], 10);
                    if (cam.camid == id)
                    {
                        cam.recognizedTime = DateTime.Now.Ticks;
                        cam.position       = cam.markersOverlay.Markers[0].Position;
                        cam.markersOverlay.Markers.Clear();
                        GMarkerGoogle marker = new GMarkerGoogle(cam.position, GMarkerGoogleType.red);
                        cam.markersOverlay.Markers.Add(marker);
                    }
                }
            }
                                        ));

            //}
            //catch (Exception ex)
            //{
            //    System.Diagnostics.Debug.WriteLine("OnChangedANPRPath() error : " + ex.ToString());
            //}
        }
示例#6
0
        private void Search_button_search_Click(object sender, EventArgs e)
        {
            DataTable result = new DataTable();

            DataTable DBresult = new DataTable();

            _plateList.Clear();
            _plateListIdx = 0;

            Search_listView1.Items.Clear();

            // result from DB
            dbManager.SearchPlate(search_textBox_search.Text, ref DBresult);
            // result from local file
            dbManager.SearchPlateForFile(comboBox_Channel.SelectedIndex - 1, search_textBox_search.Text, ref result);

            // read DB result
            foreach (DataRow dr in DBresult.Rows)
            {
                Console.WriteLine(Convert.ToString(dr["CARL_YMDHNS"]) + " , " + Convert.ToString(dr["CARL_CARNO"]).ToString() + " , " + Convert.ToString(dr["CARL_OK"]) + " , " + Convert.ToString(dr["CARL_CID"]));
            }

            // read local file result and add list
            foreach (DataRow dr in result.Rows)
            {
                string[]     itemStr = { Convert.ToString(dr["camId"]), Convert.ToDateTime(dr["dateTime"]).ToString(), Convert.ToString(dr["plate"]) };
                ListViewItem item    = new ListViewItem(itemStr);
                Search_listView1.Items.Add(item);

                PLATE_FOUND plate = new PLATE_FOUND();
                plate.cam           = Convert.ToInt32(dr["camId"]);
                plate.dateTime      = Convert.ToDateTime(dr["dateTime"]);
                plate.id            = _plateListIdx;
                plate.plateStr      = Convert.ToString(dr["plate"]);
                plate.imageFilePath = Convert.ToString(dr["imageFilePath"]);
                //plate.snapshot = byteArrayToImage((byte[])dr["image"]);


                _plateList.Add(plate);
                _plateListIdx++;
            }
        }
示例#7
0
        void MainForm_ANPRDetected(int channel, DateTime dateTime, string plateStr, string imagePath)
        {
            this.BeginInvoke(new Action(() =>
            {
                //pictureBox_result.ImageLocation = logresults[3];
                //textBox_result.Text = "카메라 " + logresults[0] + " : " + findANPRCamName(Convert.ToInt32(logresults[0], 10)) + " 차량번호 : " + logresults[1];

                DateTime time     = new DateTime();
                string[] itemStr  = { channel.ToString(), dateTime.ToString(), plateStr };
                ListViewItem item = new ListViewItem(itemStr);
                listView_result.Items.Add(item);
                listView_result.Items[listView_result.Items.Count - 1].EnsureVisible();

                PLATE_FOUND found = new PLATE_FOUND();

                found.no            = _plateListIdx;
                found.cam           = channel;
                found.dateTime      = dateTime;
                found.imageFilePath = imagePath;
                found.plateStr      = plateStr;

                _plateList.Add(found);
                _plateListIdx++;

                foreach (ANPRCam cam in _anprCamList)
                {
                    int id = channel;
                    if (cam.camid == id)
                    {
                        cam.recognizedTime = DateTime.Now.Ticks;
                        cam.position       = cam.markersOverlay.Markers[0].Position;
                        cam.markersOverlay.Markers.Clear();
                        GMarkerGoogle marker = new GMarkerGoogle(cam.position, GMarkerGoogleType.red);
                        cam.markersOverlay.Markers.Add(marker);
                    }
                }
            }));
        }
示例#8
0
        private void Search_button_search_Click(object sender, EventArgs e)
        {
            //DataTable result = new DataTable();

            DataTable DBresult = new DataTable();

            _plateList.Clear();
            _plateListIdx = 0;

            Search_listView1.Items.Clear();

            int ch = comboBox_Channel.SelectedIndex;

            // single channel search
            if (ch != 0)
            {
                string   target    = comboBox_Channel.GetItemText(comboBox_Channel.Items[ch]);
                string[] targetArr = target.Split(' ');
                int      camid     = Convert.ToInt32(targetArr[0], 10);

                // result from DB
                dbManager.SearchPlate(camid, search_textBox_search.Text, ref DBresult);

                // read DB result CAMID, ANPRDATE, ANPRTIME, PLATE, IMAGEPATH
                foreach (DataRow dr in DBresult.Rows)
                {
                    DateTime     myDateTime = DateTime.ParseExact(dr["ANPRDATE"].ToString().Substring(0, 10) + " " + dr["ANPRTIME"].ToString(), "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
                    string[]     itemStr    = { Convert.ToString(dr["CAMID"]), myDateTime.ToString(), Convert.ToString(dr["PLATE"]) };
                    ListViewItem item       = new ListViewItem(itemStr);
                    Search_listView1.Items.Add(item);

                    PLATE_FOUND plate = new PLATE_FOUND();
                    plate.cam           = Convert.ToInt32(dr["CAMID"]);
                    plate.dateTime      = myDateTime;
                    plate.id            = _plateListIdx;
                    plate.plateStr      = Convert.ToString(dr["PLATE"]);
                    plate.imageFilePath = Convert.ToString(dr["IMAGEPATH"]);

                    _plateList.Add(plate);
                    _plateListIdx++;
                }
            }
            // entire search
            else
            {
                for (int i = 1; i < comboBox_Channel.Items.Count; i++)
                {
                    string   target    = comboBox_Channel.GetItemText(comboBox_Channel.Items[i]);
                    string[] targetArr = target.Split(' ');
                    int      camid     = Convert.ToInt32(targetArr[0], 10);

                    // result from DB
                    dbManager.SearchPlate(camid, search_textBox_search.Text, ref DBresult);

                    // read DB result CAMID, ANPRDATE, ANPRTIME, PLATE, IMAGEPATH
                    foreach (DataRow dr in DBresult.Rows)
                    {
                        DateTime     myDateTime = DateTime.ParseExact(dr["ANPRDATE"].ToString().Substring(0, 10) + " " + dr["ANPRTIME"].ToString(), "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
                        string[]     itemStr    = { Convert.ToString(dr["CAMID"]), myDateTime.ToString(), Convert.ToString(dr["PLATE"]) };
                        ListViewItem item       = new ListViewItem(itemStr);
                        Search_listView1.Items.Add(item);

                        PLATE_FOUND plate = new PLATE_FOUND();
                        plate.cam           = Convert.ToInt32(dr["CAMID"]);
                        plate.dateTime      = myDateTime;
                        plate.id            = _plateListIdx;
                        plate.plateStr      = Convert.ToString(dr["PLATE"]);
                        plate.imageFilePath = Convert.ToString(dr["IMAGEPATH"]);

                        _plateList.Add(plate);
                        _plateListIdx++;
                    }
                }
            }
            // result from local file
            //dbManager.SearchPlateForFile(comboBox_Channel.SelectedIndex - 1 ,search_textBox_search.Text, ref result);

            // read local file result and add list

            /*foreach (DataRow dr in result.Rows)
             * {
             *  string[] itemStr = { Convert.ToString(dr["camId"]), Convert.ToDateTime(dr["dateTime"]).ToString(), Convert.ToString(dr["plate"]) };
             *  ListViewItem item = new ListViewItem(itemStr);
             *  Search_listView1.Items.Add(item);
             *
             *  PLATE_FOUND plate = new PLATE_FOUND();
             *  plate.cam = Convert.ToInt32(dr["camId"]);
             *  plate.dateTime = Convert.ToDateTime(dr["dateTime"]);
             *  plate.id = _plateListIdx;
             *  plate.plateStr = Convert.ToString(dr["plate"]);
             *  plate.imageFilePath = Convert.ToString(dr["imageFilePath"]);
             *  //plate.snapshot = byteArrayToImage((byte[])dr["image"]);
             *
             *
             *  _plateList.Add(plate);
             *  _plateListIdx++;
             * }*/
        }
示例#9
0
        private void anpr_ANPRDetected(int channel, string plateStr, byte[] frame)
        {
            Console.WriteLine("ANPR Detected channel " + channel + " Time is " + DateTime.Now);

            if (this.panel1.InvokeRequired)
            {
                this.panel1.BeginInvoke(new Action(() =>
                    {
                        string[] itemStr = { Convert.ToString(channel, 10), DateTime.Now.ToString(), plateStr };
                        ListViewItem item = new ListViewItem(itemStr);
                        listView1.Items.Add(item);

                        textBox_anpr.Text = plateStr;

                        MemoryStream ms = new MemoryStream(frame);
                        Image returnImage = Image.FromStream(ms);
                        anprResultThumbnail.Image = returnImage;

                        PLATE_FOUND plate = new PLATE_FOUND();
                        plate.cam = camera.camID;
                        plate.dateTime = DateTime.Now;
                        plate.id = _plateListIdx;
                        plate.plateStr = plateStr;
                        plate.snapshot = returnImage;

                        _plateList.Add(plate);
                        _plateListIdx++;

                        // id is auto-increment value in DB
                        dbManager.InsertPlate(plate.cam, plate.dateTime, plate.plateStr, plate.snapshot);
                        //dbManager.InsertPlateText(plate.cam, plate.dateTime, plate.plateStr, plate.snapshot); // file write test
                    }
                ));
            }
        }
示例#10
0
        private void Search_button_search_Click(object sender, EventArgs e)
        {
            DataTable result = new DataTable();

            DataTable DBresult = new DataTable();

            _plateList.Clear();
            _plateListIdx = 0;

            Search_listView1.Items.Clear();
            
            // result from DB
            dbManager.SearchPlate(search_textBox_search.Text, ref DBresult);
            // result from local file
            dbManager.SearchPlateForFile(comboBox_Channel.SelectedIndex - 1 ,search_textBox_search.Text, ref result);

            // read DB result
            foreach (DataRow dr in DBresult.Rows)
            {
                Console.WriteLine(Convert.ToString(dr["CARL_YMDHNS"]) + " , " + Convert.ToString(dr["CARL_CARNO"]).ToString() + " , " + Convert.ToString(dr["CARL_OK"]) + " , " + Convert.ToString(dr["CARL_CID"]));
            }

            // read local file result and add list
            foreach (DataRow dr in result.Rows)
            {
                string[] itemStr = { Convert.ToString(dr["camId"]), Convert.ToDateTime(dr["dateTime"]).ToString(), Convert.ToString(dr["plate"]) };
                ListViewItem item = new ListViewItem(itemStr);
                Search_listView1.Items.Add(item);

                PLATE_FOUND plate = new PLATE_FOUND();
                plate.cam = Convert.ToInt32(dr["camId"]);
                plate.dateTime = Convert.ToDateTime(dr["dateTime"]);
                plate.id = _plateListIdx;
                plate.plateStr = Convert.ToString(dr["plate"]);
                plate.imageFilePath = Convert.ToString(dr["imageFilePath"]);
                //plate.snapshot = byteArrayToImage((byte[])dr["image"]);


                _plateList.Add(plate);
                _plateListIdx++;
            }

        }