2026-03-30 17:09:29 +09:00

118 lines
3.6 KiB
C#

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();
/// <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();
}
}