매크로

질문
2014.12.19 14:44

getRGB 관련 질문입니다.

조회 수 295 추천 0 댓글 10

신기루님이 알려주신대로 고쳐보고 있는데요. 아직 초보라서 힘들네요.


getRGB #cor #cog #cob 451 421
if #cor >= 240 and #cor <= 256 and #cog >= 240 and #cog <= 256 and #cob >= 240 and #cob <= 256?
toast 모험여관


위의 스크립트가 신기루님이 알려주신 RGB값을 이용해서 변하는 색값을 체크하는 구문인데..


한 부분만 따올때는 저렇게 써먹는걸 알겠습니다.


근데 두 부분 이상의 색값을 체크할때는 어떻게 해야 될지 모르겠더군요.


어설픈 지식으로


var #cor1 0

var #cog1 0

var #cob1 0

var #위치1x

var #위치1y

var #위치2x

var #위치2y


getRGB #cor #cog #cob #위치1x #위치1y

getRGB #cor1 #cog1 #cob1 #위치2x #위치2y

sleep 50

if #cor >= 240 and #cor <= 256 and #cog >= 240 and #cog <= 256 and #cob >= 240 and #cob <= 256?and?#cor1 >= 240 and #cor1 <= 256 and #cog1 >= 240 and #cog1 <= 256 and #cob1 >= 240 and #cob1 <= 256?


요렇게 스크립트를 짰을때 인식을 못하더라구요. 어디가 틀렸고 어떻게 수정해야 될지 궁금합니다!

감사합니다.


  • 신기루001 2014.12.19 15:02

    getRGB #cor1 #cog1 #cob1 #ax #ay
    getRGB #cor2 #cog2 #cob2 #a1x a1y
    #so1 = #cor1 + #cog1+ #cob1
    #so2 = #cor2 + #cog2+ #cob2
    #so3 = #so1 - #so2 - #cc

    if #so1 >= 729 and #so3 >= -1 and #so3 <= 1

    ?

    1점 좌표 - #ax ay 2점 좌표 - #a1x #a1y

    #cc - 두 점의 RGB 값을 모두 더한 것들의 차.

    두 점의 색값을 딸때 두 점의 색값의 차가 동일할 수도 있지만 1씩 차이가 날 수 있기에 저렇게 -1 ~ 1 사이의 범위를 지정해 두면 제대로 인식합니다.

    ?

    두 점의 색값의 차를 알고 싶을땐 위의 식을 응용해서 테스트 하면 구해집니다.

    ?

    :start

    getRGB #cor1 #cog1 #cob1 #ax #ay
    getRGB #cor2 #cog2 #cob2 #a1x a1y
    #so1 = #cor1 + #cog1+ #cob1
    #so2 = #cor2 + #cog2+ #cob2
    #so3 = #so1 - #so2

    ?

    toast #so3

    sleep 3000

    ?

    :end

    ?

    이렇게 하면 각각 색값의 합들의 차를 구하는데, 0,1,-1 의 오차를 포함하니 10번정도 돌려보고 중간값을 취해 #cc에 입력하세요.

  • profile
    epox 2014.12.19 15:32
    신기루님 RGB 방식이 딜레이를 설정해 줘도 알게모르게 딜이 늘어나는거 같은데
    어떠신가요??
  • 신기루001 2014.12.19 15:36
    제가 위에 써둔 방식은 RGB의 오차가 얼마이든 관계없이 인식 가능한 방법입니다. 두점의 좌표를 찍어 색값의 차를 비교하는 방식이기에 오차도 거의 없고요. 그리고 RGB 값의 오차는 +12 -12 입니다. 이건 제가 직접 확인한 것인데, 방법은 간단해요. 화면의 한 점을 계속 클릭 해보세요. R G B 의 값이 각각 12만큼 올라갔다 12만큼 내려가는 것을 반복해요. 따라서 그렇게 확인한 최저점이나 최고점에서 +- 12의 값을 잡으면 색값을 문제없이 인식할 겁니다.
  • profile
    epox 2014.12.19 15:38
    아 신기루님 방식으로 만든다면
    기존의 좌표 100% 활용가능하겠군요;; ㅎㅎ

    제가 한 질문의 요지는 그게아니구요
    저는 제가 만들어 쓰는입장이라;;;
    RGB로 수정을 좀 하다 보니까 (거의 완료단계;;)
    이상하게 딜레이가 늘어나는거 같아서리 ㅎㅎㅎ;;
  • 로디언 2014.12.19 15:38
    답글 정말 감사드립니다!

    헌제 제가 바보라서 그런지..

    so3랑 cc가 왜 필요한지 잘 모르겠습니다.

    cor1 corg1 cob1 이 만약 각각 모두 120이고

    cor2 cog2 cob2 는 만약 각각 모두 100이라면

    so1은 360, so2는 300, cc는 60이 되고...

    물론 색값이 조금씩 변하니까 -1에서 1차이는 있을 수 있다는건 알겠습니다.

    그래서 so3가 -1이나 0, 1이 되는건데... 만약 cor2 cog2 cob2가 각각 모두 80이라도

    so3는 -1이나 0, 1이 되는건 똑같지 않나요? 그럼 두번째 좌표를 어느걸 잡든 결과가 같아지는거 같은데..

    이해가 잘 안됩니다 ㅠㅠ
  • 신기루001 2014.12.19 15:47
    cc는 스크립트를 항상 < 1 > -1 으로 고정하려고 만든 방법입니다. 그 숫자를 좌표에 따라 < 61 > 59 이런식으로 고치는 것 보다 cc만 고치는 것이 편하잖아요 ㅎㅎ 그리고 so3는 두 좌표의 색값의 차를 비교하기 위해 꼭 필요합니다. 그리고 so3에 대해 설명하자면, 지난번 언급한 대로 지금 색값은 +- 12 정도로 계속 변합니다. 따라서 RGB 값의 합을 쓴다면 총 +- 36 의 오차가 생깁니다. 하지만 so3 를 사용해서 두점의 색값의 차를 이요한다면 이 시간에 따라 변하는 색값의 차이에 따른 오차를 0, 1, -1 로 줄일 수 있다는 것입니다. 거기에 so1의 색값의 합까지 비교하면 거의 오차 없이 화면인식이 가능해 지는데다 if 식의 조건이 간소해 진다는 점도 있습니다.
  • ZaiFan 2014.12.19 16:20
    오..전 몇군데 체크해서 색값 범위체크하는것만 생각했었는데
    두좌표에 색값차를 이용하는방법으로하면 훨씬 간단하게 되겠네요~
    좋은방법 배워갑니다^^
  • 로디언 2014.12.19 17:01
    자세한 설명 감사드립니다! 정말 친절하시네요! 꾸벅 (--)(__)
  • 왕e 2014.12.20 06:05
    기존 겟컬러에서 알지비로 넘어왔는데
    자세한 설명글 감사합니다
  • 더블젝스 2014.12.19 20:23

    아... 두 점의 색값의 차이가 동일한지 비교하는 방법이라니! 확실한 방법이겠네요


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 Granted 히로매크로 to got root permission 1 오바마대통령 2015.04.15 0/0
질문 goto문 질문좀 합니다 6 의정부휴지남 2015.03.04 0/0
질문 gogle 프로세스가 중지되었습니다.... qkrk43 2014.12.28 0/0
질문 GetRGB 이용한 변수 응용 질문이에요 2 Dlso 2016.11.05 0/0
질문 getRGB 관련 질문입니다. 10 로디언 2014.12.27 0/0
질문 getcolor 질문점요 3 가시바람 2016.06.04 0/0
질문 getcolor 질문 3 모스키토 2015.12.03 0/0
질문 getcolor 말고 getRGB 쓰는 이유가 뭔가요? 1 라임나오기 2015.01.11 0/0
질문 getcolor 1번으로 여러지점 값을 얻을 수 없나요? 4 골뱅이다 2015.07.24 0/0
질문 get rgb 관련 질문이 있습니다. 18 znpfg 2015.04.30 0/0
질문 get color있는 히로파일은 자꾸 게임이 강종됩니다. 5 리베하얀 2015.05.21 0/0
질문 g2 비훑님 스크립트 안짤리는법 아시는분 ㅠㅠ 5 kwang2020 2015.04.10 0/0
자유 g2 메크로 1 임노노 2015.05.18 0/0
자유 g2 나 갤3 스스스작 스크랩트 있으신분 공유좀해주세요~ 주렁살 2015.01.28 0/0
질문 g pro 2 에서 히로매크로 질문 1 까만엘프 2014.10.08 0/0
자유 frep 에서 히로 왔는데 넘 어렵내요 주이 2019.01.23 0/0
질문 ENDIF 와 관련하여 질문 올려봅니다. 2 해리윈스턴 2015.07.08 0/0
질문 end 명령어는 터치를 반복하게 되는건가요?? 3 다녕 2014.11.13 0/0
질문 DEVICE: star 4.2.2 이게 디바이스 몇버전인가여 ? 16 다크나이트 2014.11.14 0/0
질문 decryption error 이게뭔가요 ..ㅠㅠ 메가박스 에서 ov... 1 내얼굴인데예 2014.12.19 0/0
Board Pagination Prev 1 ... 114115116117118119120121122 123 Next
/ 123

전체 최신 인기글

전체 주간 인기글