[問題] 限制條件最小二乘法lsqlin

作者: fxxkjoe1231 (糟糕)   2023-06-15 18:30:46
大家好,目前使用lsqlin有遇到一個問題,
我有兩張在同一位置、角度、同時所拍攝同物影像,
這兩張影像除了一張黑白一張彩色外其他都相同,
我想要用lsqlin找出彩色影像中各波段灰階對於黑白影像灰階的關係,
其中假設兩張影像像素的灰階值有以下關係:
BW=w1B+w2G+w3R+c,也就是黑白影像(BW)除了由各單色組(B、G、R)加權(w1~w3)組成外,
還帶有一個常數c。
此外,還有一些限制,w1~w3總合為1,且w1~w3非負
因此使用lsqlin如下
[w1; w2; w3; c]=
lsqlin([B(:), G(:), R(:), ones], BW(:),[],[], Aeq, Beq, LB, UB);
Aeq=[1 1 1 0]; Beq=1; LB=[0 0 0 -inf]; UB=[1 1 1 inf];
希望藉由Aeq與Beq使所解出w1~w3總合為1,而LB與UB限制所解出w1~w3非負。
常數c的部分則無另外限制。
但實際操作後發現能解出一組w1~w3符合後者條件,但總和卻小於1(不到0.9)
想請教版上大大們,是否我哪邊使用上有問題?或是從根本上來說是我的數學概念有誤?
謝謝大家

Links booklink

Contact Us: admin [ a t ] ucptt.com