如何使用n个方程式n个未知数从模糊图像计算真实像素颜色?

时间:2019-05-25 22:24:22

标签: matlab image-processing rgb

过去几个月来我一直在处理大图像去模糊问题,现在我一直坚持这个问题,我想通过使用一些额外的数据和数学运算来从模糊图像中获得原始的清晰图像。 假设这两个为5px * 5px图像。第一个是清晰的图像,第二个是相机抖动(或物体移动)造成的毛刺。在正确的图像中,颜色较浅,因为它与白色背景混合在一起。

假定我们知道原始像素已移动多少并成为模糊图像(在我们的情况下为3像素)。

enter image description here

我的假设是,将原始红色像素(255,0,0)散布成3个像素(其自身位置和顶部两个位置),其颜色为1/3。因此,粉红色像素是白色背景和红色像素的一部分的混合物。

现在,我想从这些混合物和我们要获得原始图像的模糊图像中创建一个n方程和n个未知数。

我只写列的方程式,只写第三个方程式,这对我们的情况很重要。

我也应该分别为R G和B写这些方程式,但是为了简单起见,我在这里只为G写它。

对于第三列的第一个像素,我们知道没有混合,只有其自己的颜色才能确定最终颜色。 因此对于像素(3,1): 1 * X1 + 0 * X2 + 0 * X3 + 0 * X4 + 0 * X5 = 255 (G值) < / p>

对于第二行像素: 0 * X1 + 1 * X2 + 0 * X3 + 0.333 * X4 + 0 * X5 = 190 我们知道第四行像素对此像素有1/3的影响,因此应用了其系数。 使用相同的方法,我们可以:

0 * X1 + 0 * X2 + 1 * X3 + 0.333 * X4 + 0 * X5 = 190

0 * X1 + 0 * X2 + 0 * X3 + 0.333 * X4 + 0 * X5 = 190

0 * X1 + 0 * X2 + 0 * X3 + 0 * X4 + 1 * X5 = 255

因此,我们有5个方程和5个未知数似乎可以解决。但是定义的方程式不能给出正确的答案。我不确定如何更改系数以使其给出正确答案。但是正确的数学形式是:

[1 0 0 0 0;

0 1 0 0.33 0;

0 0 1 0.33 0;

0 0 0 0.33 0;

0 0 0 0 1;]

答案是:[255191191191255]'

我只是应该对系数或答案进行一些归一化,以便为第三列的G提供正确的原始像素值:[255 255 255 0 255]

我不知道我的问题有多清楚,但是任何线索都可以帮助我...

谢谢

0 个答案:

没有答案