122 lines
3.8 KiB
C#
122 lines
3.8 KiB
C#
/*
|
|
* 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 {
|
|
}
|
|
|
|
/// <summary>
|
|
/// Pattern 찾을 때 Parameter interface
|
|
/// </summary>
|
|
public interface IRunParam {
|
|
}
|
|
|
|
/// <summary>
|
|
/// 패턴 파인더 interface
|
|
/// </summary>
|
|
public interface IPatternFinder {
|
|
/// <summary>
|
|
/// 외부 패턴 파일
|
|
/// </summary>
|
|
string FILE_EXT_PATTERN { get; set; }
|
|
|
|
/// <summary>
|
|
/// 패턴 파일 경로 가져오기
|
|
/// </summary>
|
|
/// <returns>패턴 파일 경로</returns>
|
|
string GetPatternFilePath(string patternName = PatternConstants.FILE_NAME_PATTERN);
|
|
/// <summary>
|
|
/// 패턴 불러오기
|
|
/// </summary>
|
|
/// <returns>성공 유무</returns>
|
|
int Load();
|
|
/// <summary>
|
|
/// 패턴 저장하기
|
|
/// </summary>
|
|
/// <returns>성공 유무</returns>
|
|
int Save();
|
|
/// <summary>
|
|
/// 패턴 생성하기
|
|
/// </summary>
|
|
/// <returns>성공 유무</returns>
|
|
int Create();
|
|
/// <summary>
|
|
/// 패턴 제거하기
|
|
/// </summary>
|
|
/// <returns>성공 유무</returns>
|
|
int Remove();
|
|
|
|
/// <summary>
|
|
/// 찾기 영역(ROI) 가져오기
|
|
/// </summary>
|
|
/// <returns>ROI</returns>
|
|
ROI GetFindROI();
|
|
/// <summary>
|
|
/// 찾기 영역(ROI) 설정하기
|
|
/// </summary>
|
|
/// <param name="findRoi">설정할 ROI</param>
|
|
/// <returns>성공 유무</returns>
|
|
int SetFindROI(ROI findRoi);
|
|
|
|
/// <summary>
|
|
/// 패턴 찾을 때 사용할 파라미터들을 가져오기
|
|
/// </summary>
|
|
/// <returns>패턴 찾을때 사용 할 파라미터 (RunParam)</returns>
|
|
IRunParam GetRunParam();
|
|
/// <summary>
|
|
/// 패턴 찾을 때 사용할 파라미터들 설정하기
|
|
/// </summary>
|
|
/// <param name="runParam">패턴 찾을때 사용 할 파라미터 (RunParam)</param>
|
|
/// <returns>성공 유무</returns>
|
|
int SetRunParam(IRunParam runParam);
|
|
|
|
/// <summary>
|
|
/// 패턴 찾기
|
|
/// </summary>
|
|
/// <param name="image">패턴 검출할 이미지</param>
|
|
/// <returns>패턴 결과</returns>
|
|
PatternResult Find(object image);
|
|
/// <summary>
|
|
/// 패턴 찾기
|
|
/// </summary>
|
|
/// <param name="image">패턴 검출할 이미지</param>
|
|
/// <param name="findRoi">검출할 영역</param>
|
|
/// <returns>패턴 결과</returns>
|
|
PatternResult Find(object image, ROI findRoi);
|
|
|
|
/// <summary>
|
|
/// 패턴을 찾지 못했을 때 패턴 결과
|
|
/// </summary>
|
|
/// <returns>패턴 결과</returns>
|
|
PatternResult GetNotFoundPatternResult();
|
|
/// <summary>
|
|
/// Tool 가져오기
|
|
/// </summary>
|
|
/// <returns>객체</returns>
|
|
object GetTool();
|
|
/// <summary>
|
|
/// 패턴 결과 표시하기
|
|
/// </summary>
|
|
/// <param name="patternResult">패턴 결과</param>
|
|
/// <param name="cameraDisplay">카메라 디스플레이</param>
|
|
/// <param name="isFixturePattern">Fixture Pattern인지 여부</param>
|
|
void Draw(
|
|
PatternResult patternResult,
|
|
ICameraDisplay cameraDisplay,
|
|
bool isFixturePattern = false);
|
|
/// <summary>
|
|
/// 패턴 썸네일 가져오기
|
|
/// </summary>
|
|
/// <returns>썸네일</returns>
|
|
Bitmap GetThumbnail();
|
|
}
|
|
}
|