我正在做一个望远镜项目,我们正在测试 CCD。每当我们拍照时,事物都会略带粉红色,我们需要真实的色彩来正确成像银河物体。我打算在 python 或 java 中编写一个小程序来更改颜色权重,但是如何访问原始数据文件(它是 rgb.bin)中颜色的权重?
我们正在使用拜耳矩阵算法将单色文件转换为彩色文件,我想问题来自那里,但我想用一个小的颜色校正程序来解决它。
谢谢!
我正在做一个望远镜项目,我们正在测试 CCD。每当我们拍照时,事物都会略带粉红色,我们需要真实的色彩来正确成像银河物体。我打算在 python 或 java 中编写一个小程序来更改颜色权重,但是如何访问原始数据文件(它是 rgb.bin)中颜色的权重?
我们正在使用拜耳矩阵算法将单色文件转换为彩色文件,我想问题来自那里,但我想用一个小的颜色校正程序来解决它。
谢谢!
典型的白平衡问题是由照明场景的光线构成中的红、绿和蓝比例不同或传感器对这些颜色的敏感度不同引起的。这些误差通常是线性的,因此您可以通过乘以误差的倒数来校正它们。
假设您测量一个您期望完全为白色的点,其 RGB 值为 (248,237,236),即粉红色。如果将图像中的每个像素乘以 (248/248,248/237,248/236),您最终将获得正确的平衡。
您绝对应该确保您的拜耳过滤器首先产生正确的结果,否则线性误差的基本假设将不正确。
Java中有一些对图像处理有用的东西,尝试使用BufferedImage
该类,这里我给你一个Javadoc的链接,你可以打开常见格式的图像并使用它BufferedImage
来访问每个像素的颜色或灰度。
我不知道蟒蛇。
希望这可以帮助!
您可能想查看Python 图像库 (PIL)。我将让您以各种格式加载图像并访问其颜色值。
我不熟悉rgb.bin图像格式,但如果“权重”意味着简单地调整各种 RGB 类型值,那么 PIL 可能值得研究(PIL 文档 pdf)
请注意,PIL 官方支持最多 Python v2.7(欢迎页面显示为 v2.6,但实际上是 v2.7 - 请参阅下载页面),但是 Python v3 有一个非官方版本的 PIL .x 可从 Unofficial Windows Binaries for Python Extension Packages站点获得。