[问题] 限制条件最小二乘法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