Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
KT
KT am 12 Nov. 2015
Kommentiert: Tohru Kikawada am 20 Jan. 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 Kommentare
Tohru Kikawada
Tohru Kikawada am 20 Jan. 2017
Thank you for translating, Steven.
Tohru Kikawada
Tohru Kikawada am 20 Jan. 2017
エラーメッセージが出るプログラムの全体を見せていただけないでしょうか。
Could you let me know the whole code that emits the error.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by