Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何校正相机拍摄的RGB颜色?_C++_Image Processing_Rgb_Photo_Cimg - Fatal编程技术网

C++ 如何校正相机拍摄的RGB颜色?

C++ 如何校正相机拍摄的RGB颜色?,c++,image-processing,rgb,photo,cimg,C++,Image Processing,Rgb,Photo,Cimg,最近我脑子里有一个问题:我用手机摄像头(2MP)在电脑显示屏上拍摄了一张照片,然后将照片传送到电脑上。我注意到的是,拍摄图像的单个像素(RGB)值与原始图像不同(这很明显!),但颜色看起来相同;因此,我打算修改拍摄的图像,使像素颜色值(RGB)与原始图像相同(如果可能,100%),换句话说,使每个像素与原始图像相同!未使用原始图片。 我不知道这是不是可能的,但是任何帮助都将是非常感谢的,我使用Visual C++ 2005用CIMG库处理图像!br> 提前谢谢 我更感兴趣的是你为什么要拍摄自己的

最近我脑子里有一个问题:我用手机摄像头(2MP)在电脑显示屏上拍摄了一张照片,然后将照片传送到电脑上。我注意到的是,拍摄图像的单个像素(RGB)值与原始图像不同(这很明显!),但颜色看起来相同;因此,我打算修改拍摄的图像,使像素颜色值(RGB)与原始图像相同(如果可能,100%),换句话说,使每个像素与原始图像相同!未使用原始图片。

<>我不知道这是不是可能的,但是任何帮助都将是非常感谢的,我使用Visual C++ 2005用CIMG库处理图像!br>


提前谢谢

我更感兴趣的是你为什么要拍摄自己的屏幕?如果您正在运行windows,则只需按键盘上的“打印屏幕”键,然后打开,例如,绘制并粘贴图像


色差的存在是因为你的相机没有白平衡。即使是大多数手机摄像头也能实现白平衡。在屏幕上拍摄一张完全充满白色的照片。然后告诉相机使用它作为白色的参考。拍摄照片时,它应该是正确的。

要进行颜色校正,您需要获取原始图片的相关信息,或者需要一个数学模型来描述像素值从一个到另一个是如何受到影响的。如果两者都没有,则无法进行颜色校正。1:当图片出现在相机上时,如何知道RGB像素值是多少;2:如果图像看起来相同,为什么要更改它们?这个过程有很多。你应该查找术语“去马赛克化”和“拜耳模式”。@jdv:我需要恢复原始像素的精确值,图像不太重要,但当然它必须是相同的@莱因德林:如果你能详细解释一下数学模型的话。@xscott:谢谢你提供的信息,我会注意的!