画像修復についての質問です

l2ノルムを用いた画像修復プログラムを作成したのですがコードが動きません どこが悪いのでしょうか。 ご回答よろしくお願いします
u=imread("pic.jpg")
lalambda = 0.5;
epsilon = 0.001;
p = 0.0005;
N = 2000;
u = ub;
for i = 1:N
[ux,uy] = grad(u);
normgrad = sqrt(ux.^2+uy.^2+epsilon^2);
u = u - p*(u-ub-lambda*div(ux./normgrad,uy./normgrad));
end
figure(3);imshow(u,[]);

1 commentaire

michio
michio le 25 Juin 2018
Modifié(e) : michio le 25 Juin 2018
例えば他の閲覧者も手元で試すことができるコードとデータ(pic.jpg) 、”動かない”現象の詳細(例:エラーメッセージや結果が意図と違うなど)もあればコメントが可能かと思いますので、どうぞよろしくお願いいたします。

Connectez-vous pour commenter.

Réponses (1)

Naoya
Naoya le 28 Juin 2018

2 votes

頂いている情報からだけでの判断となりますが、下記3カ所にてエラーが観測されます。
u = ub;
% ub が事前に定義されていないため、エラーとなります
[ux,uy] = grad(u);
% grad() はユーザであらかじめ用意された独自の関数でしょうか?
u = u - p*(u-ub-lambda*div(ux./normgrad,uy./normgrad));
% div の定義が確認できないためこちらではエラーとなります
解決されない場合、上記コメントにもありますが、問題再現の為の追加の詳細情報があるとよいかもしれません。

Catégories

Réponse apportée :

le 28 Juin 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!