0

有没有办法通过使用 Lumia 成像 sdk 或任何其他替代方法来读取颜色查找表并将其应用于源图像?

提前致谢!

4

3 回答 3

0

有没有办法通过使用 Lumia 成像 sdk 或任何其他替代方法来读取颜色查找表并将其应用于源图像?

UWP 不提供读取颜色的控制。您可以使用ColorPicker来选择您想要的颜色。ColorPicker提供SelectedColor属性来获取选定的颜色。

Lumia Imaging SDK提供了许多类来改变图像的效果。从 Lumia 成像效果表中,您似乎想要使用ColorAdjustEffect来调整图像的 RGB 颜色组合。

您可以设置ColorAdjustEffect.BlueColorAdjustEffect.GreenColorAdjustEffect.Red。这些属性的范围是 -1.0 到 1.0。您还可以将Color.R设置为 0 到 255 之间的值。

作为工作回合,您可以使用不准确的方法将范围从 [-1,1] 转换为 [0,255]。

例如:

在 XAML 中:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="3*"/>
        <RowDefinition Height="auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Image Name="OriginalImage" Grid.Row="0" Width="200" Height="200"></Image>
    <xc:ColorPicker Name="MyColor" SelectedColorChanged="ColorPicker_SelectedColorChanged"  Grid.Row="1" Grid.Column="1"></xc:ColorPicker>
    <SwapChainPanel x:Name="SwapChainPanelTarget" Grid.Row="1" />
    <Button Grid.Row="2" HorizontalAlignment="Center" Content="Button" Click="Button_Click"></Button>
</Grid>

在后面的代码中:

private async void ColorPicker_SelectedColorChanged(object sender, EventArgs e)
{
    var r = MyColor.SelectedColor.Color.R * 2.0 / 255 - 1;
    var g = MyColor.SelectedColor.Color.G * 2.0 / 255 - 1;
    var b = MyColor.SelectedColor.Color.B * 2.0 / 255 - 1;
    _colorAdjustEffect.Red = r;
    _colorAdjustEffect.Green = g;
    _colorAdjustEffect.Blue = b;
    m_renderer = new SwapChainPanelRenderer(_colorAdjustEffect, SwapChainPanelTarget);
    await m_renderer.RenderAsync();
}

截图(gif):

在此处输入图像描述

于 2016-05-03T09:32:40.463 回答
0

感谢您的回复!

我们的问题陈述和用例是不同的,我们想要实现的是我们有一个 .png 图像,它是一个具有 ARGB 值的 3D 查找表,我们希望将其逐个像素地应用于目标图像。

PFA 查找表图像。

如果您可以建议我们或提供代码示例或片段来读取查找表并将 ARGB 值应用于目标图像,这将是一个很大的帮助。

目前我们正在尝试 RGBMixerEffect 和 ARGBColorCurves 的 David 建议的解决方案。但是我们不确定如何将查找表 png 转换为 ARGB,以便我们可以使用 David 建议的上述任何替代方案。

于 2016-05-03T11:47:10.957 回答
0

Lumia Imaging SDK 中没有查找表效果。也就是说,根据您的需要,您可能可以通过使用RGBMixerEffect来实现所需的效果。它使用ARGBColorCurves的集合将一种颜色映射到另一种颜色。

设置所有曲线可能需要一些工作,但您应该能够达到您想要的效果。

于 2016-05-03T06:13:35.383 回答