ZHCU955C August 2021 – March 2024 DLPC7540
通过手动混合应用命令提供两种混合模式:2D 亮度和简单 1D RGB。
简单 1D RGB 模式旨在支持不需要扭曲的简单混合用例。这意味着混合投影仪显示区域必须以正交方式重叠。任何扭曲都会导致出现视觉伪影。用户可直观地为每个投影仪手动配置增益和偏移,从而匹配投影仪之间的黑白电平。此模式支持控制 RGB 增益,以便匹配投影仪之间的白色和亮度。增益自动从重叠区域开头的满值线性斜升至结束时的零值,以便在投影仪之间实现平滑过渡。还支持非重叠区域、重叠区域以及来自相邻投影仪的 POM 重叠时的区域的 RGB 偏移。重叠量由用户指定,并通过硬件配置自动检测 POM 宽度。
2D 亮度混合支持由 N×M 个投影仪组成的矩形网格混合,最多可混合 27 个投影仪。此模式可以按如下方式使用扭曲和混合(两个投影仪用例的图示):
对于简单 1D RGB 模式,不允许扭曲。因此,投影仪必须重叠并正交对齐。可配置水平 (X) 方向和垂直 (Y) 方向上所有投影仪之间的重叠。对于简单 1D RGB 模式,用户直接确定混合系统中任何给定投影仪的混合映射的增益和偏移值。对于 2D 亮度模式,增益和偏移通过计算以下项得出:
混合映射中的增益和偏移值可确保所有投影仪都具有单一亮度范围,并且在重叠区域内,从一个投影仪到另一个投影仪有一个斜升转换。
几何校正只能通过梯形角实现,这意味着扭曲只能适应平面表面。
这里给出了一个 2D 亮度模式的示例 Python 脚本,其中描述了一个 3×3 混合投影仪系统。该脚本可在 DLP 控制程序中使用:
from dlpc754x.commands import *
from System.Threading import *
#Enable edge blending
WriteEnableEdgeBlending(1)
#Enable manual warping
WriteApplyManualWarping(1)
#Assign number of projectors in system
NumProjectorsColumns = 3
NumProjectorsRows = 3
#Assign index of self projector
SelfProjectorColumn = 1
SelfProjectorRow = 1
#Assign white and black luminance levels for all projectors in blending system
#These are specified in white_level/black_level pairs, in order of the projectors from upper left to bottom right
#This means size of the array must be 2*NumProjectorsColumns*NumProjectorsRows
WhiteBlackLevels = [
999,1, 1000,1, 999,1,
1000,1, 999,1, 1000,1,
999,1, 1000,1, 1000,1
#Write blending system parameters
print WriteEdgeBlendingSystemParams(NumProjectorsColumns, NumProjectorsRows, SelfProjectorColumn, SelfProjectorRow, WhiteBlackLevels)
#Assign horizontal and vertical overlaps
OverlapHorizontal = 500
OverlapVertical = 200
#Assign geometric adjustment type to keystone corners
GeometericAdjustmentType = DispEdgeBlendGeometryModeT.KeystoneCorners
#Assign coordinates to keystone corners (unwarped default for 3840x2160)
KeystoneTopLeftX = 0
KeystoneTopLeftY = 0
KeystoneTopRightX = 3839
KeystoneTopRightY = 0
KeystoneBottomLeftX = 0
KeystoneBottomLeftY = 2159
KeystoneBottomRightX = 3839
KeystoneBottomRightY = 2159
GeometryParams = [KeystoneTopLeftX, KeystoneTopLeftY, KeystoneTopRightX, KeystoneTopRightY, KeystoneBottomLeftX, KeystoneBottomLeftY, KeystoneBottomRightX, KeystoneBottomRightY]
#Write edge blending configuration
print WriteEdgeBlendingConfiguration(OverlapHorizontal, OverlapVertical, GeometericAdjustmentType, GeometryParams)