一、情境敘述:
如果將一張 " 只有黑白兩色的圖片 " 切割成長寬 500*500 等份,
也就是 250,000 個小方格,
已知這 250,000 方格的中心點座標,要判別這些方格內中心點的顏色是否是 Color T,
並產出 500*500 的 1,0 矩陣於 excel 中,
二、已知方法:
方法一:請問是用迴圈一個一個點用 pixelgetcolor or pixelsearch 搜
方法二:一次搜一列,假設黑中心點是 1,白中心點是 0,
擷取一列中心點顏色為範例如下
1 1 1 0 0 1 0 1 1
假設起 始點座標 與 終點座標 分別為 (X0,Y1) -> (X999,Y1)
由左到右用 PixelSearch 搜一條線從起點搜到終點,
假設搜到1,紀錄座標 (X1,Y1) 後,
由 (X1,Y1) ~ (X999,Y1) 搜0(改搜白色),假設搜到0,紀錄座標 (X2,Y1),
則我可以知道 X1 ~ X2 的方格都是1(黑色),然後記錄在矩陣內,
三、嘗試成果:
已經完成方法一,一分鐘約可完成搜尋兩千多格,因為太慢,所以想出法二,
目前法二還在構思怎麼寫,也不確定法二是否比較快,之所以來問而不是直接實測,
這是因為實際圖形不只兩個顏色,我是為了簡化問題所以才先來發問,
主要問是否法二比較快,因為如果要開發法二,會有很多其他的難題,還在考慮要
不要花時間去開發...
四、問題敘述:
1. 請問單純就搜尋顏色的速度來講,完成整個搜尋是方法一還是方法二較快?
2. 如果將圖型存在剪貼簿 clipboard 變數中,可以針對在剪貼簿的圖形搜某點的
顏色嗎?
3. 如果將圖型存成檔案,可以直接針對該檔案搜某座邊點的顏色嗎?
(因為現在是針對螢幕上的座標搜)
4. 有沒有其他方法可以加快算出這 500*500 的顏色數值矩陣?
(目前有想到的是使用 AHK_H 的多線程,不過似乎蠻難實現的,而且電腦太爛似乎
效果也不好,先排除這個選項吧)
最後,為答謝回覆此問題的好心人,會依照回答比例送出 p 幣 (1000 ~ 8000),
或是如果你有很好的想法,站內信討論報酬也是可以的喔:)