2D配列のリサンプリングアルゴリズムを実装しようとしています(グレースケール画像または浮動小数点値の2D配列である可能性があります)。
この特定の操作に含まれる手順は次のとおりです。
2D 配列が与えられた場合、まず何らかのダウンサンプリング方法 (できれば前のアンチエイリアシング フィルタリングを使用) を使用して、8x8 または 16x16 のサイズにダウンサンプリングします。
これに関するいくつかの数値操作。
次に、バイリニア補間を実行して元のサイズにアップサンプリングします。
プロトタイプとして、Octave で以下のようにコーディングしました。それはまともな結果をもたらします。C 実装に関する参考資料を探しています。
fid = fopen("anti_vig_gain_map.txt","r");
fid2 = fopen("ds_us_anti_vig_gain_map.txt","w");
for i=1:1968
for j=1:2592
map(i,j) = fscanf(fid,'%f\n',1);
end
end
%downsample
ds_map = imresize(map,[8 8],'linear');
%% some processing on ds_map
%upsample
us_map = imresize(ds_map,[1968 2592],'linear');
imresize.m のコードを確認しようとしましたが、しばらくすると複雑になり、そこから C コードを抽出できませんでした。
アップサンプリングを実行する双一次補間の C コードを参照するための任意のポインター。
また、バイリニア法を使用したアンチエイリアシング フィルタとダウンサンプリング法に関するいくつかのポインタを取得することも検討しています。