opencv中颜色空间转换函数cv2.cvtColor()使用

opencv中有多种色彩空间,包括 RGB、HSI、HSL、HSV、HSB、YCrCb、CIE XYZ、CIE Lab8种,使用中经常要遇到色彩空间的转化,以便生成mask图等操作。

可以使用下面的色彩空间转化函数 cv2.cvtColor( )进行色彩空间的转换:

HSV 表示hue、saturation、value

image_hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)

用这个函数把图像从RGB转到HSV夜色空间,注意是BGR2HSV,因为在opencv中默认的颜色空间是BGR。

dada.jpg

hsv_dada.jpg

当然了,上面是随便选图的,正经的应用类似于:

对于图片进行预处理

到此这篇关于opencv中颜色空间转换函数cv2.cvtColor()使用的文章就介绍到这了,更多相关opencv cv2.cvtColor()内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • opencv实现图像颜色空间转换

    opencv常用的样色空间包括RGB, HSV和YUV等.RGB颜色空间是基于三基色原理二形成的,常用于图像显示系统中:HSV描述的色度,饱和度,亮度这些表示颜色得方法,常用于描述色彩变化:YUV是通过亮度和色度来描述颜色,色度由UV通道组合而成. opencv提供cvtColor(inputArray src, outputArray dst, int code, int dstCn = 0) src是输入图像原,可以是8位CV_8U或者16位CV_16U无符号整形,或者单精度浮点数CV_32

  • C++ opencv图像处理使用cvtColor实现颜色转换

    目录 前言 源码 效果图 代码颜色空间转换代码 前言 在我们读取图像时通常会用到imread()函数,里面flags可以决定通道数,来得到我们想要的图像,比如: -1 按解码得到的方式读入图像: 0 单通道 灰度图: 1 三通道 彩色: 当我们想要其他类型的图像时,这种方法就有一些局限性了,所以我们有必要了解cvtColor 这是一种颜色空间转换函数. 源码 void cvtColor(InputArray src, OutputArray dst, int code, int dstCn =

  • opencv转换颜色空间更改图片背景

    本文实例为大家分享了opencv转换颜色空间更改图片背景的具体代码,供大家参考,具体内容如下 思路: 1.将BGR转换为HSV颜色空间 2.设置掩模 3.位运算 这里以更改摩托罗拉logo背景为例,图片在必应图片搜索得知,具体代码如下: import numpy as np import cv2 from imageio import imread import matplotlib.pyplot as plt def show(img,winname = "img"): cv2.na

  • opencv-python 读取图像并转换颜色空间实例

    我就废话不多说了,直接上代码吧! #-*- encoding:utf-8 -*- ''' python 绘制颜色直方图 ''' import cv2 import numpy as np from matplotlib import pyplot as plt def readImage(): #读取图片 B,G,R,返回一个ndarray类型 #cv2.IMREAD_COLOR # 以彩色模式读入 1 #cv2.IMREAD_GRAYSCALE # 以灰色模式读入 0 img = cv2.im

  • opencv中颜色空间转换函数cv2.cvtColor()使用

    opencv中有多种色彩空间,包括 RGB.HSI.HSL.HSV.HSB.YCrCb.CIE XYZ.CIE Lab8种,使用中经常要遇到色彩空间的转化,以便生成mask图等操作. 可以使用下面的色彩空间转化函数 cv2.cvtColor( )进行色彩空间的转换: HSV 表示hue.saturation.value image_hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV) 用这个函数把图像从RGB转到HSV夜色空间,注意是BGR2HSV,因为在ope

  • 浅谈OpenCV中的新函数connectedComponentsWithStats用法

    主要内容:对比新旧函数,用于过滤原始图像中轮廓分析后较小的区域,留下较大区域. 关键字:connectedComponentsWithStats 在以前,常用的方法是"是先调用 cv::findContours() 函数(传入cv::RETR_CCOMP 标志),随后在得到的连通区域上循环调用 cv::drawContours() " 比如,我在GOCVHelper中这样进行了实现 //寻找最大的轮廓 VP FindBigestContour(Mat src){ int imax =

  • Python OpenCV中的resize()函数的使用

    改变图像大小意味着改变尺寸,无论是单独的高或宽,还是两者.也可以按比例调整图像大小. 这里将介绍resize()函数的语法及实例. 语法 函数原型 cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 参数: 参数 描述 src [必需]原图像 dsize [必需]输出图像所需大小 fx [可选]沿水平轴的比例因子 fy [可选]沿垂直轴的比例因子 interpolation [可选]插值方式 [可选]插值方式 其中插值方式有很多种

  • c语言标准库中字符转换函数和数字转换函数

    字符转换为数字: #include<stdlib.h> atoi();将字符转换为整型   例:char ch1;int i=atoi(ch1); atol();将字符转化为长整型  例:char ch2;long l=atol(ch2); atof();将字符转化为浮点型  例:char ch3;float f=atof(ch3); strtod(); 将字符串转化为双精度类型  例:string str1:double d=strtod(str1); strtol(); 将字符串转化为长整

  • python数字图像处理数据类型及颜色空间转换

    目录 一.图像数据类型及转换 1.unit8转float 2.float转uint8 二.颜色空间及其转换 例:rgb转灰度图 其它的转换 例:rgb转hsv 一.图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换.这些数据类型及取值范围如下表所示: Data type Range uint8 0 to 255 uint16 0 to 65535 uint32 0 to 232 float -1 to 1 or 0 to 1

  • Opencv中cv2.cvtColor彩色图转灰度图的其他6种方法

    目录 1.公式集成: 2.代码实现: 3.实验结果: 4.参考文章: 1.公式集成: 2.代码实现: import os import cv2 import queue import threading import numpy as np #用户存取函数的返回值 q=queue.Queue() def rgb2gray(image,method): h,w,c=image.shape gray=np.zeros((h,w),dtype=np.uint8) y=0 for row in rang

  • Opencv中的cv2.calcHist()函数的作用及返回值说明

    目录 cv2.calcHist()函数 cv2.calcHist()函数的作用 cv2.calcHist()函数的返回值 在讨论其返回值前,我们先来介绍以下calcHist()函数的用法: cv2.calcHist()函数 cv2.calcHist()函数的作用 通过直方图可以很好的对整幅图像的灰度分布有一个整体的了解,直方图的x轴是灰度值(0~255),y轴是图片中具有同一个灰度值的点的数目. 而calcHist()函数则可以帮助我们统计一幅图像的直方图 cv2.calcHist(images

  • OpenCV实战之OpenCV中的颜色空间

    目录 1 不同的色彩空间 1.1RGB颜色空间 1.2 Lab色彩空间 1.3  YCrCb颜色空间 1.4 HSV颜色空间 2 如何使用这些颜色空间进行分割 2.1 获取特定颜色的颜色值 2.2 应用分段阈值 在本教程中,我们将了解计算机视觉中常用的色彩空间,并将其用于基于颜色分割.我们还将用C ++和Python共享演示代码. 在进行色彩分割时很多项目没有考虑到不同光照条件的影响,会严重影响结果.在许多计算机视觉应用中遇到这个问题,涉及基于颜色的分割,如肤色检测,交通灯识别等.所以构建一个强

  • 利用OpenCV中对图像数据进行64F和8U转换的方式

    在OpenCV中很多对数据的运算都需要转换为64F类型,比如伽玛变换,这个很明显要求幂的底数是double类型~ 而cvShowImage()又要求是U8才能显示,否则显示出来是一片空白! 所以经常要进行转换,怎么做呢?看了下面的几行代码你就知道了! IplImage *pSrcImage = cvLoadImage("pout.jpg", CV_LOAD_IMAGE_UNCHANGED); IplImage *pGrayImage_8U = cvCreateImage(cvGetSi

随机推荐