GPU を使用したイメージのシャープ化
この例では、gpuArray
オブジェクトと GPU 対応関数を使用してイメージをシャープ化する方法を説明します。
関数gpuArray
を使用してイメージを読み取り、GPU に送信します。
image = gpuArray(imread("peppers.png"));
イメージを double の配列に変換し、畳み込みを適用してグラデーション イメージを取得します。次に、そのグラデーション イメージを使用して、イメージを係数 amount
でシャープ化します。
dimage = im2double(image); gradient = convn(dimage,ones(3)/9,"same") - convn(dimage,ones(5)/25,"same"); amount = 5; sharpened = dimage + amount.*gradient;
元のイメージとシャープ化したイメージをリサイズしてプロットし、比較します。
imshow(imresize([dimage,sharpened],0.7));
title("Original image (left) vs sharpened image (right)");
参考
gpuArray
| convn
| imread
| imshow