如何使用OpenCV进行颜色与阈值处理?

一、环境安装

bash

运行

复制代码
pip install opencv-python numpy

二、核心原理

  1. 颜色空间转换 :常用 BGR→HSV,HSV 更适合按颜色筛选
  2. 阈值处理:设定像素明暗区间,实现图像二值化、分割区域

三、1. 颜色筛选(HSV 颜色提取)

常用颜色 HSV 范围

  • 蓝色:(90,43,46) ~ (124,255,255)
  • 绿色:(35,43,46) ~ (77,255,255)
  • 红色:(0,43,46) ~ (10,255,255)
  • 黄色:(26,43,46) ~ (34,255,255)

完整代码

python

运行

复制代码
import cv2
import numpy as np

img = cv2.imread("test.jpg")
# 转HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 设定蓝色阈值
lower_blue = np.array([90,43,46])
upper_blue = np.array([124,255,255])

# 颜色掩码
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 提取目标颜色
res = cv2.bitwise_and(img, img, mask=mask)

cv2.imshow("原图",img)
cv2.imshow("掩码",mask)
cv2.imshow("颜色提取",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

四、2. 图像阈值处理(二值化)

四种常用阈值模式

  1. 二进制阈值:大于阈值变白,小于变黑
  2. 反二进制阈值:相反效果
  3. 截断阈值:超出阈值统一设为阈值
  4. 自适应阈值:局部明暗自动适配,暗光图片首选

基础全局阈值代码

python

运行

复制代码
import cv2

img = cv2.imread("test.jpg",0) # 直接读灰度图

# ret:阈值 , binary:处理后图像
ret, binary = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

cv2.imshow("灰度图",img)
cv2.imshow("二值化",binary)
cv2.waitKey(0)

参数说明:

  • 127:分界阈值
  • 255:最大值
  • THRESH_BINARY:二值化模式

自适应阈值(实用最强)

python

运行

复制代码
adap = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)
cv2.imshow("自适应阈值",adap)

五、常用实操用途

  1. 提取画面指定颜色物体
  2. 证件文字黑白二值化
  3. 去除图像杂色、背景分离
  4. 摄像头实时颜色追踪
  5. 工业视觉物料颜色分拣

六、精简要点

  1. 选颜色优先转HSV,比 RGB 精准
  2. 纯色分离用inRange做掩码
  3. 文字、轮廓提取用二值化阈值
  4. 光线不均一律用自适应阈值
相关推荐
沪漂阿龙1 小时前
面试题:PEFT 参数高效微调详解——什么是 PEFT、为什么需要 PEFT、LoRA/QLoRA/Adapter 原理与优缺点全解析
人工智能·深度学习
团象科技1 小时前
别盲目布局全球化,先理清海外云服务器能覆盖的业务边界
大数据·服务器·人工智能
lbb 小魔仙1 小时前
工业数据困局的破局者:DolphinDB 如何让海量时序数据真正“跑“出价值
开发语言·人工智能·python·langchain
步步为营DotNet1 小时前
解锁.NET 11 新能:C# 14 在客户端安全编程的革新与实践
人工智能·microsoft·.net
nix.gnehc1 小时前
Langfuse v3 Docker 部署
运维·人工智能·docker·容器·langfuse
声声codeGrandMaster1 小时前
seq2seq概念和数据集处理
人工智能·pytorch·python·算法·ai
Dontla1 小时前
RAG向量模型维度(向量维度)神经网络训练出来的隐式特征、同一个collection必须固定维度、维度灾难、隐藏层大小hidden size、语义坐标系
人工智能·神经网络·机器学习
Angelina_Jolie1 小时前
借力RGB大模型!事件相机零样本玩转特征匹配与3D感知
人工智能
2301_764441331 小时前
MPDR:基于机器学习的个性化膳食
人工智能·机器学习