opencv - How to calculate 3D histogram in python using open CV -
i want calculate 3d histogram of cielab image in python. using opencv calculate histogram. want compare images using comparehist function of opencv, thats why using opencv compute 3d histogram of image.
i tried following variables:
i_lab = image.copy() i_lab = i_lab.astype(np.uint8) range_hist = [[0, 100], [-100, 100], [-100, 100]] hist_1 = cv2.calchist([i_lab], [[0], [1], [2]], none, [[20], [20], [20]], range_hist) but gives error systemerror: error return without exception set please tell me doing wrong , if possible compute 3d histogram using opencv in python
i came across question while trying make 3d histogram of hsv image, , encountered same error. turns out opencv documentation leading astray here. docs written c++ api , such can used vague guide python cv2 api (although have found docs misleading c++ @ times).
the function signature follows:
cv2.calchist(images, channels, mask, histsize, ranges[, hist[, accumulate]]) -> hist the key point channels, histsize , ranges parameters should flat lists, not nested lists in example. try following, assuming i_lab three-channel image:
range_hist = [0, 100, -100, 100, -100, 100] hist_1 = cv2.calchist([i_lab], [0, 1, 2], none, [20, 20, 20], range_hist) for more complete example, try this code listing opencvpython blog.
Comments
Post a Comment