Java 更改原始图像文件的颜色权重

Java 更改原始图像文件的颜色权重,java,python,image-processing,rgb,Java,Python,Image Processing,Rgb,我正在做一个望远镜项目,我们正在测试CCD。每当我们拍照时,物体都是略带粉红色的,我们需要真实的颜色来正确地拍摄银河物体的图像。我计划用python或java编写一个小程序来更改颜色权重,但是如何访问原始数据文件(它是rgb.bin)中颜色的权重呢 我们正在使用拜耳矩阵算法将单色文件转换为彩色文件,我可以想象问题来自于此,但我想用一个小的颜色校正程序来解决它 谢谢 Java中的图像处理有一些有用的东西,请尝试使用BuffereImage类,这里我给您留下一个指向Javadoc的链接,您可以打开常

我正在做一个望远镜项目,我们正在测试CCD。每当我们拍照时,物体都是略带粉红色的,我们需要真实的颜色来正确地拍摄银河物体的图像。我计划用python或java编写一个小程序来更改颜色权重,但是如何访问原始数据文件(它是rgb.bin)中颜色的权重呢

我们正在使用拜耳矩阵算法将单色文件转换为彩色文件,我可以想象问题来自于此,但我想用一个小的颜色校正程序来解决它


谢谢

Java中的图像处理有一些有用的东西,请尝试使用
BuffereImage
类,这里我给您留下一个指向Javadoc的链接,您可以打开常用格式的图像,并使用
BuffereImage
访问每个像素的颜色或灰度

我不懂python


希望这有帮助

Java中的图像处理有一些有用的东西,请尝试使用
BuffereImage
类,这里我给您留下一个指向Javadoc的链接,您可以打开常用格式的图像,并使用
BuffereImage
访问每个像素的颜色或灰度

我不懂python


希望这有帮助

您可能想查看一下。我将允许您加载各种格式的图像并访问其颜色值

我不熟悉rgb.bin图像格式,但如果“权重”只是指调整各种rgb类型值,那么PIL可能值得研究()


请注意,PIL在Python v2.7之前都是官方支持的(欢迎页面上说是v2.6,但实际上是v2.7-请参见下载页面),但是该站点提供了一个针对Python v3.x的PIL的非官方版本。

您可能想查看该版本。我将允许您加载各种格式的图像并访问其颜色值

我不熟悉rgb.bin图像格式,但如果“权重”只是指调整各种rgb类型值,那么PIL可能值得研究()


请注意,PIL在Python v2.7之前都是官方支持的(欢迎页面上说是v2.6,但实际上是v2.7-请参见下载页面),但是该站点上有一个针对Python v3.x的PIL的非官方版本。

如果您的图像带有颜色投射(粉色色调),摄影师修复它的方法是调整图像的白平衡

这里对实现自动白平衡校正算法进行了很好的讨论:


由于您已经生成了一个包含二进制RGB值的文件,我假设您能够将其重新解析为数据结构,以便进一步处理。一旦在缓冲区中有了RGB像素,您就需要将它们转换为HSB(色调、饱和度、亮度)等价物,因为改变图像的色调本质上是对每个像素色调的全局操作。Java类包含用于执行HSBRGB转换的方法。

如果您的图像带有颜色转换(粉红色),摄影师修复它的方法是调整图像的白平衡

这里对实现自动白平衡校正算法进行了很好的讨论:


由于您已经生成了一个包含二进制RGB值的文件,我假设您能够将其重新解析为数据结构,以便进一步处理。一旦在缓冲区中有了RGB像素,您就需要将它们转换为HSB(色调、饱和度、亮度)等价物,因为改变图像的色调本质上是对每个像素色调的全局操作。Java类包含用于执行HSBRGB转换的方法。

典型的白平衡问题是由照亮场景的灯光组成中红色、绿色和蓝色的比例不同,或者传感器对这些颜色的灵敏度不同引起的。这些误差通常是线性的,因此可以通过乘以误差的倒数来进行校正

假设您测量一个点,您希望该点是完全白色的,其RGB值为(248237236),即粉红色。如果将图像中的每个像素乘以(248/248248248/237248/236),最终将得到正确的平衡


您必须首先确保您的拜耳滤光片产生正确的结果,否则线性误差的基本假设将是不正确的。

典型的白平衡问题是由照亮场景的灯光的不同比例的红色、绿色和蓝色造成的,或者传感器对这些颜色的灵敏度差异。这些误差通常是线性的,因此可以通过乘以误差的倒数来进行校正

假设您测量一个点,您希望该点是完全白色的,其RGB值为(248237236),即粉红色。如果将图像中的每个像素乘以(248/248248248/237248/236),最终将得到正确的平衡


您必须首先确保您的拜耳过滤器产生正确的结果,否则线性误差的基本假设将不正确。

您确实需要知道误差是由传感器及其颜色过滤器还是由软件引起的。如果是软件的问题,你所做的任何修正都会让事情变得更糟。将望远镜对准未聚焦的白墙,直接观察原始像素值。你真的需要知道误差是由传感器及其滤色器引起的,还是由软件引起的。如果是软件的问题,你所做的任何修正都会让事情变得更糟。将望远镜指向未聚焦的白墙,直接观察原始像素值。这种链接具有误导性,HSB很少是纠正颜色平衡的最佳方式。这种链接具有误导性,HSB很少是纠正颜色平衡的最佳方式。