【问题标题】:OpenCV - Counting number of black pixelsOpenCV - 计算黑色像素的数量
【发布时间】:2012-04-27 08:11:32
【问题描述】:

我有一个二进制图像。在某个感兴趣的区域内,我需要计算黑色像素的数量。总是有循环遍历像素并计算它们的方法,但我正在寻找一种更有效的方法,因为我需要实时进行。

我找到了一种计算非零像素数量的方法(使用 cvCountNonZero())。是否有任何这样的等效函数来计算零像素(似乎没有我所看到的那样)?如果不是,那么计算黑色像素的最有效方法是什么?

【问题讨论】:

  • 你不能从区域中的总像素数中减去非零像素数吗?
  • 是的,我已经这样做了,但是由于我的图像通常具有非常低的黑色像素浓度,我的目的是检查是否存在任何黑色像素,我认为计算黑色像素会会更好。无论如何,谢谢!

标签: c opencv optimization image-processing


【解决方案1】:

我相信零像素的数量可以看作:

int TotalNumberOfPixels = width * height;
int ZeroPixels = TotalNumberOfPixels - cvCountNonZero(cv_image);

【讨论】:

  • OpenCV >2.4 C++ 实现可能应该使用this 答案。几乎就是这个答案,但使用了较新的 C++ 接口。
猜你喜欢
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多