Example #1
0
        private void CopyQrToBufferToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (DataBasItemCollectionListBox.SelectedIndex != -1)
            {
                DataBaseItem dbi = (DataBaseItem)DataBasItemCollectionListBox.SelectedItem;

                Clipboard.SetText(dbi.QrCode);
            }
        }
        private void UpdateDataBase(double lat, double lon)
        {
            var item = new DataBaseItem()
            {
                cityName      = this.cityName,
                cityArea      = this.cityRegion,
                streetAddress = this.streetAddress,
                Latitude      = lat,
                Longitude     = lon,
                dateTime      = currentDateTime
            };

            connection.Insert(item);
            connection.Close();
        }
        private void tsbAddDataBase_Click(object sender, EventArgs e)
        {
            DataBaseItem dataBase = new DataBaseItem();

            dataBase.Name       = "1";
            dataBase.Connstring = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=BackhaulDB;Data Source=192.168.1.8";

            dbRoot db = new dbRoot();

            db.Connect(dbDriver.SQL, dataBase.Connstring);

            dataBase.DefaultDatabaseName = db.DefaultDatabase.Name;

            DatabaseAccess.Repository.Add(dataBase);

            RefreshDbTreeView();
        }
        private void cmsDbTree_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (e.ClickedItem.Name == "cmstsmigenerateAlExportDataSQL")
            {
                DataBaseItem dataBase = this.tvwObjects.SelectedNode.Tag as DataBaseItem;

                List <ITable> alltables = dataBase.GetAllExportTablesOrders();

                StringBuilder tables = new  StringBuilder();

                foreach (ITable table in alltables)
                {
                    tables.AppendLine(table.Name);
                }

                OutPutForm outPut = new OutPutForm();
                outPut.ShowText(tables.ToString());
                outPut.ShowDialog();
            }
        }
Example #5
0
        public void CallToChildThread()
        {
            unsafe
            {
                void *pWorker = cCreateFaceWorker(0, 0);    // 只加载人脸比对模块,打开摄像头0
                if (pWorker != null)
                {
                    // 建库。本处不使用真正的数据库,用数组模拟
                    DataBaseItem[] dbTtem = new DataBaseItem[2];
                    int            nSize  = cGetFeatureSize(pWorker);
                    IntPtr         pBuf1  = Marshal.AllocHGlobal(nSize);
                    IntPtr         pBuf2  = Marshal.AllocHGlobal(nSize);
                    dbTtem[0].pFeature = (char *)pBuf1;
                    dbTtem[1].pFeature = (char *)pBuf2;

                    // 录入
                    IntPtr pPic1 = Marshal.StringToHGlobalAnsi(m_strPic1);
                    IntPtr pPic2 = Marshal.StringToHGlobalAnsi(m_strPic2);
                    dbTtem[0].nId = 1;
                    int nR1 = cFeatureExtractP(pWorker, (char *)pPic1, dbTtem[0].pFeature);
                    dbTtem[1].nId = 2;
                    int nR2 = cFeatureExtractP(pWorker, (char *)pPic2, dbTtem[1].pFeature);

                    // 摄像头抓拍并在库里搜索
                    while (true)
                    {
                        void *pFrame = cGetFrame(pWorker);
                        if (pFrame != null)
                        {
                            IntPtr pBuf = Marshal.AllocHGlobal(nSize);
                            if (cFeatureExtractF(pWorker, pFrame, (char *)pBuf) > 0)
                            {
                                float fS  = 0;
                                int   nId = 0;
                                for (int i = 0; i < 2; i++)
                                {
                                    float fR = cFeatureCompare(pWorker, (char *)pBuf, dbTtem[i].pFeature);
                                    if (fR > fS)
                                    {
                                        fS  = fR;
                                        nId = dbTtem[i].nId;
                                    }
                                }

                                if (fS > 0.5)
                                {
                                    labelScore.Text = string.Format("人脸搜索:匹配的人脸ID是 {0}(分数:{1});\n", nId, fS);
                                }
                                else
                                {
                                    labelScore.Text = string.Format("人脸搜索:未找到匹配的人脸(分数:{0});\n", fS);
                                }
                            }
                            else
                            {
                                labelScore.Text = "人脸搜索:无人脸;";
                            }

                            // 显示画面
                            void *hBitmap = cIplImage2hBitmap(pFrame);
                            pictureBoxCam.Image = Image.FromHbitmap((IntPtr)hBitmap);
                            cReleasehBitmap(hBitmap);
                        }
                        else
                        {
                            labelScore.Text = "人脸搜索:cGetFram fail!";
                        }
                        Thread.Sleep(m_nTime);
                    }
                }
                cReleaseFaceWorker(pWorker);
            }
        }