Horizontal Histogram in OpenCV

前端 未结 4 1241
太阳男子
太阳男子 2020-12-19 14:15

I am newbie to OpenCV,now I am making a senior project related Image processing. I have a question: Can I make a horizontal or vertical histogram with some functions of Open

4条回答
  •  無奈伤痛
    2020-12-19 14:49

    Based on the link you provided in a comment, this is what I believe you're trying to do.

    You want to create an array with n elements, where n is the number of columns in the input image. The value of the nth element of the array is the sum of all the pixels in the nth column.

    You can calculate this array by looping over the columns of the input image, using cvGetSubRect to access the pixels in that column, and cvSum to sum those pixels.

    Here is some Python code that does that, assuming a grayscale image:

    import cv
    
    def verticalProjection(img):
        "Return a list containing the sum of the pixels in each column"
        (w,h) = cv.GetSize(img)
        sumCols = []
        for j in range(w):
            col = cv.GetSubRect(img, (j,0,1,h))
            sumCols.append(cv.Sum(col)[0])
        return sumCols
    

提交回复
热议问题