gpt4 book ai didi

python - 轨迹栏回调python openCV

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:21 25 4
gpt4 key购买 nike

我一直在尝试创建一个带有轨迹栏的简单窗口来设置二值化的阈值。
我已经看到几个在 while 循环中使用跟踪栏的 getTrackbarPos 方法的示例,但使用回调函数的示例并不多,我想使用它(或者至少理解为什么 getTrackbarPos更好)
当我移动 slider 时,我实际上看到了阈值图像,但它几乎瞬间被原始图像取代。我还尝试在回调函数中使用 global ImageBin 但它没有帮助。有人有建议或可以将我重新路由到一些类似的问题吗?谢谢

import cv2

# callback function
def Update(value):
print value
ret,ImageBin = cv2.threshold(Image,value,255,cv2.THRESH_BINARY)
cv2.imshow('Fenetre',ImageBin)

# window
cv2.namedWindow('Fenetre',cv2.WINDOW_GUI_NORMAL)

# Trackbar
Slider = cv2.createTrackbar('Threshold','Fenetre',0,255,Update)

# Open image
Home = r'C:\Users\Laurent Thomas\Documents\DataSet\170922110941_BISCHOFF_DORSAL_2ndGO'
Image = cv2.imread(Home + '\WE00001---A001--PO01--LO001--CO6--SL001--PX32500--PW0040--IN0020--TM245--X014262--Y011163--Z216816--T1373979007.tif',0)

# Initialise first view as the normal image
ImageBin = Image[:]


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


cv2.destroyAllWindows()

最佳答案

修改Update函数如下:

# callback function
def Update(value):
global ImageBin
print (value)
ret,ImageBin = cv2.threshold(Image,value,255,cv2.THRESH_BINARY)

关于python - 轨迹栏回调python openCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com