/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VisionCommon {
public interface ITrainParam {
}
///
/// Pattern 찾을 때 Parameter interface
///
public interface IRunParam {
}
///
/// 패턴 파인더 interface
///
public interface IPatternFinder {
///
/// 외부 패턴 파일
///
string FILE_EXT_PATTERN { get; set; }
///
/// 패턴 파일 경로 가져오기
///
/// 패턴 파일 경로
string GetPatternFilePath(string patternName = PatternConstants.FILE_NAME_PATTERN);
///
/// 패턴 불러오기
///
/// 성공 유무
int Load();
///
/// 패턴 저장하기
///
/// 성공 유무
int Save();
///
/// 패턴 생성하기
///
/// 성공 유무
int Create();
///
/// 패턴 제거하기
///
/// 성공 유무
int Remove();
///
/// 찾기 영역(ROI) 가져오기
///
/// ROI
ROI GetFindROI();
///
/// 찾기 영역(ROI) 설정하기
///
/// 설정할 ROI
/// 성공 유무
int SetFindROI(ROI findRoi);
///
/// 패턴 찾을 때 사용할 파라미터들을 가져오기
///
/// 패턴 찾을때 사용 할 파라미터 (RunParam)
IRunParam GetRunParam();
///
/// 패턴 찾을 때 사용할 파라미터들 설정하기
///
/// 패턴 찾을때 사용 할 파라미터 (RunParam)
/// 성공 유무
int SetRunParam(IRunParam runParam);
///
/// 패턴 찾기
///
/// 패턴 검출할 이미지
/// 패턴 결과
PatternResult Find(object image);
///
/// 패턴 찾기
///
/// 패턴 검출할 이미지
/// 검출할 영역
/// 패턴 결과
PatternResult Find(object image, ROI findRoi);
///
/// 패턴을 찾지 못했을 때 패턴 결과
///
/// 패턴 결과
PatternResult GetNotFoundPatternResult();
///
/// Tool 가져오기
///
/// 객체
object GetTool();
///
/// 패턴 결과 표시하기
///
/// 패턴 결과
/// 카메라 디스플레이
/// Fixture Pattern인지 여부
void Draw(
PatternResult patternResult,
ICameraDisplay cameraDisplay,
bool isFixturePattern = false);
///
/// 패턴 썸네일 가져오기
///
/// 썸네일
Bitmap GetThumbnail();
}
}