Seite 1 von 1

Fette rote Warnung von PyCharm verstehen

Verfasst: Donnerstag 15. Juli 2021, 16:11
von benjamin222
Hallo,

ich habe Code aus einem Tutorial nachgetippt. Es funktioniert auch so wie gedacht aber meine IDE, PyCharm gibt eine dicke rote Warnung aus. Diese würde ich gerne verstehen und beheben.

Code: Alles auswählen

# import opencv and numpy
import cv2
import numpy as np



def nothing(x):
    pass



cv2.namedWindow('controls')

cv2.createTrackbar('r', 'controls', 15, 255, nothing)


while True:


    img = np.zeros((512, 512, 3), np.uint8)

    img_center_y = img.shape[0] // 2
    img_center_x = img.shape[1] // 2


    radius = int(cv2.getTrackbarPos('r', 'controls'))

    cv2.circle(img, (img_center_y, img_center_x), radius, (0, 0, 255), -1)

    cv2.imshow('img', img)
 
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break


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

Re: Fette rote Warnung von PyCharm verstehen

Verfasst: Donnerstag 15. Juli 2021, 16:16
von __deets__
Na das steht doch in der Fehlermeldung: "To fetch trackbar value, setup callback". Das solltest du tun. https://docs.opencv.org/3.4/da/d6a/tuto ... ckbar.html

Re: Fette rote Warnung von PyCharm verstehen

Verfasst: Donnerstag 15. Juli 2021, 18:47
von benjamin222
Verstehe ich leider nicht. Ich hab doch die Funktion nothing, die den aktuellen Wert von Trackbar als Paramter erhält. das verstehe ich unter "setup callback".
Welche Änderung an dem Code würde denn den Fehler beseitigen?

Re: Fette rote Warnung von PyCharm verstehen

Verfasst: Donnerstag 15. Juli 2021, 21:19
von benjamin222
Ich habe noch weiter rumgesucht aber in allen Tutorials ist es bisher gleich und ich kriege immer die Warnung. Anbei nochmal der Code als Minimalbeispiel.

Code: Alles auswählen

import cv2 as cv

def nothing(x):
    pass

cv.namedWindow("frame")
cv.createTrackbar("test","frame",50,500,nothing)
cv.waitKey(0)

Re: Fette rote Warnung von PyCharm verstehen

Verfasst: Sonntag 18. Juli 2021, 12:40
von __deets__
Wenn es auch bei dem Beispiel passiert, dann wird er Python wrapper das Problem sein. Es kann sein, dass der zb IMMER einen Wert per Pointer übergibt, auch wenn der nie abgefragt wird. Den kannst du aber nicht beeinflussen. Das müssen die reparieren.