コード例 #1
0
        private InfoImage GetInfoImageBitmap(InfoImage infoImage)
        {
            InfoImage newInfoImage = infoImage;

            using (var bmpTemp = new Bitmap(infoImage.Path))
            {
                newInfoImage.Bitmap = new Bitmap(bmpTemp);
            }

            return(newInfoImage);
        }
コード例 #2
0
        public static List <InfoImage> GetImagesInFolder(string pathFolder)
        {
            string[]         fileInFolder   = Directory.GetFiles(pathFolder, "*.*g", SearchOption.TopDirectoryOnly);
            List <InfoImage> listInfoImages = new List <InfoImage>();

            foreach (string file in fileInFolder)
            {
                string name = Path.GetFileName(file);
                string path = file;

                InfoImage infoImage = new InfoImage(name, path);

                listInfoImages.Add(infoImage);
            }
            return(listInfoImages);
        }
コード例 #3
0
        static void WriteInScreen(string diretoryImage)
        {
            var imageDto = new InfoImage(diretoryImage)._imageAnnotation;

            WriteToConsole("Largura......................................" + imageDto.Width);
            WriteToConsole("Altura......................................." + imageDto.Height);
            WriteToConsole("DpiX(Dots per InchsX)........................" + imageDto.HorizontalResolutionDpiX);
            WriteToConsole("DpiY(Dots per InchsY)........................" + imageDto.VerticalResolutionDpiY);
            WriteToConsole("PpiX(Pixel per InchsX)......................." + imageDto.HorizontalResolutionPpiX);
            WriteToConsole("PpiY(Pixel per InchsY)......................." + imageDto.VerticalResolutionPpiY);
            WriteToConsole("PixelFormat.................................." + imageDto.PixelFormat);
            WriteToConsole("Extension...................................." + imageDto.Extension);
            WriteToConsole("Megapixel...................................." + imageDto.Megapixel);
            WriteToConsole("FileSize....................................." + imageDto.FileSize);
            WriteToConsole("Interpolacao................................." + imageDto.Interpolacao);
        }
コード例 #4
0
        /// <summary>
        /// DataTable转换为list
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        protected static List <InfoImage> DataTableToList(DataTable dt)
        {
            List <InfoImage> Ms = new List <InfoImage>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                InfoImage M = new InfoImage();
                M.Id      = dt.Rows[i]["id"].ToInt32();
                M.ModelID = dt.Rows[i]["ModelID"].ToInt32();
                M.InfoID  = dt.Rows[i]["InfoID"].ToInt32();
                M.Title   = dt.Rows[i]["Title"].ToString();
                M.Url     = dt.Rows[i]["Url"].ToString();

                Ms.Add(M);
            }
            return(Ms);
        }
コード例 #5
0
ファイル: Function.cs プロジェクト: marceloig/instagrao
        /// <summary>
        /// A Lambda function that gets the biggest, smallest and the images extensions info about
        /// all the S3 Bucket imges.
        /// path for http request: /
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task <APIGatewayProxyResponse> InfoImageAsync(APIGatewayProxyRequest request, ILambdaContext context)
        {
            var info = new InfoImage
            {
                BiggestImage    = await getService.GetBiggestImage(),
                SmallerImage    = await getService.GetSmallestImage(),
                ImageExtensions = await getService.GetImagesExtensions()
            };
            var response = new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.OK,
                Body       = JsonConvert.SerializeObject(info),
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "application/json" }
                }
            };

            return(response);
        }
コード例 #6
0
        /// <summary>
        /// 将修改过的实体修改到数据库
        /// </summary>
        /// <param name="M">赋值后的实体</param>
        /// <returns></returns>
        public static int Update(InfoImage M)
        {
            IDbHelper     Sql = GetHelper();
            StringBuilder sb  = new StringBuilder();

            sb.Append("update [InfoImage] set ");

            sb.Append("[ModelID]=" + M.ModelID.ToS());
            sb.Append(",");
            sb.Append("[InfoID]=" + M.InfoID.ToS());
            sb.Append(",");
            sb.Append("[Title]=N'" + M.Title + "'");
            sb.Append(",");
            sb.Append("[Url]=N'" + M.Url + "'");

            sb.Append(" where Id='" + M.Id + "'");
            sb.Append("");

            if (DataBase.CmsDbType == DataBase.DbType.SqlServer)
            {
                sb.Append(";select @@ROWCOUNT");
            }
            if (DataBase.CmsDbType == DataBase.DbType.SQLite)
            {
                sb.Append(";select 0");
            }
            if (DataBase.CmsDbType == DataBase.DbType.MySql)
            {
                sb.Append(";SELECT ROW_COUNT()");
            }
            if (DataBase.CmsDbType == DataBase.DbType.Access)
            {
                sb.Append(";select 0");
            }
            if (DataBase.CmsDbType == DataBase.DbType.Oracle)
            {
                sb.Append(";select SQL%ROWCOUNT");
            }


            return(Sql.ExecuteScalar(CommandType.Text, sb.ToString()).ToInt32());
        }
コード例 #7
0
        private List <InfoImage> UpdateList(List <InfoImage> listInfoImage)
        {
            InfoImage        updateLeftInfoImage  = imageParameters.MainForm.LeftInfoImage;
            InfoImage        updateRightInfoImage = imageParameters.MainForm.RightInfoImage;
            List <InfoImage> updateListInfoImage  = listInfoImage;

            if (updateLeftInfoImage.DeletedOrMove == true)
            {
                int idLeftImage = listInfoImage.FindIndex(image => image.Name.Equals(updateLeftInfoImage.Name));
                updateListInfoImage.RemoveAt(idLeftImage);
            }

            if (updateRightInfoImage.DeletedOrMove == true)
            {
                int idRightImage = listInfoImage.FindIndex(image => image.Name.Equals(updateRightInfoImage.Name));
                updateListInfoImage.RemoveAt(idRightImage);
            }

            return(updateListInfoImage);
        }
コード例 #8
0
        private bool StartComparator(List <InfoImage> listInfoImage)
        {
            int idLeftImage  = 0;
            int idRightImage = 0;

            if (imageParameters.MainForm.LeftInfoImage != null)
            {
                InfoImage compareLeftInfoImage = imageParameters.MainForm.LeftInfoImage;
                idLeftImage = listInfoImage.FindIndex(image => image.Name.Equals(compareLeftInfoImage.Name));
            }
            if (imageParameters.MainForm.RightInfoImage != null)
            {
                InfoImage compareRightInfoImage = imageParameters.MainForm.RightInfoImage;
                idRightImage = listInfoImage.FindIndex(image => image.Name.Equals(compareRightInfoImage.Name));
            }

            Comparator comparator = new Comparator(imageParameters.MainForm);

            return(comparator.ListImageComparator(listInfoImage, idLeftImage, idRightImage, imageParameters.ComparisonRate));
        }
コード例 #9
0
        void ReleaseDesignerOutlets()
        {
            if (InfoButton != null)
            {
                InfoButton.Dispose();
                InfoButton = null;
            }

            if (InfoImage != null)
            {
                InfoImage.Dispose();
                InfoImage = null;
            }

            if (TaskDescription != null)
            {
                TaskDescription.Dispose();
                TaskDescription = null;
            }
        }
コード例 #10
0
        public bool ListImageComparator(List <InfoImage> listInfoImages, int idLeftImage, int idRightImage, int comparisonRate)
        {
            int startImage = idLeftImage;

            mainForm.UpdateLabelNbImgScanned((startImage + 1).ToString() + " / " + listInfoImages.Count);

            for (int i = startImage; i < listInfoImages.Count; i++)
            {
                InfoImage leftInfoImage = GetInfoImageBitmap(listInfoImages[i]);

                for (int j = i + 1; j < listInfoImages.Count; j++)
                {
                    if (i <= startImage && j <= idRightImage)
                    {
                        j = idRightImage;
                        continue;
                    }
                    else if (i == j)
                    {
                        continue;
                    }

                    InfoImage rightInfoImage = GetInfoImageBitmap(listInfoImages[j]);

                    UpdateSearching(listInfoImages[i], listInfoImages[j]);

                    double comparatorPercent = ImageComparator(leftInfoImage, rightInfoImage);

                    mainForm.UpdateLabelPercentage(comparatorPercent.ToString() + "%");

                    if (comparatorPercent >= comparisonRate)
                    {
                        return(true);
                    }
                }

                mainForm.UpdateLabelNbImgScanned((i + 1).ToString() + " / " + listInfoImages.Count);
            }
            return(false);
        }
コード例 #11
0
        /// <summary>
        /// 将数据插入表
        /// </summary>
        /// <param name="M">赋值后的实体</param>
        /// <returns></returns>
        public static void Insert(InfoImage M)
        {
            IDbHelper     Sql = GetHelper();
            StringBuilder sb  = new StringBuilder();

            sb.Append("insert into [InfoImage]([ModelID],[InfoID],[Title],[Url]) values(");
            sb.Append(M.ModelID.ToS());
            sb.Append(",");
            sb.Append(M.InfoID.ToS());
            sb.Append(",");
            sb.Append("N'" + M.Title + "'");
            sb.Append(",");
            sb.Append("N'" + M.Url + "'");
            sb.Append(")");

            if (DataBase.CmsDbType == DataBase.DbType.SqlServer)
            {
                sb.Append(";select @@Identity");
            }
            if (DataBase.CmsDbType == DataBase.DbType.SQLite)
            {
                sb.Append(";select last_insert_rowid()");
            }
            if (DataBase.CmsDbType == DataBase.DbType.MySql)
            {
                sb.Append(";select LAST_INSERT_ID()");
            }
            if (DataBase.CmsDbType == DataBase.DbType.Access)
            {
                sb.Append(";select max(id) from InfoImage");
            }
            if (DataBase.CmsDbType == DataBase.DbType.Oracle)
            {
                sb.Append(";select LAST_INSERT_ID()");
            }


            M.Id = Sql.ExecuteScalar(CommandType.Text, sb.ToString()).ToInt32();
        }
コード例 #12
0
        /// <summary>
        /// 根据条件语句取得第一个实体
        /// </summary>
        /// <param name="m_where">条件语句,不包含“where”</param>
        /// <returns></returns>
        public static InfoImage Find(string m_where)
        {
            IDbHelper    Sql = GetHelper();
            InfoImage    M   = new InfoImage();
            DbDataReader Rs  = Sql.ExecuteReader(CommandType.Text, "select [id],[ModelID],[InfoID],[Title],[Url] from [InfoImage] where " + m_where, true);

            if (!Rs.Read())
            {
                M.Id = 0;
            }
            else
            {
                M.Id      = Rs["id"].ToInt32();
                M.ModelID = Rs["ModelID"].ToInt32();
                M.InfoID  = Rs["InfoID"].ToInt32();
                M.Title   = Rs["Title"].ToString();
                M.Url     = Rs["Url"].ToString();
            }
            Rs.Close();
            Rs = null;
            return(M);
        }
コード例 #13
0
        /// <summary>
        /// Process a batch of images and handle feedback
        /// </summary>
        /// <param name="images">A batch of input images</param>
        /// <returns></returns>
        private async Task ProcessAsync(List <HImage> images)
        {
            var findLineConfigs = new FindLineConfigs(FindLineParams.ToList(), FindLineLocationsRelativeValues);

            var result =
                await Task.Run(() =>
                               MeasurementUnit.ProcessAsync(images, findLineConfigs, FaiItems, IndexToShow,
                                                            RunStatusMessageQueue));


            InfoImage.DispImage(WindowHandle);

            if (WindowHandle != null)
            {
                result.HalconGraphics.DisplayGraphics(WindowHandle);
                result.DataRecorder.DisplayPoints(WindowHandle);
            }

            result.DataRecorder.Serialize(CsvDir + "/DebuggingData.csv");
            UpdateFaiItems(result.FaiDictionary);
            CsvSerializer.Serialize(FaiItems, ImageNames[CurrentIndex]);
        }
コード例 #14
0
        private double ImageComparator(InfoImage leftInfoImage, InfoImage rightInfoImage)
        {
            double equal    = 0;
            double notequal = 0;

            Bitmap resizeRightInfoImage = ResizeBitmap(rightInfoImage.Bitmap, leftInfoImage.Bitmap.Height, leftInfoImage.Bitmap.Width);

            //TODO stream (IEnumerable) ?

            for (int i = 0; i < leftInfoImage.Bitmap.Width; i++)
            {
                for (int j = 0; j < leftInfoImage.Bitmap.Height; j++)
                {
                    string pixelLeft  = leftInfoImage.Bitmap.GetPixel(i, j).Name.ToString();
                    string pixelRight = resizeRightInfoImage.GetPixel(i, j).Name.ToString();

                    if (pixelLeft == pixelRight)
                    {
                        equal++;
                    }
                    else
                    {
                        notequal++;
                    }
                }
            }

            if (equal == 0)
            {
                return(0);
            }
            else
            {
                return(Math.Floor((equal / (equal + notequal)) * 100));
            }
        }
コード例 #15
0
 private void UpdateSearching(InfoImage leftInfoImage, InfoImage rightInfoImage)
 {
     mainForm.LeftInfoImage  = leftInfoImage;
     mainForm.RightInfoImage = rightInfoImage;
     mainForm.UpdateLabelPercentage("Searching");
 }
コード例 #16
0
ファイル: Data.Designer.cs プロジェクト: kuibono/KCMS2
 public void AddToInfoImage(InfoImage infoImage)
 {
     base.AddObject("InfoImage", infoImage);
 }
コード例 #17
0
ファイル: Data.Designer.cs プロジェクト: kuibono/KCMS2
 public static InfoImage CreateInfoImage(int id)
 {
     InfoImage infoImage = new InfoImage();
     infoImage.id = id;
     return infoImage;
 }