可以忽略多少像素值的差异?

问题描述

我从 Basler 相机获取拜耳图像(原始数据)并将其保存在 CSV 文件中。我再次从相机获取 GBR 图像并使用以下代码将其转换为原始数据并将其保存为 CSV 文件。但这两个 CSV 文件是不同的。 70% 的单元格完全相同,其他单元格的差异在 -130 到 127 之间,但只有 4% 的差异大于 5 或​​小于 -5。问题是什么?我该如何解决?还是正常的?

cv::Mat ConvertBGR2Bayer(cv::Mat BGRImage)   {

  cv::Mat BayerImage(BGRImage.rows,BGRImage.cols,CV_8UC1);

  int channel;

  for (int row = 0; row < BayerImage.rows; row++)
  {
    for (int col = 0; col < BayerImage.cols; coL++)
    {
      if (row % 2 == 0)
      {
        //even columns and even rows = blue = channel:0
        //even columns and uneven rows = green = channel:1
        channel = (col % 2 == 0) ? 0 : 1;
      }
      else
      {
        //uneven columns and even rows = green = channel:1
        //uneven columns and uneven rows = red = channel:2
        channel = (col % 2 == 0) ? 1 : 2;
      }

      BayerImage.at<uchar>(row,col) = BGRImage.at<cv::Vec3b>(row,col).val[channel];
    }
  }

  return BayerImage;
}

'''

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)