【问题标题】:How to find mean value for a given part of an Image如何找到图像给定部分的平均值
【发布时间】:2014-03-03 08:10:30
【问题描述】:

我有“n”个轮廓检测图像(帧)。我想找到该图像矩形部分的平均值。
(我需要计算该图像的矩形部分的平均值,而不是查找整个图像的平均值。)


我有矩形的 x,y 位置和宽度、高度值。第一个图像 x,y,w,h 是 109,45 ,171,139,第二个图像 x,y,w,h 是 107,71,175,110。

我使用以下代码获取值。
cv2.rectangle(frame, (x,y),(x+w,y+h), (0,0,255), 3)
我知道使用“ROI”概念我们可以进行均值计算。
所以,我提到了一些链接。
例如。 Get the ROI of two binary images and find difference of the mean image intesities between 2 ROI in python

但是,我对参数设置感到困惑。谁能帮我解决我的问题?提前谢谢...

【问题讨论】:

  • 如果需要计算同一张图片中多个矩形的均值,可以使用integral image的方法来计算。它比计算每个像素的值要快得多。即使这是一篇旧帖子,我认为它对其他人也有用。

标签: python opencv contour mean


【解决方案1】:

在 Python 中有更简单的方法可以从图像中获取矩形。由于cv2 对 NumPy 数组进行操作,因此您可以使用普通切片(注意,i 对应于yj - 对应于x,而不是其他方式):

rect = image[i:i+h, j:j+w]

取平均值更简单:

rect.mean()

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多