#pen #rgb 本来の色とは少し違う 二回連続で同じ背景だとメモリが整理されて数秒早くなるはず でも知らない色が出てきたり色が多い写真の背景とかは遅いよ(最短10秒前後、最長十数分前後)使っている端末によって半分になったり2倍かかったり... https://scratch.mit.edu/projects/983849331 ↑のデータはこのプログラムを基に改造したターボワープ専用ソフトでやったやつ 改造版はシンプルな背景なら3秒台で480*360検出しますが、他の人の作品みたいな超爆速ではない 結局この仕組みでの検出速度は記憶している色の総数とそれを見つけ出す時間に依存してしまう。 理想は一瞬で総当たりするシステムですが私には厳しいです。 大雑把な仕組み a:さっき検出した色なのy/n b見たことある色なのy/n c:総当たり a,b,cいずれかの後→保存プロセスへ aは直前に検知した色かどうかを確認します。 bはメモリ済みの色であるかを確認します。メモリは検出データが保存されるリストdateとは別に、過去に検出した色をすべて累積して保存している場になります。 cは色の組み合わせを総当たりして検出します。 保存プロセスではまずメモリ済みであった、つまりbを通ってきた場合はその色をメモリの先頭へ挿入させておきます。先頭へ行かせておくと次にメモリを捜索するときに、最近検出した色がリストの最初の方に集まっていることになり少しでも楽になるはず...という気持ちでこのメモリ整理機能を行います。その後にdateへ保存します。最初に"2回同じ背景だと速くなる"と言ったのはメモリの先頭の方にその背景で使われている色が集中したままになっているからということでした。 メモリしていなかった、つまりcを通ってきた初見の色であった場合はその色をメモリに保存させます。このメモリへの保存でもメモリの1番目に色を挿入させます。そしてdateへ保存します。