Azzera filtri
Azzera filtri

ピクセルごとに非線形​最小二乗法を行い、そ​の画像を出力する方法​についてご教示くださ​い

1 visualizzazione (ultimi 30 giorni)
KT
KT il 12 Nov 2015
Commentato: Tohru Kikawada il 20 Gen 2017
各画像のピクセルごとに最小二乗法を行い、最終的にその最適化された値を画像として読み込みたいです。モデル関数は既知で、tとyも既知です。64*64などのmatrixになると関数をどのように設定すればいいか分からず、また、エラーが起こりピクセルごとの計算がうまくいきません。
-------------------------------------------------------------------------------------------------------------------- x1 = double(imread('1.png')); x2 = double(imread('2.png')); x3 = double(imread('3.png'));
t = [zeros(size(x1)) repmat(20,size(x1)) repmat(30,size(x1))];
y = [ones(size(x1)) x2./x1 x3./x1];
f = (exp(-x(1)*t) + exp(-(x(1)+x(2))*t)) - y;
%モデル関数とした場合に、
プログラムで利用できる最大変数サイズを超えました。
エラー lsqncommon (line 139) Jstr = sparse(ones(Jrows,Jcols));
エラー lsqnonlin (line 237) [xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
エラー lm (line 31) [x,resnorm,residual,exitflag,output] = lsqnonlin(@myfun1,x0); % Invoke optimizer
------------------------------------------------------------------------------------------------------------------ 「各ピクセルに対するlsqnonlin関数の使い方」と「各ピクセルごとに連続的に計算を行う」という点が分かっていません。何卒ご教示ください。
  3 Commenti
Tohru Kikawada
Tohru Kikawada il 20 Gen 2017
Thank you for translating, Steven.
Tohru Kikawada
Tohru Kikawada il 20 Gen 2017
エラーメッセージが出るプログラムの全体を見せていただけないでしょうか。
Could you let me know the whole code that emits the error.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by