You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenCV技术问题:为何创建4个及以上TrackBar时最后一个更短?

OpenCV多TrackBar最后一个显示过短的原因解析

当创建6个TrackBar时,最后一个轨道条会明显更短,基础代码如下:

import cv2

def nothing(arguments):
    pass

cv2.namedWindow('TrackBars')
cv2.resizeWindow('TrackBars', 500, 300)
cv2.createTrackbar('Slider 1', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 2', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 3', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 4', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 5', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 6', 'TrackBars', 0, 255, nothing)
cv2.waitKey(0)

调大窗口尺寸可以解决该问题,修改后的窗口尺寸代码如下:

cv2.resizeWindow('TrackBars', 500, 320)

最初以为是窗口裁剪导致显示异常,但测试发现:仅当创建4个及以上TrackBar时才会出现此问题,2-3个时即使窗口尺寸偏小(比如500x60),轨道条也能正常显示,测试代码如下:

import cv2

def nothing(arguments):
    pass

cv2.namedWindow('TrackBars')
cv2.resizeWindow('TrackBars', 500, 60)
cv2.createTrackbar('Slider 1', 'TrackBars', 0, 255, nothing)
cv2.createTrackbar('Slider 2', 'TrackBars', 0, 255, nothing)
cv2.waitKey(0)

请问这一现象的原因是什么?

补充环境信息

  • OpenCV版本: 4.6.0.66
  • 操作系统: Windows 10
  • HighGUI后端: WinAPI

内容的提问来源于stack exchange,提问作者Tomasz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:25:24