将 python 行翻译成 c++ opencv

Posted

技术标签:

【中文标题】将 python 行翻译成 c++ opencv【英文标题】:Translating python line to c++ opencv 【发布时间】:2013-07-12 13:03:25 【问题描述】:

我目前正在努力将 Python 程序转换为 C++ 我已将超过 98% 的程序转换为 C++,但是有一条线我卡住了。我目前正在使用 OpenCV,我相信它与此有关。 Python 行:

      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 类型图像的裁剪区域。

【问题讨论】:

那么问题是什么? 我想要从 python 行 ImageState.(box).mean 到 C++ 的翻译我使用 cv::mean() 但我不确定这两行是否相同。如果不是,什么是 c++ 等价物? 你有 ImageStat 的文档是什么意思? cv::mean 有据可查:docs.opencv.org/modules/core/doc/… 我不知道,但谢谢! 【参考方案1】:

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

略有不同:ImageStat.mean 返回每​​个通道的平均值列表。所以三通道图像将返回一个三元素列表。 cv::mean() 总是返回一个 cv::Scalar,它有四个元素。这意味着如果图像的通道数少于四个,则只有 cv::Scalar 的前 N ​​个元素(其中 N 是图像通道数)会有有意义的数字。

【讨论】:

以上是关于将 python 行翻译成 c++ opencv的主要内容,如果未能解决你的问题,请参考以下文章

将python字典翻译成C++

Python 中的幂运算符 (**) 翻译成啥?

解释 1 行 C 代码并将其翻译成 Python [重复]

将几个批处理脚本命令翻译成 python [关闭]

注释会被翻译成机器代码吗? C++

C++ 代码翻译成 Java