private InfoImage GetInfoImageBitmap(InfoImage infoImage) { InfoImage newInfoImage = infoImage; using (var bmpTemp = new Bitmap(infoImage.Path)) { newInfoImage.Bitmap = new Bitmap(bmpTemp); } return(newInfoImage); }
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); }
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); }
/// <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); }
/// <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); }
/// <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()); }
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); }
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)); }
void ReleaseDesignerOutlets() { if (InfoButton != null) { InfoButton.Dispose(); InfoButton = null; } if (InfoImage != null) { InfoImage.Dispose(); InfoImage = null; } if (TaskDescription != null) { TaskDescription.Dispose(); TaskDescription = null; } }
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); }
/// <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(); }
/// <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); }
/// <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]); }
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)); } }
private void UpdateSearching(InfoImage leftInfoImage, InfoImage rightInfoImage) { mainForm.LeftInfoImage = leftInfoImage; mainForm.RightInfoImage = rightInfoImage; mainForm.UpdateLabelPercentage("Searching"); }
public void AddToInfoImage(InfoImage infoImage) { base.AddObject("InfoImage", infoImage); }
public static InfoImage CreateInfoImage(int id) { InfoImage infoImage = new InfoImage(); infoImage.id = id; return infoImage; }