将 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_Box
和roi[a]
当然是Mat
类型图像的裁剪区域。
【问题讨论】:
那么问题是什么? 我想要从 python 行 ImageState.(box).mean 到 C++ 的翻译我使用 cv::mean() 但我不确定这两行是否相同。如果不是,什么是 c++ 等价物? 你有 ImageStat 的文档是什么意思? cv::mean 有据可查:docs.opencv.org/modules/core/doc/… 我不知道,但谢谢! 【参考方案1】:答案是YES,cv::mean()
执行与ImageStat.mean
相同的操作。它们都执行像素值的通道平均。
略有不同:ImageStat.mean
返回每个通道的平均值列表。所以三通道图像将返回一个三元素列表。 cv::mean()
总是返回一个 cv::Scalar
,它有四个元素。这意味着如果图像的通道数少于四个,则只有 cv::Scalar
的前 N 个元素(其中 N 是图像通道数)会有有意义的数字。
【讨论】:
以上是关于将 python 行翻译成 c++ opencv的主要内容,如果未能解决你的问题,请参考以下文章