`
huangyongxing310
  • 浏览: 490684 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

opencv 颜色空间转换

 
阅读更多
opencv 颜色空间转换

颜色空间转换,如BGR↔Gray,BGR↔HSV等
追踪视频中特定颜色的物体
OpenCV函数:cv2.cvtColor(),cv2.inRange()

cv2.cvtColor()函数用来进行颜色空间转换,常用BGR↔Gray,BGR↔HSV
inRange():介于lower/upper之间的为白色,其余黑色


https://blog.csdn.net/taily_duan/article/details/51506776(HSV)

# -*-encoding:utf-8-*-
import pytesseract
from PIL import Image
from PIL import ImageFilter
from PIL import ImageFont
from PIL import ImageDraw
import numpy as np
from PIL import Image

import cv2


def main():


    # 颜色空间转换
    img = cv2.imread("learn.jpg")

    # 转换为灰度图
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    #参数2是转换模式,COLOR_BGR2GRAY表示BGR→Gray,
    # cv2.imshow('img', img)
    # cv2.imshow('gray', img_gray), cv2.waitKey(0)

    # 黄色的范围,不同光照条件下不一样,可灵活调整
    # HSV(Hue, Saturation, Value)
    # 色调(H),饱和度(S),明度(V)。
    lower_blue = np.array([26, 43, 46])
    upper_blue = np.array([34, 255, 255])

    # 2.从BGR转换到HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    # cv2.imshow('hsv', hsv)
    # cv2.waitKey(0)

    # 3.inRange():介于lower/upper之间的为白色,其余黑色
    #函数可实现二值化功能(这点类似threshold()函数),更关键的是可以同时针对多通道进行操作,使用起来非常方便
    mask = cv2.inRange(hsv, lower_blue, upper_blue)
    # cv2.imshow('mask', mask)
    # cv2.waitKey(0)

    # 4.只保留原图中黄色部分
    # 图像位与操作,maskmask就是中是黑色部分不进行位与操作并保持为黑色
    res = cv2.bitwise_and(img, img, mask=mask)
    cv2.imshow('res', res)
    cv2.imshow('mask', mask)
    cv2.waitKey(0)

if __name__ == '__main__':
    main()
分享到:
评论

相关推荐

    OpenCV-python 学习笔记 OpenCV颜色空间转换1

    在OpenCV中,颜色空间转换是一项基础...总之,OpenCV的色彩空间转换功能在处理图像和视频时起着关键作用,特别是在物体识别和跟踪等应用中。理解并熟练掌握这些转换方法,能够帮助我们更高效地实现各种计算机视觉任务。

    QT和Opencv图像格式转换_ qtopencv图片数组相互转化,opencv格式转换mono8

    有时需要对数据进行重新排列或色彩空间转换以确保正确显示。 在实际应用中,我们可能还需要考虑内存管理,因为直接将指针赋值可能导致内存泄漏。因此,最好使用`clone()`或`copyTo()`方法来复制数据,确保数据安全...

    基于Opencv与MFC的图片颜色空间转换rar

    标题 "基于OpenCV与MFC的图片颜色空间转换rar" 提及了两个关键技术和一个应用场景。OpenCV(开源计算机视觉库)是一个强大的图像处理和计算机视觉库,而MFC(Microsoft Foundation Classes)是微软提供的C++类库,...

    opencv彩色图转换为灰度图并保存

    总的来说,OpenCV提供了一种简单且高效的方法来处理图像的色彩空间转换。从彩色图像到灰度图像的转换不仅简化了图像的表示,还可以减少计算资源的消耗,对于很多计算机视觉任务来说是必要的预处理步骤。通过熟悉和...

    利用opencv实现图像颜色空间转换 RGB TO HSI

    利用opencv实现彩色图像颜色空间的转换

    使用 opencv 将图像转换到不同的颜色空间,并进行图像分割.zip

    1. **颜色空间转换**: - **RGB到灰度**:OpenCV中的`cv::cvtColor()`函数可以将RGB图像转换为灰度图像。通过传递`CV_BGR2GRAY`作为第二个参数,我们可以实现这个转换。灰度图像只有一个通道,适合于一些简单的图像...

    opencv转换图像颜色

    此外,OpenCV还提供了其他颜色空间转换函数,如`cv2.cvtColor()`,可以将图像从一种颜色空间转换到另一种,例如从RGB转换到灰度或HSV。在某些情况下,转换到不同的颜色空间可能更有利于进行特定的图像处理操作,比如...

    openCv-python中文教程_段力辉-译(13章颜色空间转换训练代码)

    《OpenCV-Python中文教程_段力辉-译(13章颜色空间转换训练代码)》是针对Python编程语言和OpenCV库的一个实践性教学资源,由段力辉翻译并提供。这一章节聚焦于图像的颜色空间转换,这是计算机视觉领域中的重要概念...

    [opencv]011 颜色空间缩减与耗时操作

    本项目 "[opencv]011 颜色空间缩减与耗时操作" 关注的是如何通过颜色空间转换来减小图像的大小,同时记录这一过程的执行时间。颜色空间缩减是图像压缩的一种策略,它可以降低图像数据量,从而节省存储空间,但可能会...

    opencv实现图像颜色空间转换

    本篇文章主要探讨了如何使用 OpenCV 实现图像的颜色空间转换,涵盖了 RGB、HSV、YUV 等常见颜色空间。 RGB 颜色空间是最常见的颜色模型,它基于红绿蓝三种基色,广泛应用于显示器等设备。而HSV(色相、饱和度、明度...

    opencv比较颜色.zip

    总之,OpenCV的色彩处理功能强大且灵活,通过掌握颜色空间转换、颜色比较、颜色分析等技术,我们可以解决各种计算机视觉问题。对于学习者而言,"opencv比较颜色.zip"这个资源是深入了解和实践OpenCV颜色处理的好材料...

    OpenCV RGB不同彩色空间的转换公式及实现

    除了上述转换外,OpenCV还支持更多的颜色空间转换,如Luv、HLS等。转换过程中的关键是理解各种颜色空间的特点,并根据实际需求选择合适的转换。例如,HSV适合色彩分割,YCrCb在肤色识别中表现出色,而灰度空间则简化...

    opencv-python颜色检测实验1

    在OpenCV-Python中进行颜色检测是一个常见的计算机视觉任务,它涉及到图像处理和色彩空间转换。本实验主要探讨如何使用OpenCV库来检测特定颜色,这里以蓝色为例。实验分为几个关键步骤,包括预备知识、实验代码以及...

    [opencv]009 cvtColor()颜色空间转换

    在OpenCV库中,`cvtColor()`函数是一个非常重要的功能,它用于进行图像的颜色空间转换。这个函数可以处理各种类型的图像,包括RGB、RGBA、灰度图等,并将它们互相转换。在计算机视觉和图像处理领域,理解并熟练运用...

    opencv图像处理-opencv图像处理算法之色彩转换.zip

    1. cvtColor函数:这是OpenCV中最常用的色彩空间转换函数,可以实现RGB到HSV、BGR到灰度等多种转换。例如,将BGR图像转换为灰度图像: ```python import cv2 image = cv2.imread('image.jpg') gray_image = cv2....

    QT和Opencv图像格式转换

    如果Mat是BGR格式,我们需要先进行色彩空间转换。 - 然后,根据Mat的行主序(row-major order)和QImage的列主序(column-major order)差异,可能需要调整数据顺序。 - 最后,通过QImage的构造函数,传入数据指针...

    opencv处理彩色视频,转换成灰色

    它可以将图像从一种色彩空间转换到另一种,包括从RGB到灰度的转换。 **三、RGB到灰度的转换** OpenCV中将RGB图像转换为灰度图像的常见方法是使用`cvtColor()`函数,代码如下: ```python import cv2 # 读取彩色...

    opencv实现图像颜色增强算法

    2. **色彩空间转换**:不同的色彩空间有不同的特点,比如BGR(常用的颜色空间)和HSV(色调、饱和度、亮度)。通过转换色彩空间,可以更好地调整图像的颜色。例如,使用`cv::cvtColor()`函数可以将图像从BGR转换到...

    OpenCvSharp 识别颜色.rar

    在C#中,我们可以使用OpenCVsharp的ColorSpaces转换函数将BGR色彩空间转换到HSV色彩空间,因为HSV色彩空间更适合颜色的分析和匹配。 以下是实现颜色识别的基本步骤: 1. **加载图像**:使用`Mat imread(string ...

Global site tag (gtag.js) - Google Analytics