私はいくつかの行動心理学研究のためのスコアリングシステムを考え出そうとしています。
グラフィックタブレットで、文字を描いてから、その上をなぞってもらいます。このトレースの精度を評価したいと思います。つまり、任意の文字('a')を描画してから、もう一度実行します。次に、最初に描画したときとの類似度に基づいてスコアを付けます。図面はピクセル位置として保存されます。
正確さは、元の文字に近いと評価されます。この方法では、スケール、回転、または位置の変更を考慮する必要はありません。概念的には、2つの線の間の領域のようなもので、線だけが非常に不規則であるため、(私の知る限り)積分は機能しません。
私はMATLABで書いていますが、概念的な助けをいただければ幸いです。描画されたすべてのピクセル間の最小距離を合計しようとしましたが、これにより、適切に配置された単一のポイントに良い(低い)スコアが得られます。
これは以前に行われたに違いありませんが、検索がうまくいきません。
---以下の@Billによって提案された方法を使用した部分的な解決策。bwdistのグラデーションが急すぎるため、機能しません。ビルが示す素敵な2番目の画像ではなく、元の画像のように見えます。
%% Letter to image
im = zeros(1080,1920,3); % The screen (possible pixel locations)
% A small square a bit like the letter 'a', a couple of pixels wide.
pixthick = 5;
im(450:450+pixthick,[900:1100],:) = 1;
im(550:550+pixthick,[900:1100],:) = 1;
im([450:550],900:900+pixthick,:) = 1;
im([450:570],1100:1100+pixthick,:) = 1;
subplot(2,1,1); imagesc(im); %% atransbw = bwdist(im(:,:,1)<0.5); subplot(2,1,2);
imagesc(atransbw);