반응형
화면의 해상도에 맞추어 이미지를 가변 하고 싶으셨나요? 그런데 이미지맥스로는 해상도를 알수가 없으셨다고요?
이제 그런 고민을 하지 않으셔도 됩니다. 이미지맥스에서도 스크린의 해상도를 알수 있습니다.
1. 이미지를 생성하고 인식범위를 '전체' 로 설정하기
우선 아무 1픽셀 이상의 이미지를 생성합니다. 그리고 인식범위를 '전체'로 설정합니다.
인식범위에 '전체' 라고 직접 키보드로 작성하여도되고, 혹은 ROI 버튼을 눌른후 Ctrl + A 버튼을 눌러 스크린이나 인식화면 전체를 ROI 영역으로 설정합니다.

2. ROI 취득함수(GetImageROI) 를 이용하여 ROI가 전체인 이미지의 인식범위를 취득하기

screen = GetImageROI('screen')
print(screen.w, screen.h)
--> screen = {x, y, w, y}
스크립트를 작성하여 GetImageROI() 함수를 이용하면 이미지의 ROI범위를 테이블 형태로 반환받을수있습니다.
반환값 = { x=시작좌표, y=시작좌표, w=폭, y=높이} 의 형태로 반환됩니다.
우리는 여기서 폭과 높이만 활용하면되는데, w, h의 키를 가진 형태로 저장되기 때문에 변수에 저장하여 변수.w, 변수.h 형태로 활용할수 있습니다.

3. 활용
-- 활용법1. 해상도에 따라 사용할 이미지 파일을 교체하기
screen = GetImageROI('screen')
print(screen.w, screen.h)
if screen.w == 1920 and screen.h == 1080 then
img = 'imagefile_1920'
elseif screen.w == 2560 and screen.h == 1440 then
img = 'imagefile_2560'
end
ret, acc, ix, iy, sx, sy = ImageSearch(img)
-- 활용법2. 해상도에 따라 활성화할 이미지를 변경하기
screen = GetImageROI('screen')
print(screen.w, screen.h)
if screen.w == 1920 and screen.h == 1080 then
EnableImage(true, '1920')
elseif screen.w == 2560 and screen.h == 1440 then
EnableImage(true, '2560')
end
이제 누울 자리는 알고 누울 수 있습니다.
반응형
'이미지맥스 그리고 루아(lua) > [응용] 보다 효율적인 사용법' 카테고리의 다른 글
[이미지맥스] 숫자에 콤마나 소수점, 슬래쉬가 있을때 OCR 정확도를 높히는 방법 (4) | 2022.04.27 |
---|---|
[이미지맥스] 인식 화면의 영역을 지정하여 변화율 비교하기 (객체지향) (0) | 2022.03.26 |
[이미지맥스] 지정영역을 자동으로 분할한 ROI 테이블 만들기 makeRoi() (0) | 2022.02.19 |
[이미지맥스] 인식 화면의 정지 여부 (앱동작정지) 를 검출하는 방법 (4) | 2021.07.10 |
[이미지맥스] 앱플레이어 hwnd 윈도우핸들 취득 방법 FindWindow(), FindWindowEx(), PostMessage(), SendMessage(), WM_MESSAGE (0) | 2021.07.10 |