Image processing Dubois浮雕矩阵是如何计算的?
我读过Eric Dubois的论文,但不明白如何计算一对特殊的彩色滤光片和显示设备的两个3 x 3矩阵。Dubois给出了设计用于红色/青色玻璃和CRT/等离子显示器的矩阵 最令人费解的是,这篇论文说“近似是在每一个阶段独立进行的Image processing Dubois浮雕矩阵是如何计算的?,image-processing,matrix,stereo-3d,Image Processing,Matrix,Stereo 3d,我读过Eric Dubois的论文,但不明白如何计算一对特殊的彩色滤光片和显示设备的两个3 x 3矩阵。Dubois给出了设计用于红色/青色玻璃和CRT/等离子显示器的矩阵 最令人费解的是,这篇论文说“近似是在每一个阶段独立进行的 样本位置”,这意味着计算依赖于图像,而矩阵表示为适用于任何图像。Sanders和McAllister清楚地解释了计算。(它们创建一个6 x 3矩阵,而不是两个3 x 3矩阵。) 我用这个Python脚本复制了他们的矩阵B:- import numpy as np AL
样本位置”,这意味着计算依赖于图像,而矩阵表示为适用于任何图像。Sanders和McAllister清楚地解释了计算。(它们创建一个6 x 3矩阵,而不是两个3 x 3矩阵。) 我用这个Python脚本复制了他们的矩阵B:-
import numpy as np
AL = np.array([[5.42327, .807004, .047325], # Left anaglyph filter
[2.70972, .50201, .0250529],
[.0000550941, .000411221, .00240686]])
AR = np.array([[.180431, 1.6395, 2.00309], # Right anaglyph filter
[.448214, 6.31551, 1.35757],
[.289201, 2.3925, 11.062]])
R = np.concatenate((AL, AR))
C = np.array([[11.6638, 8.3959, 4.65843], # CRT spectral distribution
[7.10807, 16.6845, 2.45008],
[.527874, 3.79124, 24.0604]])
Z = np.array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
D = np.concatenate((np.concatenate((C, Z), 1), np.concatenate((Z, C), 1)))
B = np.dot(np.dot(np.linalg.inv(np.dot(R.transpose(), R)), R.transpose()), D)
N = np.diagflat([1 / sum(B[0]), 1 / sum(B[1]), 1 / sum(B[2])])
print(np.dot(N, B))
[[ 0.45610004 0.50048381 0.17638087 -0.0434706 -0.08793882 -0.00155529]
[-0.04008216 -0.03782458 -0.01575895 0.37847603 0.73363998 -0.01845032]
[-0.01521607 -0.02059714 -0.00546856 -0.07215268 -0.11296065 1.2263951 ]]