使用 OpenCV 将图像中标记特定颜色区域

在计算机视觉任务中,颜色替换是一种常见的图像处理操作,广泛用于视觉增强、目标高亮、伪彩色渲染等场景。本文介绍一种简单而高效的方式,基于 OpenCV 检测图像中接近某种颜色的区域,并将其替换为反色(对比色),从而实现视觉上的突出显示。


应用背景

在工业视觉、图像分析或机器感知系统中,常常需要根据颜色分布对图像进行增强处理。例如,突出显示墨绿色区域、检测工件上涂层差异、标记某些伪装颜色区域等。

通过将图像中接近指定颜色的区域反色处理,可以快速实现对该区域的视觉增强,提升系统对颜色信息的敏感性。


关键技术概述

复制代码
import cv2
import numpy as np
from pyzbar import pyzbar  # 你之前用的pyzbar,虽然这段代码不需要它也可导入无妨

class FrameObject:
    def __init__(self):
        pass  # 不保存状态

    def do(self, frame, device):
        # 设定核心颜色和阈值(墨绿色,BGR)
        target_color = np.array([34, 70, 34])  # 墨绿色
        threshold = 60

        # 计算像素与目标色的距离
        diff = frame.astype(np.int16) - target_color
        dist = np.linalg.norm(diff, axis=2)

        # 生成掩码,距离小于阈值的像素
        mask = dist < threshold

        # 计算反色(纯对比色)
        contrast_color = 255 - target_color  # 反色

        # 复制一份输出图
        out_frame = frame.copy()

        # 替换颜色
        out_frame[mask] = contrast_color

        print(f"[{device}] 已替换接近颜色 {target_color.tolist()} 的区域为对比色 {contrast_color.tolist()}")

        return out_frame


示例说明

假设我们处理的是一帧图像,其中某些区域为墨绿色(如标识线、标签、背景等),该方法将这些区域自动识别,并使用其对比色(淡粉色)进行替换,从而在视觉上非常突出,适合用于:

  • 目标物视觉增强

  • 颜色伪装检测

  • 指定区域颜色反转

  • 高对比图像生成(便于 AI 模型训练)


图像处理流程回顾

  1. 输入图像帧 (格式为 BGR 的 numpy.ndarray

  2. 指定目标颜色和阈值

  3. 计算所有像素到目标颜色的距离

  4. 生成布尔掩码,筛选接近颜色的像素

  5. 替换颜色为目标的反色

  6. 输出增强后的图像帧


使用建议

  • 颜色选择:可通过图像采样工具确定目标颜色 RGB 值。

  • 阈值调节:值越大,匹配范围越宽。可通过滑动条交互调节实现精细控制。

  • 扩展处理:可将对比色替换为指定颜色,或结合边缘检测进一步增强边界效果。

  • 适配平台:代码结构适用于实时图像处理系统如 PiscTrace,也可在 OpenCV 视频流中直接运行。


应用场景举例

  • 工业检测:突出标线、识别颜色偏差部件。

  • 安防监控:高亮指定颜色衣物区域。

  • 智慧交通:标记车道线或交通标识颜色。

  • 智能交互:用户界面响应颜色点击区域。


总结

本文展示了一种实用的颜色增强方案,基于 OpenCV 简洁高效地完成颜色匹配与反色替换任务。该方法不仅实现简单,而且可以灵活集成到实时图像处理系统中,用于高亮、识别与交互等多种视觉处理需求。

如需将其扩展至多种颜色或 HSV 空间处理,或集成到 PiscTrace 等可视化平台,请留言交流!

相关推荐
逐米时代13 小时前
数据清洗到底在洗什么
人工智能
袁震13 小时前
小图传输,大图呈现——用 HarmonyOS 7 端侧 AI 实现 4 倍图像超分重建
人工智能·华为·harmonyos
星核0penstarry13 小时前
从 Dialog-RSN-1 看语音 Agent 走向:企业如何评估音频原生模型与 API 服务
人工智能·音视频·音频·api
GetcharZp13 小时前
让照片开口说话:LivePortrait 本地部署玩法详解
人工智能·计算机视觉
OpenCSG13 小时前
CSGClaw v0.4.2-v0.4.3 版本更新
人工智能·opencsg
大鱼>13 小时前
因子挖掘+回测+RL交易:量化金融完整系统
人工智能·深度学习·算法·金融
梦想三三13 小时前
YOLOv5 口罩目标检测实战(一):项目整体介绍与数据准备
人工智能·yolo·目标检测
梵构广告13 小时前
平台怎么做品牌营销策划?—品牌营销
大数据·人工智能·平面·品牌策划
编程阿峰13 小时前
Python 环境配置(二)安装jupyter、matplotlib、numpy库
开发语言·python·jupyter·numpy·matplotlib
土豆125013 小时前
DeepSeek V4-Flash 正式版深度解读:一行 changelog 里的暗涌与野心
人工智能·llm