单击轨迹栏时,OpenCV Python内核崩溃



我正在尝试创建一个简单的轨迹条来测试一些边缘检测,并且我一直在遵循Python中的官方opencv教程。当我运行代码时,窗口被创建,我可以看到滑块,但当我单击滑块时,内核崩溃。

我用互联网上的其他代码示例尝试了一下,结果也崩溃了。基本上,当我点击滑块区域时,内核就会崩溃。我知道在Mac中你似乎需要做的一件事是增加waitKey时间,我确实做到了。

我怎样才能做到这一点?

def canny_threshold(low_val, src, src_gray):
low_threshold = low_val
img_blur = cv.blur(src_gray, (3,3))
detected_edges = cv.Canny(img_blur, low_threshold, low_threshold * RATIO)
mask = detected_edges != 0
dst = src * (mask[:,:, None].astype(src.dtype))
return dst

src = cv.imread("magpie_house.jpeg")
src_gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
def nothing(x):
pass

cv.namedWindow(WINDOW_NAME)
cv.startWindowThread()
cv.createTrackbar(TITLE_TRACK_BAR, WINDOW_NAME, 0, MAX_LOW_THRESHOLD, nothing)
cv.setTrackbarPos(TITLE_TRACK_BAR, WINDOW_NAME, 50)

while True:
COUNTER += 1
if COUNTER >= 700:
break
low_val = cv.getTrackbarPos(TITLE_TRACK_BAR, WINDOW_NAME)
dst = canny_threshold(low_val, src, src_gray)
cv.imshow(WINDOW_NAME, dst)
if cv.waitKey(10) & 0xFF == ord("q"):
break

cv.waitKey(1)
cv.destroyAllWindows()

Mac上似乎存在一个关于轨迹条的已知问题。

最新更新