将python行转换为c ++ opencv

时间:2013-07-12 13:03:26

标签: c++ python opencv

我目前正在努力将Python程序翻译成C ++我已将98%以上的程序转换为C ++,但是有一行我坚持使用。我目前正在使用OpenCV,我相信它与此有关。 Python Line:

      for box in self.Boxes[:]:
               Cropped_Box = image.crop(box)
               mean = ImageStat.Stat(Cropped_Box).mean

C ++专栏:

      for(int a = 0; a < 24; a++)
                Average_reds = cv::mean(roi[a])

Average_reds是cv::Scalar,我试图从LED指示灯板读取gps时间。我怎么不知道我是否在C ++中使用与Python中使用的相同的mean函数。 此外,Cropped_Boxroi[a]当然是Mat类型图像的裁剪区域。

1 个答案:

答案 0 :(得分:0)

答案是cv::mean()执行与ImageStat.mean相同的操作。它们都执行像素值的通道平均值。

略有不同:ImageStat.mean会返回每个频道的平均值列表。因此,三通道图像将返回三元素列表。 cv::mean()始终返回cv::Scalar,其中包含四个元素。这意味着如果图像少于四个通道,则只有cv::Scalar的前N个元素(其中N是图像通道的数量)将具有有意义的数字。