using Aurora.Api.DataType; using Matrox.MatroxImagingLibrary; using System.Collections.Generic; using System.Windows; using VisionCommon; namespace MilCommon { /// /// MIL or Cognex 상호참조 해결을 위한 클래스 /// public class IpEnvironment : IIpEnvironment { /// /// 이미지 픽셀 클리어 /// /// 이미지 public void ClearImage(object image) { MilEnvironment.ClearImage(image); } /// /// 이미지 리소스 회수 /// /// 이미지 /// 성공 유무 public int FreeImage(object image) { return MilEnvironment.FreeImage((MIL_ID)image); } /// /// 이미지 저장 /// /// 파일 경로 /// 이미지 /// 성공 유무 public int SaveImage(string filePath, object image) { return MilEnvironment.SaveImage(filePath, (MIL_ID)image); } /// /// 이미지 로드 /// /// 파일 경로 /// 이미지 public object LoadImage(string filePath) { throw new System.NotImplementedException(); } /// /// 이미지 로드 (MIL 전용) /// /// 파일 경로 /// 보드 타입 /// 보드 슬롯 위치 /// 이미지 public object LoadImage(string filePath, eBoardType boardType, eBoardSlotPos boardSlotPos) { return MilEnvironment.LoadImage(filePath, boardType, boardSlotPos); } /// /// 이미지 사이즈 가져오기 /// /// 이미지 /// 이미지 사이즈 public ImageSize GetImageSize(object image) { return MilEnvironment.GetImageSize((MIL_ID)image); } /// /// 이미지 중심좌표 가져오기 /// /// 이미지 /// 중심좌표 public ImagePoint GetImageCenter(object image) { return MilEnvironment.GetImageCenter((MIL_ID)image); } /// /// 이미지 사이즈 동일 여부 체크 /// /// 이미지 사이즈 1 /// 이미지 사이즈 2 /// 이미지 사이즈 동일 여부 public bool ImageSizeEquals(ImageSize imageSize1, ImageSize imageSize2) { return MilEnvironment.ImageSizeEquals(imageSize1, imageSize2); } /// /// 이미지의 ROI 내에서 Pixel Sharpness 값 가져오기 /// /// 이미지 /// Rect /// Pixel Sharpness 값 public int GetSharpnessWithCropRoi(object image, Rect cropRoi) { return MilEnvironment.GetSharpnessWithCropRoi((MIL_ID)image, cropRoi); } /// /// 이미지의 ROI 내에서 Pixel Sharpness 값 가져오기 /// /// 이미지 /// ROI /// Pixel Sharpness 값 public int GetSharpnessWithCropRoi(object image, ROI cropRoi) { return MilEnvironment.GetSharpnessWithCropRoi((MIL_ID)image, cropRoi); } /// /// Overlay 이미지 저장 /// /// 파일 경로 /// 모든 FOV 정보 /// 디스플레이 타입 /// 성공 유무 public int SaveScreenShot(string filePath, List fovInfos, eDisplayType displayType, object image = null) { return MilEnvironment.SaveScreenShot(filePath, fovInfos, displayType, image); } /// /// 이미지 반전 유무 확인 /// /// 카메라 컨피그 /// 이미지 반전 유무 public bool IsFlipEnabled(CamConfig camConfig) { return MilEnvironment.Instance.IsFlipEnabled(camConfig); } /// /// 이미지 회전 유무 확인 /// /// 카메라 컨피그 /// 이미지 회전 유무 public bool IsRotationEnabled(CamConfig camConfig) { return MilEnvironment.Instance.IsRotationEnabled(camConfig); } /// /// 이미지 세로 사이즈가 가로 사이즈보다 큰지 확인 /// /// 카메라 컨피그 /// 이미지 세로 사이즈가 가로 사이즈보다 크면 True public bool IsHeightLongerThanWidth(CamConfig camConfig) { return MilEnvironment.Instance.IsHeightLongerThanWidth(camConfig); } } }