ピクセルごとに非線形最小二乗法を行い、その画像を出力する方法についてご教示ください
조회 수: 1 (최근 30일)
이전 댓글 표시
各画像のピクセルごとに最小二乗法を行い、最終的にその最適化された値を画像として読み込みたいです。モデル関数は既知で、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
Tohru Kikawada
2017년 1월 20일
エラーメッセージが出るプログラムの全体を見せていただけないでしょうか。
Could you let me know the whole code that emits the error.
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!