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

4 ビュー (過去 30 日間)
yuya watabe
yuya watabe 2018 年 6 月 25 日
回答済み: Naoya 2018 年 6 月 28 日
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 件のコメント
michio
michio 2018 年 6 月 25 日
編集済み: michio 2018 年 6 月 25 日
例えば他の閲覧者も手元で試すことができるコードとデータ(pic.jpg) 、”動かない”現象の詳細(例:エラーメッセージや結果が意図と違うなど)もあればコメントが可能かと思いますので、どうぞよろしくお願いいたします。

サインインしてコメントする。

回答 (1 件)

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

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!