如何使用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. 光线不均一律用自适应阈值
相关推荐
Elivs几秒前
RMSNorm函数
人工智能·算法·机器学习
2401_832298103 分钟前
AI安全与全球治理:构建可控可信的智能发展新秩序
人工智能
Akir.weiwen5 分钟前
跨层禁止:机器如何拦截非法语义绑定
人工智能·设计规范·语义
xiakq12 分钟前
2026 年八大 LLM API 横评:DeepSeek V4 vs GPT-4o vs Claude vs Gemini
人工智能·gpt·ai·claude
u01030552715 分钟前
Java图像处理实战指南
人工智能·1024程序员节
南极星100516 分钟前
2026电赛E题有感
python·opencv·电赛
铃木之影23 分钟前
Java 版本 RAG 示例(Spring AI + Milvus)
java·人工智能·spring
小马过河R23 分钟前
AI Coding应用上线安全实践指南
人工智能·安全·安全架构·engineering·ai coding·harness
@Mr_LiuYang24 分钟前
《深入理解 AI Agent:设计原理与工程实践 》实验2-1 本地大模型服务部署与工具调用
人工智能·大模型·本地化部署·深入理解ai agent
Zkaisen33 分钟前
第三章 · 大语言模型基础(详尽展开版)
人工智能·语言模型·自然语言处理