相关疑难解决方法(0)

Star BV颜色指数与明显的RGB颜色

我正在尝试将明星的BV颜色索引转换为明显的RGB颜色.除了查找表格和颜色渐变之外,似乎没有众所周知的算法可以做到这一点.

什么是BV颜色指数?

这是天文学家为一颗恒星指定其明显颜色的数字.热星(低BV)是蓝色/紫色,冷色星(高BV)是红色的,其间有白色/橙色星.

初始算法

BV到开尔文

在此输入图像描述

var t = 4600 * ((1 / ((0.92 * bv) + 1.7)) +(1 / ((0.92 * bv) + 0.62)) );
Run Code Online (Sandbox Code Playgroud)

开尔文到xyY

如果将星型建模为黑体,则可以使用普朗克轨迹的数值近似来计算xy坐标(CIE色度)

在此输入图像描述

在此输入图像描述

在此输入图像描述

// t to xyY
var x, y = 0;

if (t>=1667 && t<=4000) {
  x = ((-0.2661239 * Math.pow(10,9)) / Math.pow(t,3)) + ((-0.2343580 * Math.pow(10,6)) / Math.pow(t,2)) + ((0.8776956 * Math.pow(10,3)) / t) + 0.179910;
} else if (t > 4000 && t <= 25000) {
  x = ((-3.0258469 …
Run Code Online (Sandbox Code Playgroud)

rgb colors astronomy dart

22
推荐指数
4
解决办法
7186
查看次数

如何从色彩校正增益中获得色温

我试图找出相机拍摄的照片的色温.

final CameraCaptureSession.CaptureCallback previewSSession = new CameraCaptureSession.CaptureCallback() {
    @Override
    public void onCaptureStarted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, long timestamp, long frameNumber) {
        super.onCaptureStarted(session, request, timestamp, frameNumber);
    }

    @Override
    public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, TotalCaptureResult result) {
        super.onCaptureCompleted(session, request, result);
        RggbChannelVector rggbChannelVector = result.get(CaptureResult.COLOR_CORRECTION_GAINS);
        getColorTemperature(rggbChannelVector);

        startCamera();
    }
};

private void getColorTemperature(RggbChannelVector rggbChannelVector) {
    //rggbChannelVector.getRed() = 2.192929
    //rggbChannelVector.getGreenEven() = 1.0
    //rggbChannelVector.getGreenOdd() = 1.0
    //rggbChannelVector.getBlue() = 1.832323
}
Run Code Online (Sandbox Code Playgroud)

iOS似乎有一个随时可用的方法来执行temperatureAndTintValues

在搜索类似的东西时(用Java或我可以采用的任何其他语言),几乎所有这些方法都期望RGB值具有[0, 255]范围.

将XYZ转换为CCT(相关色温)的方法很少,但即使要使XYZ值正确,我也需要RGB值. [0, 255]

正如你可以看到从数值COLOR_CORRECTION_GAINS是 …

android colors android-camera android-camera2

11
推荐指数
1
解决办法
2075
查看次数

如何将RGB值转换为色温?

怎样才能参加的RGB值(比如,从0-255三个坐标)所表示的颜色,并从它产生的色温以开尔文(或微倒数度)?

我看到这个看起来非常接近的问题.然而,问题提到x和y,答案提到R1和S1,我认为是CIE XYZ颜色空间坐标.我不太清楚如何去找那些.其他人链接到一篇论文.其他人如果没有"陈述颜色空间",RGB值就毫无意义(我以为我的显示器决定只显示RGB值的东西?).

有人可以在不指向其他地方的情况下整理整个事情并假设我知道所有颜色术语是什么吗?

python colors

5
推荐指数
1
解决办法
8086
查看次数