åé¡
ãã®ãããã¯ã®ãã¬ãŒã ã¯ãŒã¯ã§è§£æ±ºããäž»ãªã¿ã¹ã¯ã¯ãå°å·ãã³ã³ãã¯ãã¹ãã¬ãŒãžãdjvuã§ã®ããã±ãŒãžåãªã©ã®ããã«ãæžé¢ïŒæžç±ãè¬çŸ©ãªã©ïŒã®ã¹ãã£ã³ãšåçã®æºåã§ãã
Photoshopããã³FineReaderã¯èæ ®ãããŸããã ãããã¯å€ãã®äŸ¿å©ãªããŒã«ãæäŸããŸãããäžè¬çã«èšãã°ãéãããããŸãã
ã¹ãã£ããŒã䜿çšãããšãéåžžã¯ãã¹ãŠã·ã³ãã«ã§ããååãªå質ã®ç»åãåŸããããããæå°éã®åŠçãå®è¡ã§ããŸãã
åçã§ãã£ãšé¢çœãïŒç §æã®åé¡ãšå¹ŸäœåŠçãªæªã¿ãè¿œå ãããŸãã æ®å¿µãªãããå°ãªããšãèªååããããã®å¹ŸäœåŠçæªã¿ã®è£æ£ã¯å°é£ã§ãã ããããç §æãšèæ¯ãããã°ãæŠãããšã¯ããªãå¯èœã§ãã äœãããŸããã
ããŒã«
Paint.NETã¯ãã¬ã€ã€ãŒãšãã£ã«ã¿ãŒããµããŒãããWindowsçšã®ã©ã¹ã¿ãŒã°ã©ãã£ãã¯ãšãã£ã¿ãŒã§ãã
Sikuliã¯åºæ¬çã«ãã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãšã®å¯Ÿè©±ãèªååããããã®ããŒã«ã§ãã ããã«ãã¢ããªã±ãŒã·ã§ã³ããã¹ãããããã®è¿œå æ©èœããããŸããããã®èšäºã§ã¯ãããã«è§ŠããŸããã Paint.NETã§ãã¯ããå®å šã«ãµããŒããããŠããªãããšãè£ãããã«ãSikuliã䜿çšããŸãã
Sikuliã®äž»ãªãã©ãŒæ©èœã¯ãäœæãããã¹ã¯ãªããã®å¯èŠæ§ãšåçŽãã§ããå¿ èŠããããŸã ã ããã¯ããèŠãããã®ã¯ãã®ä»çµã¿ãã§ãã 確ãã«ããããžã§ã¯ãã®å šäœçãªæ¹¿æ°ã¯å°è±¡ãããããå°ç¡ãã«ããŸãã ããŒãžã§ã³0.09ã§äœæ¥ããŸããã æè¿ãªãªãŒã¹ãããããŒãžã§ã³0.10ã§ã¯ãã¡ã€ã³ã®ã¬ãŒãã¯åé€ãããŸãããããšãã£ã¿ãŒã®[å ã«æ»ã]æ©èœãªã©ãå€ãã®éåžžã®æ©èœã¯ãŸã ãããŸããã
ãšããã§ãç§ã¯æè¿QAliberãããžã§ã¯ãã«åºäŒããŸããã ã©ãããããã¹ããããã€ã³ã¿ãŒãã§ã€ã¹ãšã®çžäºäœçšããã³å šäœçãªæŽç·Žã®ç¹ã§å€ãã®å©ç¹ããããŸãã ããããå¯èŠæ§...äžè¬çã«ã¯ãéããèŠãŠæããããšãã§ããŸã:)ãããããç§ã¯æã QAliberã䜿çšããããšããŸãã
Sikuliã¢ãŒããã¯ãã£ã«ã¯ãããŸããŸãªèšèªã§èšè¿°ãããããã€ãã®ã¬ã€ã€ãŒãå«ãŸããŸãã
- æäžäœã¯Jython APIã§ãã æ¬è³ªçã«ãSikuliã¹ã¯ãªããã¯Pythonããã°ã©ã ã§ãããJython APIã«ãã£ãŠæäŸãããæ©èœã«ã¢ã¯ã»ã¹ããŸãã ïŒåãããžã§ã¯ãã¯ïŒ scriptnameïŒ .sikuliãã©ã«ããŒã«æ ŒçŽãããŠããŸãããã©ã«ããŒå ã«ã¯ïŒ scriptnameïŒ .pyãã¡ã€ã«ãšPNGç»åããããŸããïŒèè ã¯ãJVMã®äžã§å®è¡ãããä»ã®èšèªã§ãããã¬ãã«ãå®è£ ããå¯èœæ§ã«èšåããŸãã Sikuli Java APIãããã°ã©ã ããçŽæ¥æäœã§ããŸãã
- äžéå±€ã¯Java APIã§ãã ããŒããŒããšããŠã¹ã§åäœããOpenCVã©ã€ãã©ãªãšå¯Ÿè©±ããŠãç»é¢äžã®ç¹å®ã®ã°ã©ãã£ãã¯ãã¿ãŒã³ãæ€çŽ¢ããŸãã
- ãããã£ãŠããã©ãããã©ãŒã äŸåã®äžäœã¬ãã«ã¯ãC / C ++ã§å®è£ ãããOpenCVã©ã€ãã©ãªã§ãã
çè«
å®éãã¿ã¹ã¯ã¯ãã€ãºããæçšãªä¿¡å·ãåé¢ããããšãªã®ã§ãé©åãªã¢ãããžãŒã䜿çšããŠã¢ã€ãã¢ã説æã§ããŸãããã³ããã¹ãã£ã«ã¿ãŒãšã¢ã¯ãã£ããã€ãºãªãã¯ã·ã§ã³ã·ã¹ãã ã§ãã
åçŽãªãããå€ãã£ã«ã¿ãŒã¯ãã³ããã¹ãã£ã«ã¿ãŒã®ããã«æ©èœããç¹å®ã®å¢çç·ããäžã®æããã®ãã¯ã»ã«ããã«ãããããŸãïŒæããã0ã«èšå®ããä»ã®ãã¹ãŠã®æããã255ã«èšå®ããŸãïŒã ããé«åºŠãªã¬ãã«ã§ã¯ãå€ãã¹ã ãŒãºã«å€åãã2ã€ã®å¢çãèšå®ãããŸãã
ç»åå ã®æãããåºç¯å²ã«ããã£ãŠå€åããå Žåããã³ããã¹ãã£ã«ã¿ãŒã®ã¿ã䜿çšããŠããæçšãªä¿¡å·ã倱ãããšãªããã€ãºããã«ãããªãããããããšã¯ãããŸããã ããå·§åŠãªæ¹æ³ãå¿ èŠã§ãã
ç°¡åã«èšãã°ãã¢ã¯ãã£ããã€ãºãªãã¯ã·ã§ã³ã·ã¹ãã ã®åäœåçã¯ããïŒä¿¡å·+ãã€ãºïŒ-ïŒãã€ãºïŒ=ïŒä¿¡å·ïŒããšè¡šçŸã§ããŸãã
ïŒä¿¡å·+ãã€ãºïŒã¯ç§ãã¡ã®åçã§ãã ïŒãã€ãºïŒã¯èæ¯ã§ãããã¹ããé€ããã¹ãŠã®ãã®ã§ãã ïŒä¿¡å·ïŒã¯ããããã£ãŠãããã¹ãã§ãã
æåã¯ïŒä¿¡å·+ãã€ãºïŒãããããŸãããããã®å Žåãæçšãªä¿¡å·ïŒããã¹ãïŒã®ç¹å®ã®ããããã£ã䜿çšãããšããã€ãºïŒãã€ãºïŒãç°¡åã«ååŸã§ããŸãã现ãç·ã§æ§æãããŸãã
ç»åã空çœã®ã·ãŒãã®ããã«èŠããããã«ãããã¹ããç©ããã«ããŒããããã£ã«ã¿ãŒãéžæããå¿ èŠããããŸãã ãã®ãããªãã£ã«ã¿ãŒãšããŠã¯ã Median Blur ïŒäœããã®çç±ã§Paint.Net ã§ãã€ãºãåŠçããæ段ãšããŠ[ ãã€ãº ]ã¡ãã¥ãŒã«ãããŸãïŒãé©ããŠããŸãããããéã®ç®çã§äœ¿çšããæçšãªä¿¡å·ãåé€ããŸãã
確ãã«ãã€ã©ã¹ãã§ã¯ç©äºã¯ããã»ã©ã¹ã ãŒãºã§ã¯ãªãå Žåãããããããã¯åå¥ã«åŠçããå¿ èŠããããŸã...
ã¢ã¯ã·ã§ã³ã®ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
- ããã¹ããªãã§ããããªèæ¯ãåŸãããã«ãå ã®ç»åã«äžå€®å€ãŒãããã£ã«ã¿ãŒãé©çšããŸãã
- å ã®ç»åãšæ®µèœ1ã§ååŸããç»åã®å·®ãèšç®ããŸãã
- 段èœ2ã§ååŸããç»åãå転ããŸãïŒçœãèæ¯ã«æãããã¹ããå¿ èŠã§ãïŒã
- ã¬ãã«ãã£ã«ã¿ãŒãé©çšããŠã³ã³ãã©ã¹ããåäžã«ããã¢ã€ãã 1-2ã®åŸã«æ®ã£ãããããªãã€ãºãåãé€ããŸãã
çŸããã¹ããŒã ãã€ã©ã¹ãããã£ããããããŸããããããã§ãç§ã¯èªåã®å®ç§äž»çŸ©ããã¶ã€ã³èœåãšèª¿åãããããšã¯ã§ããŸããã§ããïŒãããã圌ãã®äžåšïŒã æå³ãéåžžã«éæã§ãåçããªãããšãé¡ã£ãŠããŸãã
èªåå
ãããã£ãŠãèªååã®ã¿ã¹ã¯ã¯ãSikuliã䜿çšããŠãèšè¿°ãããã¢ã«ãŽãªãºã ã䜿çšããŠPaint.NETã§äžé£ã®ç»åãé çªã«éããŠåŠçããããšã§ãã
äºåã«ç»åãã©ã«ããéããŠãSikuliã«ã¢ã€ã³ã³ã衚瀺ãããã³ã³ããã¹ãã¡ãã¥ãŒããPaint.NETãèµ·åãããããè¯ãæ¹æ³ã¯æãã€ããŸããã§ãã...
Sikuli IDEãéããå¿ èŠãªå€æ°ã宣èšããŠæ°ããã¹ã¯ãªãããéå§ããŸãã
patterns = [ , , ]
openwith_img =
paintnet_img =
waitfor_img =
edited_text = "_edited"
base_timeout = 30000
negation_mode =
difference_mode =
- ãã¿ãŒã³ -åŠçãããã¡ã€ã«åœ¢åŒã®ç»åãå«ãé åã
- openwith_img ã paintnet_img-ã¯ãªãã¯ããã³ã³ããã¹ãã¡ãã¥ãŒé ç®ã
- waitfor_img-Paint.NETãéãæäœã«ã¯æéããããããã®ãã©ã°ã¡ã³ããç»é¢ã«è¡šç€ºããããšå®äºãããšèŠãªãããŸãã
- edited_text-åŠçããããã¡ã€ã«ã®ååã«è¿œå ãããæ¥å°ŸèŸã
- base_timeout-å¿ èŠã«å¿ããŠã¹ã¯ãªããå šäœã§ã¿ã€ã ã¢ãŠããå€æŽããªãããã«ããªãœãŒã¹ãéäžçã«äœ¿çšãããã¹ãŠã®æäœã®ã¿ã€ã ã¢ãŠãã®åºæ¬å€ïŒããªç§åäœïŒã
- negation_mode ã difference_mode-ã¹ã¯ãªãããæžããŠããéããããã®2ã€ã®ã¬ã€ã€ãŒãã¬ã³ãã¢ãŒããè©ŠããŠããŸããã ãããã£ãŠãå€æ°ãšããŠå®£èšããã®ã䟿å©ã§ããã
ããã§ã¯ãSikuliã¢ãããŒãã®åºæ¬çãªåé¡ãã€ãŸãã¹ã¯ãªããã®ç§»æ€æ§ã®å¶éã«æ³šæããå¿ èŠããããŸãã
ã»ãŒç¢ºå®ã«ç°ãªãã°ã©ãã£ãã¯åœ¢åŒã®ã¢ã€ã³ã³ããããŸãã ã¹ã¯ãªããã«èªåã§è¿œå ããå¿ èŠããããŸãã æ®ãã®ç»åã¯ãOSãšäœ¿çšãããã¬ã€ã¢ãŠãïŒVisualStyleïŒã®åœ±é¿ãåããå ŽåããããŸãã ç§ã®å Žåããããã¯b0seã®Windows XPããã³Opus OSã§ãã
ãã¹ãŠã®å¿ èŠãªæ©èœãç¶ããŸãã
def OpenWith (x, y, w):
rightClick(x)
click(openwith_img)
click(y)
wait(w, timeout = base_timeout *3 )
ã³ã³ããã¹ãã¡ãã¥ãŒãããã¡ã€ã«ãéããŸãã é¢æ°ã¯ããã¡ã€ã«ã¢ã€ã³ã³ãå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ïŒPaint.NETãªã©ïŒã«å¯Ÿå¿ããã¡ãã¥ãŒé ç®ãããã³ç»é¢ã®è¡šç€ºãããŠã³ããŒãã®å®äºã«å¯Ÿå¿ãããã©ã°ã¡ã³ãã®3ã€ã®ãã¿ãŒã³ãåãåãå¿ èŠããããŸãã
å€æ°åã®åœ¹ã«ç«ããªããŠãŒã¶ãŒãèš±ããŠãã ããã
def SaveFile (suffix):
type( "f" , KEY_ALT)
click( )
type(Key . END + suffix)
sleep( 1 )
type(Key . ENTER)
sleep( 1 )
type(Key . ENTER)
sleep( 7 )
Paint.NETã§ãã¡ã€ã«ãä¿åããŸãã Alt + FãæŒããŠã[ãã¡ã€ã«]ã¡ãã¥ãŒã衚瀺ããŸãã ïŒã¹ã¯ãªããã§ã¯ãå¯èœãªéããã¹ãŠã®ããŒããŒãã·ã§ãŒãã«ããã䜿çšããŠã¡ãã¥ãŒãæäœããããã§ã¯ãããŸããããããã«ããã¹ã¯ãªããããããã«æžå°ããã°ã©ãã£ãã¯ãã©ã°ã¡ã³ãã®æ°ãæžå°ããŸãã ïŒ
[ååãä»ããŠä¿å...]ã¡ãã¥ãŒé ç®ãã¯ãªãã¯ãããšãå ¥åãã©ãŒã«ã¹ããã¡ã€ã«åå ¥åãã£ãŒã«ãã«çœ®ãããŸãã æ¥å°ŸèŸãè¿œå ããŸãã ä¿åã®å®äºã®ä¿¡é Œã§ããå åãæãã€ããªãã£ãã®ã§ãé¢æ°ã®æåŸã«ååãªæéïŒ7ç§ïŒã®ç¡æäœãæ¿å ¥ããŸããã
def DoBlackWhite ():
type( "a" , KEY_ALT)
click( )
wait( , timeout = base_timeout)
B / Wãã£ã«ã¿ãŒã¯ãæåã«å¿ èŠãªãã£ã«ã¿ãŒã§ãã Alt + Aã§ã 調æŽã¡ãã¥ãŒãéããç®çã®é ç®ãéžæããŸãã ãã£ã«ã¿ã¯ãã©ã¡ãŒã¿ãªãã§æ©èœããŸãã 察å¿ããããŒã¯ãå±¥æŽããã«ã«è¡šç€ºããããŸã§åŸ æ©ããŸãã ïŒéåžžã«äŸ¿å©ãªããã«ã§ããããšãå€æããŸãããïŒ
def DoDuplicateLayer ():
type( "l" , KEY_ALT)
click( )
wait( , timeout = base_timeout)
ã¬ã€ã€ãŒã®è€è£œã ããã»ã¹ã¯äŒŒãŠããŸãã ãã®å Žåãã¬ã€ã€ãŒãåãæ¿ããå¿ èŠã¯ãããŸããã ããã¯è¯ãããšã§ããããã§ãªããã°ã ã¬ã€ã€ãŒããã«ããããå¿ èŠããããŸãã
def DoInvertColors ():
type( "a" , KEY_ALT)
click( )
wait( , timeout = base_timeout)
ãã£ã«ã¿ãŒãã¬ã åã®ãã®ãšåæ§ã
def DoOilPaint (a, b):
type( "c" , KEY_ALT)
click( )
click( )
sleep( 0.1 )
type(a + Key . TAB + Key . TAB + Key . TAB + b + Key . ENTER)
wait( , timeout = base_timeout *2 )
油絵ãã£ã«ã¿ãŒã ç§ã¯ããšããšããã䜿çšããŸããããæçµçã«ã¯Median Blurãæ¯æããŠèŸéããŸããã ç©èªã®ããã«ãŸã ä¿å:)
ïŒãã®å Žåããããã³ãŒããå¿é ããããšã¯æå³ããããŸãããçªç¶èª°ãã䟿å©ã«ãªããŸã...å®éãSikuliã察å¿ããæ©èœããµããŒãããŠããã°ãPaint.NETãæäœããããã®ãã¹ãŠã®æ©èœãå¥ã®ãã¡ã€ã«ã«åãåºãå¿ èŠããããŸããïŒ
ããã¯ãèšå®ãã€ã¢ãã°ãæã€æåã®ãã£ã«ã¿ãŒã§ãã å¿ èŠãªãã©ã¡ãŒã¿ãŒã®ãã¢ãé¢æ°ã«æž¡ããã察å¿ãããã©ãŒã ãã£ãŒã«ãã«å ¥åãããŸãã
def DoMedian (a, b):
type( "c" , KEY_ALT)
click( )
click( )
sleep( 0.1 )
type(a + Key . TAB + Key . TAB + Key . TAB + b + Key . ENTER)
wait( , timeout = base_timeout *2 )
[ äžå€®å€ãŒãã]ãã£ã«ã¿ãŒã¯ã [å¹æ ] > [ãã€ãº ]ã¡ãã¥ãŒã«ãããŸãã åã®ãã®ãšåæ§ã«æ§æãããŠãããéåžžã«äŸ¿å©ã§ãã
def DoLayerBlend (mode):
type(Key . F4)
click( )
click(mode)
type(Key . ENTER)
wait( , timeout = base_timeout)
type( "m" , KEY_CTRL)
wait( , timeout = base_timeout)
ã¬ã€ã€ãŒã®ãã¬ã³ã F4ã§ã ã¬ã€ã€ãŒããããã£ãã€ã¢ãã°ãéããç®çã®ãã¬ã³ãã¢ãŒããéžæããŸãïŒãã©ã¡ãŒã¿ãŒãšããŠæž¡ãããŸãïŒã 次ã«ãCtrl + Mã§ã¬ã€ã€ãŒãæ¥çããŸãã
def DoLevels (iwp, ibp, ogamma):
k_del = Key . DELETE + Key . DELETE + Key . DELETE + Key . DELETE
type( "a" , KEY_ALT)
click( )
type(k_del)
type(iwp)
type(Key . TAB + Key . TAB)
type(k_del)
type(ogamma)
type(Key . TAB)
type(k_del)
type(ibp)
sleep( 0.1 )
type(Key . ENTER)
wait( , timeout = base_timeout)
ãã£ã«ã¿ãŒã¬ãã« ã ãã®ãã€ã¢ãã°ã§ã¯ãå ¥åçœè²ç¹ãå ¥åé»è²ç¹ãåºåçœè²ç¹ãåºåé»è²ç¹ãåºåã¬ã³ãã®5ã€ã®ãã©ã¡ãŒã¿ãŒãæ§æã§ããŸãã ãã£ã«ã¿ãŒã®åºåã§ã¯ãæ倧ã®ã³ã³ãã©ã¹ããååŸããå¿ èŠããããããOWPãšOBPã«ã¯è§ŠããŸããã æ®ãããã©ã¡ãŒã¿ãŒãšããŠæž¡ããŸãã
ãã®ãã€ã¢ãã°ã®å ¥åãã£ãŒã«ãã®åäœã¯ãä»ã®ãã€ã¢ãã°ãšã¯ç°ãªããŸãã åé€ãã¯ãªãã¯ããããšãã·ãã¥ã¬ãŒãããŠãããããæ確ã«ã¯ãªãŒãã³ã°ããå¿ èŠããããŸãã
def DoFilter ():
DoBlackWhite()
DoDuplicateLayer()
DoMedian( "35" , "50" )
DoLayerBlend(difference_mode)
DoInvertColors()
DoLevels( "235" , "200" , "1" )
ãã¹ãŠã®ç©ºçœã1ã€ã®å šäœã«åéãå§ããŸãã å®éããã®é¢æ°ã®åäœãä¿èšŒããããã«ãã¹ã¯ãªããã®æ®ãã®éšåãååšããŸãã ããã§ã¯ãå¿ èŠãªãã©ã¡ãŒã¿ãŒãæã€äžé£ã®ãã£ã«ã¿ãŒãåŒã³åºãããŸãã
ïŒç»åã®åã»ããã®DoLevelsïŒïŒãã©ã¡ãŒã¿ãŒã埮調æŽããããšããå§ãããŸãããèšäºã®æåŸã«ãæå®ãããã©ã¡ãŒã¿ãŒã䜿çšããŠ1åã®ãã¹ã§äœæããäŸã瀺ããŸã...ïŒ
def RunTaskOverImage (x):
OpenWith(x, paintnet_img, waitfor_img)
sleep( 2 )
DoFilter()
sleep( 1 )
SaveFile(edited_text)
sleep( 1 )
closeApp( "paint.NET" )
sleep( 1 )
åäžã®ãã¡ã€ã«ãéããåŠçããä¿åããéããŸãã åŠçããããã¡ã€ã«ã¢ã€ã³ã³ïŒãŸãã¯ãã¿ãŒã³ ïŒãå«ãèŠã€ãã£ãé åã¯ããã©ã¡ãŒã¿ãŒãšããŠæž¡ãããŸãã
def main ():
for pat in patterns:
setThrowException( False )
find_regs = findAll(Pattern(pat) . similar( 0.95 ))
setThrowException( True )
if find_regs:
for region in find_regs:
RunTaskOverImage(region)
ç»é¢äžã®ãã¹ãŠã®ãã¡ã€ã«ãæ€çŽ¢ããèŠã€ãã£ãåŠçã
setThrowExceptionïŒïŒ -ãã®é¢æ°ã䜿çšãããšã findAllïŒïŒããã¿ãŒã³ã«äžèŽããåäžã®é åãæ€åºããªãå Žåã®Sikuliã®åäœãå€æŽã§ããŸãã ãã®å Žåãç»é¢ã«ãã¿ãŒã³ãèŠã€ãããªããŠãå¿é ã¯ãããŸããã
ãã¿ãŒã³ïŒpatïŒ.similarïŒ0.95ïŒ -ãã¿ãŒã³æ€çŽ¢ã¯ãããçšåºŠã®èš±å®¹åå·®ã§å®è¡ãããŸãã ããã¯ãå¯èœã§ããã°ãç°ãªããã·ã³ã®ã€ã³ã¿ãŒãã§ãŒã¹èšå®ã®éããè£ãå¿ èŠããããŸãã ããã©ã«ãã®0.7ã®æ¯çã¯æãããããŸãã ãã®çµæããã¹ãŠã®ã¢ã€ã³ã³ãåããã®ãšèŠãªãããã¹ã¯ãªããã¯ïŒé åå ã®ãã¿ãŒã³ã®æ°ã«å¿ããŠïŒåã§3åå®è¡ããããšããŸããã ãã ãã1.0ãèšå®ãã䟡å€ã¯ãããŸããããã®å ŽåãOpenCVã¯å¿ èŠãªã¢ã€ã³ã³ãããã¹ãããã§ããŸãã
sleep( 1 )
main()
popup( "done" )
æåŸã®ã³ãŒãïŒ mainïŒïŒé¢æ°ãåŒã³åºããŠãã¹ã¯ãªããã®å®äºãå ±åããŸãã
ã¡ã€ã³ïŒïŒé¢æ°ã¯ããããã°ã容æã«ããããã«åŒ·èª¿è¡šç€ºãããŠããŸãã 代ããã«ã説æãããŠããé¢æ°ã®ãããããåŒã³åºãã«çœ®ãæããŠãåå¥ã«ãããã°ã§ããŸãã
ãœãŒã¹ã³ãŒããå«ãã¢ãŒã«ã€ããããŠã³ããŒããã
å®å šãªãœãŒã¹ã³ãŒããèŠã
ãã¹ãäž
ãã¹ãã«äœ¿çšãããã®ïŒãã®ãããã¯ã®äœæã«åºã¥ããã³ã¡ã³ãã®åçã ã¢ãŒã«ã€ãããã®ä»»æã®åçã ã€ã³ã¿ãŒãããããã®ã©ã³ãã ãªã·ã§ããã
ã« | åŸ | ã« | åŸ |
é床ã®æž¬å®ã¯ãPentium M 2 GHzãš2 GBã®RAMãæèŒããã©ãããããã§å®è¡ãããŸããã 4ã€ã®ãã¹ãã€ã¡ãŒãžã§ã®ã¹ã¯ãªããå®è¡æéïŒ
- å®è¡1ïŒ6:32
- å®è¡2ïŒ6:57
- å®è¡3ïŒ6:47
- å®è¡4ïŒ6:38
å¹³åæéïŒ6å43ç§ã 1ã€ã®ç»åã®å¹³ååŠçæéïŒ1å41ç§ã
ã»ãšãã©ã®å Žåã圌ãã¯ãã£ã«ã¿ãŒãé£ã¹ãŸãã ããããã¹ã¯ãªããã®æé©åã«ãããç»åããšã«æ°åç§ãç¯çŽã§ãããšæããŸã...
çµè«
- 人ãåä¿¡ããŒã¿ã¹ããªãŒã ããæçšãªæ å ±ãæœåºã§ããå ŽåïŒããã¹ãã®èªã¿åãããã£ããã£ã®è§£æãªã©ïŒãã³ã³ãã¥ãŒã¿ãŒã®ã¢ã«ãŽãªãºã ãäœæããŠãã®æ å ±ãæœåºã§ããŸãã ãã®ã¢ã«ãŽãªãºã ã®è€éããšæ±çšæ§ã¯å¥ã®åé¡ã§ãã ã¢ã«ãŽãªãºã ãå¿ èŠãªã»ã©ã詳现ãèæ ®ããå¿ èŠããããŸãã 説æããã¢ã«ãŽãªãºã ã䜿çšãããšãåçŽãªãããå€ãã£ã«ã¿ãŒãããæ·±å»ãªå Žåã«ããã¹ãã¹ãããã·ã§ãããã¯ãªã¢ã§ããŸãããå¶éããããŸãã
- ä»æ¥ãSikuli IDEãæ·±å»ãªããŒã«ãšèããããšã¯å°é£ã§ãã ãåçã䜿ã£ãããã°ã©ãã³ã°ãã¯æããªä»äºã ããã§ã¯ãããŸããã ã€ã³ã¿ãŒãã§ã€ã¹ãæäœãããšãã«ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã䜿çšããã ãã§ã¯ä¿¡é Œæ§ãäœãã䜿çšå¯èœãªããŒã«ã¯åæã«ããŸã䟿å©ã§ã¯ãªããåçŽãªã¿ã¹ã¯ã解決ããå Žåã§ãåé¡ãçºçããããšããããŸãã åæ§ã®åé¡ãçºçããå¥ã®æ©äŒã«ãQAliberãè©ŠããŸã ã
- å€ãã®ã¿ã¹ã¯ã«ã€ããŠãSikuli Java APIã¯ãç¬èªã®ãã¹ãããŒã«ãªã©ã§äœ¿çšããããã®OpenCVã®äŸ¿å©ãªã©ãããŒãšããŠäŸ¿å©ã«ãªããšæããŸãã
è³æº
å ¬åŒãµã€ãPaint.NET
å ¬åŒãµã€ãSikuliã ããŠã³ããŒããããã¥ã¡ã³ããªã©ã®ãªã³ã¯
ãç¥ãããšãµã³ãã«ã¹ã¯ãªãããå«ãããã°
Sikuliããã¥ã¡ã³ãããŒãžã§ã³0.10
LaunchPadã®SikuliããŒãž
PSïŒãµããŒãããŠãããfree0uã«æè¬ããŸãã ç§ãåŸ ãããŠãããŠããã®èšäºãã»ãã·ã§ã³ã®åŸãããã»ãã·ã§ã³ã®åã«åœ¹ç«ã€äººã«è¬çœªããŸãã
UPDïŒãã¢ã«ãŽãªãºã ãã«ç§»åããŸããã ããè¯ããªãã·ã§ã³ãããå Žå-æžã蟌ã¿ãŸãã