Compare image (Legacy)
Aurora Agent 장치 화면의 지정 좌표 영역을 저장해 둔 기준 이미지와 픽셀 단위로 비교해 일치율을 판정합니다 (구버전 명령어).
Aurora Agent 장치의 현재 화면에서 지정한 좌표 위치의 영역을 명령어에 저장된 기준 이미지와 픽셀 단위로 비교합니다. 이전 버전과의 호환을 위해 유지되는 레거시 명령어입니다.
새 스크립트에서는 Images 명령어의 Search for image on 에서 Aurora agent 별칭을 선택해 If images 또는 Wait for images로 판정하는 방법을 권장합니다. 좌표 고정 비교가 아닌 화면 내 검색이므로 위치 변화에 강합니다.
매개변수
| Argument | Type | Description |
|---|---|---|
| Aurora agent alias | 선택 | 화면을 비교할 Aurora agent 장치 별칭 |
| Set the compare coordinate | — | 장치 화면을 받아 마우스 드래그로 비교 영역을 지정 — 선택한 영역이 기준 이미지로 명령어에 저장되고 좌표가 채워짐 |
| Left / Top / Right / Bottom | 숫자 | 비교 영역 좌표 — 실행 시 Left, Top 위치에서 기준 이미지 크기만큼 잘라 비교, 0보다 작은 값은 0으로 변경 |
| 기준 이미지 뷰어 | — | 저장된 기준 이미지 미리 보기 |
| Match percent | 숫자 | 일치로 판정할 최소 일치율(%) — 기본값 100.00 |
| Use as Testcase | 체크 | 체크 시 반환값 저장 대신 명령어 자체를 Pass/Fail 판정 항목으로 처리 |
| Delay | 숫자 | 명령어 실행 후 대기 시간 (Milliseconds) |
| Description | 텍스트 | 명령어 설명 (선택) |
반환값
반환값
일치 시 1, 불일치 시 0, 오류 시 음수 코드가 mReturnValue에 저장됩니다.
실제 일치율(%) 은 mMeasurementValue에 소수점 둘째 자리까지 저장되며, 디버그 메시지에도 Matching rate(xx.xx%) 형식으로 출력됩니다.
Use as Testcase 를 체크하면 반환값을 변수에 저장하는 대신 명령어가 판정 항목이 되어 1 이면 Pass, 그 외는 Fail로 처리됩니다.
설명
- 기준 이미지는 리소스 폴더가 아니라 명령어 데이터에 함께 저장됩니다.
Set the compare coordinate버튼으로 영역을 선택해야 기준 이미지가 만들어지며, 선택하지 않은 명령어는expression is empty오류로 실행되지 않습니다. - 실행 절차
- 장치 화면을 요청합니다 (최대 8초 대기).
- 받은 화면에서
Left, Top위치부터 기준 이미지와 같은 크기의 영역을 잘라냅니다. - 두 이미지를 픽셀 단위로 비교합니다. R/G/B 값 중 하나라도 다르면 불일치 픽셀로 계산합니다 (색상 오차 허용 없음).
- 불일치 픽셀 비율이
100 - Match percent를 넘으면0, 그 이하면1을 반환합니다.
- 비교에 사용한 장치 이미지는 실행 결과 화면에 표시되고, 일치/불일치 픽셀을 흑백으로 표시한 차이 이미지가 리포트 데이터로 저장됩니다.
- 스크립트 목록에는
Compare image on the '<alias>'(device). (ROI l,t,r,b)형식으로 표시되며, 예상 실행 시간은 50ms로 기록됩니다.
| 디버그 메시지 | 원인 |
|---|---|
expression is empty | 기준 이미지·영역이 지정되지 않음 |
object pointer is NULL | 명령어에 저장된 기준 이미지 데이터가 없음 |
timeout | Agent가 8초 안에 화면을 보내지 않음 |
connectivity is not connected | 장치에 접속할 수 없음 |
Match percent 를 100 으로 두면 픽셀 하나만 달라도 불일치입니다. 안티앨리어싱·커서·시계 등 변동 요소가 포함된 영역은 일치율이 떨어지므로, 변동이 없는 영역을 기준 이미지로 잡거나 Match percent 를 낮춰 사용하세요.
관련 명령어