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

3 views (last 30 days)
yuya watabe
yuya watabe on 25 Jun 2018
Answered: Naoya on 28 Jun 2018
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 Comment
michio
michio on 25 Jun 2018
Edited: michio on 25 Jun 2018
例えば他の閲覧者も手元で試すことができるコードとデータ(pic.jpg) 、”動かない”現象の詳細(例:エラーメッセージや結果が意図と違うなど)もあればコメントが可能かと思いますので、どうぞよろしくお願いいたします。

Sign in to comment.

Answers (1)

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

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!