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

Python中白色的颜色阈值是多少?用于图片白色追踪与分离

在Python中设置白色颜色阈值以实现颜色追踪

嘿,要在Python里追踪白色,最靠谱的方式是用HSV颜色空间,而不是直接用RGB——因为RGB太容易受光照变化影响了,HSV的色调(H)、饱和度(S)、明度(V)三个通道能更稳定地分离出白色这类低饱和度的颜色。

白色的HSV阈值(以OpenCV为例)

OpenCV里的HSV范围是:H(0-179)、S(0-255)、V(0-255)。白色的核心特征是低饱和度(几乎没有色彩倾向)和高明度(亮度高),所以常用的阈值范围是:

  • 下限阈值:(0, 0, 200)
  • 上限阈值:(179, 25, 255)

不过这个范围不是绝对的,你可以根据自己图片的实际光照情况微调:

  • 如果图片里的白色偏暗(比如阴天拍摄的),可以把V的下限降到180甚至150
  • 如果有些淡灰色也想被识别成白色(比如略带污渍的白色物体),可以把S的上限提高到50左右

示例代码(用OpenCV实现白色追踪)

下面是一段可以直接运行的代码,帮你从图片中提取白色区域:

import cv2
import numpy as np

# 读取图片
img = cv2.imread('your_image.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 定义白色的HSV阈值
lower_white = np.array([0, 0, 200])
upper_white = np.array([179, 25, 255])

# 创建掩码:只保留在阈值范围内的像素
mask = cv2.inRange(hsv, lower_white, upper_white)
# 将掩码应用到原图,提取白色区域
white_only = cv2.bitwise_and(img, img, mask=mask)

# 显示结果(可选)
cv2.imshow('Original Image', img)
cv2.imshow('White Only', white_only)
cv2.waitKey(0)
cv2.destroyAllWindows()

关于RGB阈值的补充(不推荐)

如果一定要用RGB的话,白色的范围大概是(200, 200, 200)到(255, 255, 255),但这种方式对光照变化非常敏感——比如阴影下的白色可能会掉到(150,150,150),导致追踪失效,所以还是优先用HSV方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:03:07