예제 #1
0
 private void addImagesFromFiles_Click(object sender, EventArgs e)
 {
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         ISession     session = ImageDatabase.GetCurrentSession();
         ITransaction tx      = session.BeginTransaction();
         foreach (String file in openFileDialog1.FileNames)
         {
             try
             {
                 FileInfo fi = new FileInfo(file);
                 if (fi.Exists)
                 {
                     using (Image <Bgr, Byte> image = new Image <Bgr, byte>(file))
                     {
                         PersistentImage pImage = new PersistentImage(image.Width, image.Height);
                         CvInvoke.cvCopy(image, pImage, IntPtr.Zero);
                         pImage.DateCreated = fi.CreationTime;
                         session.Save(pImage);
                     }
                 }
             }
             catch
             {
             }
         }
         tx.Commit();
         session.Close();
     }
     RefreshGrid();
 }
예제 #2
0
        public IList <PersistentImage> GetImages()
        {
            IList <PersistentImage> images;
            ISession session = ImageDatabase.GetCurrentSession();

            images = session.CreateCriteria(typeof(PersistentImage)).List <PersistentImage>();
            session.Close();
            return(images);
        }
예제 #3
0
        private void ClearDatabase()
        {
            ISession     session = ImageDatabase.GetCurrentSession();
            ITransaction tx      = session.BeginTransaction();

            session.CreateSQLQuery("delete from Images").ExecuteUpdate();
            tx.Commit();
            session.Close();
        }
예제 #4
0
 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == dataGridView1.Columns["viewColumn"].Index)
     {
         int               imageID = (int)dataGridView1.Rows[e.RowIndex].Cells["idColumn"].Value;
         ISession          session = ImageDatabase.GetCurrentSession();
         Image <Bgr, Byte> image   = session.Load <PersistentImage>(imageID);
         session.Close();
         using (ImageViewer viewer = new ImageViewer())
         {
             viewer.Image = image;
             viewer.ShowDialog();
         }
     }
 }
예제 #5
0
파일: MainForm.cs 프로젝트: aray2000/TFM
        public void AddImagesToDatabase(int count)
        {
            ISession     session = ImageDatabase.GetCurrentSession();
            ITransaction tx      = session.BeginTransaction();

            long tick = DateTime.Now.Ticks;

            for (int i = 0; i < count; i++, tick++)
            {
                PersistentImage image = new PersistentImage(400, 200);
                image.SetRandUniform(new MCvScalar(), new MCvScalar(50, 50, 50));

                image.Draw(tick.ToString(), new Point(10, 100), FontFace.HersheySimplex, 1.0, new Bgr(Color.White));

                image.SerializationCompressionRatio = 9;
                session.Save(image);
            }

            tx.Commit();
            session.Close();
        }
예제 #6
0
        public void AddImagesToDatabase(int count)
        {
            ISession     session = ImageDatabase.GetCurrentSession();
            ITransaction tx      = session.BeginTransaction();

            MCvFont f    = new MCvFont(Emgu.CV.CvEnum.FONT.CV_FONT_HERSHEY_SIMPLEX, 1.0, 1.0);
            long    tick = DateTime.Now.Ticks;

            for (int i = 0; i < count; i++, tick++)
            {
                PersistentImage image = new PersistentImage(400, 200);
                image.SetRandUniform(new MCvScalar(), new MCvScalar(50, 50, 50));

                image.Draw(tick.ToString(), ref f, new Point(10, 100), new Bgr(Color.White));

                image.SerializationCompressionRatio = 9;
                session.Save(image);
            }

            tx.Commit();
            session.Close();
        }