Using value pointer is unsafe and deprecated error in Opencv Python

Viewed 3429

I am new to opencv and python and was learning the basics from the docs. I was learning about the trackbar in opencv (python).

I wrote the same code as shown in the docs here. (Note the version is 4.5.3)

Here's my code:

import numpy as np
import cv2 as cv

def nothing(x):
    pass

# Create a black image, a window
img = np.zeros((300,512,3), np.uint8)

cv.namedWindow('image')

# create trackbars for color change
cv.createTrackbar('R','image',0,255,nothing)
cv.createTrackbar('G','image',0,255,nothing)
cv.createTrackbar('B','image',0,255,nothing)

# create switch for ON/OFF functionality
switch = '0 : OFF \n1 : ON'
cv.createTrackbar(switch, 'image',0,1,nothing)

while(1):
    cv.imshow('image',img)
    k = cv.waitKey(1) & 0xFF
    if k == 27:
        break
    # get current positions of four trackbars
    r = cv.getTrackbarPos('R','image')
    g = cv.getTrackbarPos('G','image')
    b = cv.getTrackbarPos('B','image')
    s = cv.getTrackbarPos(switch,'image')
    if s == 0:
        img[:] = 0
    else:
        img[:] = [b,g,r]
cv.destroyAllWindows()

When I run this code, I get the following annoying long warning:

Using 'value' pointer is unsafe and deprecated. Use NULL as value pointer. To fetch trackbar value setup callback.

This is the full warning message if anyone wants to refer:

[ WARN:0] global C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-q3d_8t8e\opencv\modules\highgui\src\window.cpp (704) cv::createTrackbar UI/Trackbar(R@image): Using 'value' pointer is unsafe and deprecated. Use NULL as value pointer. To fetch trackbar value setup callback.

I tried to understand what it is trying to say, but couldn't understand much. AFAIU, the error is in the line (and subsequent):

r = cv.getTrackbarPos('R','image')

Even thought it is a warning, I would like to get rid of it, as it uses the word unsafe and deprecated.

I have opencv-python of version 4.5.3.56. I've tried getting through the docs, but seems they are the same as for older versions, and this particular feature is deprecated in my version.

Can anyone suggest me what should be done to avoid this?

1 Answers

this bug in 4.5.3 is already reported and fixed (at least for python)

however, unless you rebuild it locally, you will have to wait for the next pypi release ;(

Related