|
peterlin 發表於 Sept 8, 2016 9:34:07 GMT
Hello, 站長 你好 小弟想要實作下圖, 首先由"1疊手(1B),右野手(RF)..."這段文字中,透過"1B"的圖或"1疊手(1B)"的圖來得到要點選的位置和順序,但是,但是效果不太好,不知道可否給一下建議,程式碼如下,謝謝. 目前實作的程式嗎:
|
|
|
AnkuLua 發表於 Sept 8, 2016 10:52:25 GMT
看來好像OK,會出甚麼問題? similarValue 設高一點有用嗎? 如果只是自己用,設成0.95 都沒問題 "1B" "2B"... 這些圖要不要連括號一起,C 和 CF 很容易弄錯,建議先找CF
如果要強壯一點,就要每個region裡每個圖都去比,然後找出相似度最高的 可以用 existsMultiMax()
function existsMultiMax(target, region) local oldROI = Settings:getROI() local maxScore = 0 local maxIndex = 0 local match if (region ~= nil) then Settings:setROI(region) end for i, t in ipairs(target) do if (i == 1) then usePreviousSnap(false) else usePreviousSnap(true) end if (exists(t, 0)) then -- check once local score = getLastMatch():getScore() if (score > maxScore) then maxScore = score maxIndex = i match = getLastMatch() end end end
resumeROI(oldROI) usePreviousSnap(false) if (maxScore == 0) then return -1 end return maxIndex, match end
以上
寫完記得分享拿推廣碼
|
|
|
peterlin 發表於 Sept 9, 2016 3:42:39 GMT
謝謝版主回覆, 首先先用原本的程式嗎繼續測, similarValue 是用0.8, 我發現異常卡住的原因(可能是), 應該是"右外野(RF),....."會因為文字長度不同, 文字自動縮放,造成跟我抓的圖不相同, 導致抓不到,我有改用你建議的圖只抓英文字, 如RF C 3B等, 以下是測試點, 謝謝. 對了, 也有改用existsMultiMax, 也是不太準, 3B和SP一直搞錯等, 想問一下, 這一段是什麼意思exists(t, 0), t是指要指其中一張T_XX.PNG, 如T_3B.PNG, 那另外一個參數設成0是指, 再麻煩傳授一下, 謝謝. 我有辦法改用getColor 來做嗎? 會不會getColor的那個中間點, 剛好顏色是底色, 造成有問題. 下圖3點全抓到 下圖3點全抓到 下圖3點全抓到 下圖抓到RF LF, 少2B, 2B看起來特別小 下圖只抓到RF 下圖只抓到RF
|
|
|
AnkuLua 發表於 Sept 9, 2016 4:00:14 GMT
如果用用existsMultiMax 那similarity 要設低一點...
|
|
|
AnkuLua 發表於 Sept 9, 2016 4:02:44 GMT
看來字會縮放,這個有點麻煩 搞不好要準備大中小三套字
|
|
|
peterlin 發表於 Sept 9, 2016 4:06:13 GMT
感謝, 那我只好先多準備幾套圖了, 再測測, 謝謝.
|
|