ピクセルごとに非線形最小二乗法を行い、その画像を出力する方法についてご教示ください
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
各画像のピクセルごとに最小二乗法を行い、最終的にその最適化された値を画像として読み込みたいです。モデル関数は既知で、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 comentarios
Tohru Kikawada
el 20 de En. de 2017
エラーメッセージが出るプログラムの全体を見せていただけないでしょうか。
Could you let me know the whole code that emits the error.
Respuestas (0)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!