opencv将图片转为HSV时总是报错

if(m_pVideoInfo->m_pCapture){
IplImage* frame,*src_image=NULL;
frame = cvQueryFrame(m_pVideoInfo->m_pCapture);
if(frame)
{
cvCopy(frame,m_pVideoInfo->m_pFrameImage);
int i, bin_w, c;
if(!m_pVideoInfo->m_pFrameImage)
{
m_pVideoInfo->m_pFrameImage = cvCreateImage( cvGetSize(frame), 8, 3 );//
m_pVideoInfo->m_pFrameImage->origin = frame->origin;
hsv = cvCreateImage( cvGetSize(frame), 8, 3 );
hue = cvCreateImage( cvGetSize(frame), 8, 1 );
mask = cvCreateImage( cvGetSize(frame), 8, 1 );//分配掩膜图像空间
backproject = cvCreateImage( cvGetSize(frame), 8, 1 );//分配反向投影图空间,大小一样,单通道
hist = cvCreateHist( 1, &hdims, CV_HIST_ARRAY, &hranges, 1 ); //分配建立直方图空间

      histimg = cvCreateImage( cvSize(320,200), 8, 3 );//分配用于画直方图的空间
     cvZero( histimg );//背景为黑色
    }
    cvCopy( frame, m_pVideoInfo->m_pFrameImage, 0 );
    cvCvtColor( m_pVideoInfo->m_pFrameImage, hsv, CV_BGR2HSV ); // 把图像从RGB表色系转为HSV表色系

这是MFC程序中的一部分,capture指针打开了一个视频文件

但是每次打开视频的时候都会报错,只要把最后一段代码注释了就没问题了

2个回答

 #include <math.h>
#include "highgui.h"
#include "cv.h"
#include "time.h"
#include <iostream>


int main()
{
    IplImage* image = cvLoadImage("test.png");  
    IplImage* hsv = cvCreateImage( cvGetSize(image), 8, 3 );
    cvCvtColor(image,hsv,CV_BGR2HSV);

    cvNamedWindow("saturate_SV",CV_WINDOW_AUTOSIZE);  
    cvShowImage("saturate_SV",hsv);  
    cvWaitKey(0);  
    cvReleaseImage(&hsv);  
    cvDestroyWindow("saturate_SV");  
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
opencv,图像处理,rgb转换为hsv空间

图像RGB空间转换为HSV空间。 H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。 纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。 V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。 1: max=max(R,G,B) 2: min=...

OpenCV中读取RGB格式图像转成HSV格式图像显示

[cpp] view plaincopy #include    #include "highgui.h"   #include "cv.h"   #include "time.h"   #include           int main()   {       IplImage* image = cvLoadImage("test.png");

使用Opencv将RGB颜色空间转换到HSV颜色空间/灰度图

一. 使用cvCvtColor函数将RGB颜色空间转换到HSV颜色空间所需函数:1.cvCvtColor函数功能:颜色空间转换函数原型:void cvCvtColor( const CvArr* src, CvArr* dst, int code );参数介绍:const CvArr* src:    输入图像CvArr* dst: 输出图像(输出图像必须和输入图像的size,颜色位深度,...

python3-opencv库(3)--图片颜色空间转换,利用HSV进行物体跟踪,图像通道分离与合并

版权声明:转载请注明原作者及出处from cv2 import cv2 #或者import cv2 import numpy as np &quot;&quot;&quot;H(hue)色调 0~180;S(saturation)饱和度 0~255;V(value) 0~255 具体参见HSV颜色空间的百度百科&quot;&quot;&quot; def extract_object_demo(): &quot;&quot;&quot;通过颜色过滤的方法来跟踪捕获视屏中的物体...

OpenCV中RGB转HSV和HSV转RGB问题

通常理论上HSV模型的各分量的取值范围为:H分量0到360,S分量0到255,V分量0到255。但是在OpenCV中需要注意一些问题。 OpenCV中进行RGB和HSV颜色模型转换的函数是cvCvtColor(src,dst,xxx),下面给出OpenCV中的各种注意点。 (1)IplImage* src = cvLoadImage("lena.jpg",1);      IplImage*

OpenCV中将BGR图像转为HSV,并显示

最近要处理视频中检测到的阴影,看了一些文章,提到可以利用HSV 三个通道中的一个或者两个组合来进行检测与分割,故小试了一下分离HSV通道,如下为代码,整了一个小时,才显示正确。              HSV颜色空间是描述比RGB更准确的颜色感知颜色联系,并在计算上更简单。从RGB颜色空间转换到HSV颜色空间在OpenCV中是如下实现的:               其中的RGB图

将图像分离成HSV空间

将图像分离成HSV空间,并显示HSV空间的每个通道。 Rect select; vector mv; capture >> frame; cvtColor(frame, gray, CV_BGR2GRAY); cvtColor(frame, gray, COLOR_BGR2GRAY);//使用灰度图进行检测 /***

【OpenCV】车牌定位RGB转HSV图像并打印输出各像素点的值

#include "stdafx.h" #include #include #include int main() { int R=0; int G=0; int B=0;  IplImage *srcImage=cvLoadImage("24.bmp",1);  IplImage* dstImage=cvCloneImage(srcImage);  IplImage*

基于OpenCV的RGB和HSV色彩空间相互转换C++程序

之所以说基于opencv,由于转换程序用到了一些OpenCV函数(imread())及数据类型(uchar)。        OpenCV全称:Open Source Computer Vision Library,开源、免费,很好很强大。 帮助文档:http://docs.opencv.org/index.html 入门教程:http://www.opencv.org.cn/ope

显示MAT类型的图片,并把其转换成HSV类型的图片进行显示

#include&amp;lt;iostream&amp;gt;#include &quot;opencv2/opencv.hpp&quot;#include &quot;opencv2/highgui/highgui.hpp&quot;using namespace std;using namespace cv; int main(){ Mat src = imread(&quot;Lena.jpg&quot;, 1); Mat dst; namedWindow(&quot;...

opencv之Rgb图像转化到HSV、Lab空间,对各通道的操作

一:色彩模式: 1、颜色模式HSV:色象 饱和度 明度,是基于视觉反映的颜色 H.色象:360度,从0开始,表示纯红色,360度也表示纯红色 ,黑白无色象. S.饱和度:100%表示色彩纯度为满 V.明度:表示明暗,100%表示很亮,为0时表示黑色 2、颜色模式RGB:红 绿 蓝,是基于光色的颜色,也为加色模式,即两这重合变亮 R.红色:Red,0~255阶,一共256阶色

将BGR图像转换成HSV颜色空间的转换

#include "highgui.h" #include "cv.h" #include "cxcore.h" int main(int argc, char* argv[]) { IplImage* src = cvLoadImage("F:\\2.jpg"); // RGB颜色空间的介绍: // 三基色原理:大多数的颜色可以通过红绿蓝三色按照不同的比例合成产生,同样大多数单色光

Java OpenCV开发——RGB和HSV颜色空间转换

主要使用cvtColor方法来实现颜色空间的互转。代码如下: Mat img = Imgcodecs.imread("img/tooth1.png"); Mat imgHSV = new Mat(img.rows(), img.cols(), CvType.CV_8UC3); Mat img2 = new Mat(img.rows(), img.cols(

Python-OpenCV颜色空间转换

目标 1. 对图像进行颜色空间转换,如从BGR到灰度图,或者从BGR到HSV等。 2. 创建程序从一副图像中获取某个特定颜色的物体。0x01. 转换颜色空间常用操作:BGR<->Gray和BGR<->HSV。 OpenCV中提供了cv2.cvtColor(input_image,flag),其中flag为转换类型。 BGR<->Gray :cv2.COLOR_BGR2GRAY BGR<-

将图片转换到HSV空间对图片中特定颜色进行识别

将图片转换到HSV空间对图片中特定颜色进行识别本篇博客介绍将图片从RGB颜色空间转换到HSV颜色空间,从而实现对特定颜色的对象的识别。下面是代码(实现对浅蓝色物体的识别):import cv2 import numpy as np rgb_img = cv2.imread('predict1.png') HSV = cv2.cvtColor(rgb_img, cv2.COLOR_BGR2HSV) ...

OpenCV HSV图片处理 Mat元素操作

#include #include using namespace std; using namespace cv; int main() { VideoCapture cap; Mat image,hsvImage; cap.open(0); if(!cap.isOpened()) { cout<<"Camera Error"<<endl

通过HSV实现对图像亮度的调整

调整V通道,改变图片亮度

RGB到HSV颜色空间的转换

图像特征的低层视觉特征主要有纹理、

让你的照片更鲜艳------hsv拉伸

from:让你的照片更鲜艳------hsv拉伸 如果你的照片看上去灰蒙蒙的,缺少生机,那么hsv拉伸也许可以帮你的忙。hsv拉伸是一种可以提高图像鲜艳程度的图像增强方法,它能够让图像的颜色更加鲜活、艳丽,而且它的处理结果看上去很自然,比如源图中较暗的红色会变的鲜红,而不会像拉伸对比度那样把图像弄的难看失真,暗红色变的发紫发黑。 来个例子:        其基本原理如下:

Opencv中HSV通道的图像的颜色判定

HSV格式的图片的各通道取值范围 H:0-360 S:0-1 V:0-1 然而在Opencv中的8Bit取值最大只能到255(32Bit的没事),所以在转换时,被除了2,范围变成了0-180. 而S和V通道则为0-255.以下会以标准的HSV来说,用到Opencv里转化下就好。HSV中的H通道时保存的色调,从0-360依次为红,橙,黄,绿,青,蓝,紫。但是分布不是均匀的。 看看自己需要检

OpenCV-利用函数inRange进行颜色分割(针对HSV颜色空间)

我们可以利用inRange函数,通过调节图像颜色信息(H)、饱和度(S)、亮度(V)区间选择我们需要的图像区域:#include #include #include using namespace cv; #include #include using namespace std; //输入图像 Mat img; //灰度值归一化 Mat bgr; //HSV图像 Mat hsv; //色相 in

有关opencv的学习(6)—图像的HSV色彩空间

HSV色彩空间,即为用图像的色调(Hue),饱和度(Saturation),明度(Value)来描述颜色,即为颜色的直观特性。也称六角锥体模型,如下图所示: 色调——表示主色:绿色,黄色,红色。 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°; 饱和度——表示颜色

opencv笔记5----通过HSV进行颜色分离

图片通常是以RGB格式存储,难以分离出颜色,可以转换到HSV空间进行颜色分离。 (转自Wiki) HSL 和 HSV(也叫HSB)是对RGB 色彩空间中点的两种有关系的表示,它们尝试描述比 RGB 更准确的感知颜色联系,并仍保持在计算上简单。 H指hue(色相)、S指saturation(饱和度)、L指lightness(亮度)、V指value(色调)、B指brightn

opencv RGB转换成HSV并且从R G B H S V三个单通道输出

该代码用opencv和vs2010联合编程实现了讲RGB图像转换成HSV图像,并且实现了R G B H S V单通道输出

图像处理之RGB转为HSV

从 RGB 到 HSL 或 HSV 的转换设 (r, g, b) 分别是一个颜色的红、绿和蓝坐标,它们的值是在 0 到 1 之间的实数。设 max 等价于 r, g 和 b 中的最大者。设 min 等于这些值中的最小者。要找到在 HSL 空间中的 (h, s, l) 值,这里的 h ∈ [0, 360)度是角度的色相角,而 s, l ∈ [0,1] 是饱和度和亮度,计算为:上面的理论也是从别人那里...

【opencv+python】图像处理之一、颜色空间RGB,Gray与HSV

该系列文章为 OpenCV+Python Tutorials的学习笔记 代码托管在Github 转载请注明: http://blog.csdn.net/a352611 [三记的博客]颜色空间转换cv2.cvtColorRGB就是指Red,Green和Blue,一副图像由这三个通道(channel)构成 Gray就是只有灰度值 HSV就是Hue(色调),Saturation(饱和度)和Valu

基于opencv的彩色图像分解为hsv单通道并显示灰度直方图以及数值

在VC6.0下基于opencv,实现将rgb彩色图像转换为hsv并分解为单通道灰度图,绘制灰度直方图,并且将其各个通道像素值显示出来。

基于opencv3.3获取图片某点处RGB及HSV值完整工程

基于opencv3.3获取图片某点处RGB及HSV值完整工程

Python视觉处理(四)HSV处理

很多时候,当图像中存在色彩时,我们用用RGB图像处理得不到想要的结果时,就可以把图像转化成HSV图像,再加以处理,这样处理起来获取方便了很多。当然,在特定的环境中,我们不知道HSV的范围,这个时候可以测试一下图像中想要凸显的物体的HSV的范围,再设定相应的阈值范围。 点击图像观察图像HSV值代码: import cv2 import numpy as np from matplotlib im

获得图片上任意像素点RGB值和HSV值

这是一个用鼠标获得图像像素点RGB和HSV值的程序,基于OpenCV的

5-python图像处理opencv(1.读图,显示,转换,存储)

通过opencv的python接口来,调用opencv函数实现,对图片的载入,显示,颜色转换和保存等python+opencv的配置由于:opencv中使用到了python的许多第三方插件,例如 numpy等,以上链接均提供相应配置一.读图 opencv提供了一个很简单的读图方法, cv2.imread(path)img = cv2.imread("test1.jpg")二.显示 opencv

opencv hsv颜色空间区分出来某一特定颜色的简单程序

#include #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "cv.h" #include "highgui.h" using namespace cv; using namespace std; int main( int argc

【OpenCV】颜色空间(RGB,HSV与Gray)及图像处理中的颜色识别

彩色模型数字图像处理中常用的采用模型是RGB(红,绿,蓝)模型和HSV(色调,饱和度,亮度),RGB广泛应用于彩色监视器和彩色视频摄像机,我们平时的图片一般都是RGB模型。而HSV模型更符合人描述和解释颜色的方式,HSV的彩色描述对人来说是自然且非常直观的。

OpenCV提取图像颜色直方图

输入图像: 输出直方图分布图像: 输入图像: 输出直方图分布图像: #include #include #include using namespace std; int main( int argc, char** argv ) { IplImage * src= cvLoadImage("F:\\test3.jpg"); IplImage* h

opencv3学习笔记(三)RGB HSV YUV相互转换

一.知识点 1.RGB模式 RGB模式是基于自然界中3种基色光的混合原理,将红(Red)、绿(Green)和蓝(Blue)3中基色按照从0(黑)到255(白色)的亮度值在每个色阶中分配,从而指定其色彩。 3个字节 每个字节8位 表示0-255 黑色(0,0,0);白色(255,255,255);第一个字节B蓝色通道,蓝色为(255,0,0),第...

【opencv】目标识别——HSV颜色识别

首先解释为什么不在RGB中设置范围寻找物体信息,而是在HSV中: 因为RGB通道并不能很好地反映出物体具体的颜色信息 , 而相对于RGB空间,HSV空间能够非常直观的表达色彩的明暗,色调,以及鲜艳程度,方便进行颜色之间的对比,比如红色在HSV空间中H维度的范围为0~10和160~180 你跟我说在RGB中它的范围是什么呢? 在HSV空间各种颜色的范围 图来自:http://b

OpenCV颜色识别

彩色模型数字图像处理中常用的采用模型是RGB(红,绿,蓝)模型和HSV(色调,饱和度,亮度),RGB广泛应用于彩色监视器和彩色视频摄像机,我们平时的图片一般都是RGB模型。而HSV模型更符合人描述和解释颜色的方式,HSV的彩色描述对人来说是自然且非常直观的。HSV模型HSV模型中颜色的参数分别是:色调(H:hue),饱和度(S:saturation),亮度(V:value)。由A. R. Smith

OpenCV中将HSV空间进行4*4*4bins量化,并计算其颜色直方图

OpenCV中将HSV空间进行4*4*4bins量化,并计算其颜色直方图。

OpenCV中HSV颜色空间

opencv中实现BGR颜色空间想HSV颜色空间转换的是cvCvtColor H通道的值范围为: 0-180 S: 0-255 V:0-255 后来发现了   CV_BGR2HSV_FULL  , CV_BGR2HSV 在转换图像的时候是将 H / 2  --->  H ,我们知道图像中色相H的取值范围为 0-360 ,所以利用opencv转换之后得到

opencv:HSV颜色模型

之前操作图像数据通常使用的是RGB颜色模型。RGB是通过三个颜色通道(R、G、B)的叠加得到不同的颜色的。今天学习了一个新的颜色模型:HSV。 作为对比,先看熟悉的RGB。RGB中有三个参数,分别代表红绿蓝三基色的亮度,范围是0~255。这里的三基色是指光的三基色,三基色组合可以得到大部分颜色。 HSV中也有三个参数,H、S、V,分别代表色调(Hue),饱和度(Saturation),明度(Va

OpenCV中cvSplit图像的通道分离

分离图像通道采用函数cvSplit。 函数原型:void cvSplit(const CvArr* src, CvArr* dst0, CvArr* dst1, CvArr* dst2, CvArr* dst3)分离出来的顺序是逆序的,这个要注意。cvSplit(pImg,bImg,gImg,rImg,0);分离出来的是单通道的图,显示出来是这样的: 通过cvMerge合并通道实现彩色图像的显示,

android opencv 将彩色图片转成灰度图

本文提供在android中将Color Bitmap转成GrayScale 的两种方法. 方法一:    最原始的也是最简单的,遍历彩色图片的每一个像素,然后通过重新配比RGB的方法: RGB[A] to Gray: Y &lt;- 0.299 * R + 0.587 * G + 0.114 * B ,相当于0.3 * R + 0.6 * G + o.1 * B

opencv颜色识别学习总结

将OpenCV 用于识别彩色LED颜色 将OpenCV 用于识别彩色LED颜色时,可以通过分色计算各通道非饱和像素的HSV值,能可靠识别各LED的颜色。 使用python编程,识别一个1024*480的BGR图像时,耗时约50毫秒。 可以大概识别LED的圆心座标、可以准确识别LED的色彩。记住,在识别前,要先对三通道彩色图进行模糊化处理。 最后统计ROI区域的H

【OpenCV】显示HSV模型中H分量的颜色直方图

显示颜色直方图

【OpenCV】HSV颜色识别-HSV基本颜色分量范围

出处:百度文库   一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。 H:  0 — 180 S:  0 — 255 V:  0 — 255 此处把部分红色归为紫色范围:           目前在计算机视觉领域存在着较多类型的颜色空间(c...

OpenCV HSV颜色空间基本颜色范围

转自:http://www.xuebuyuan.com/2149290.html HSV颜色模型 HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。 这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。 色调

【OpenCV】基于HSV的肤色分割

//函数功能:在HSV颜色空间对图像进行肤色模型分割 //输入:src-待处理的图像,imgout-输出图像 //返回值:返回一个iplimgae指针,指向处理后的结果 IplImage* SkinSegmentHSV(IplImage* src,IplImage* imgout) { //定义一些中间指针,指向处理过程中的中间变量 IplImage* HSV = NULL; Ip

OpenCV之RGB与HSV颜色空间的转换

HSV的介绍请参见维基百科:http://en.wikipedia.org/wiki/HSL_and_HSV,与其类似的颜色空间还有HSL(或称HLS)和HSI。本文有两则代码,代码一,自实现了RGB颜色空间与HSV颜色空间之间的转换,并与OpenCV中的cvCvtColor进行了比较;代码二,实现了一个HSV颜色盘。 代码一: [cpp] view plainco

opencv 图像阴影检测

参数说明: IplImage *workImg-当前全局变量,表示正在显示的图片。 downleft, upright- 检测出的阴影部分矩形框的两个对角顶点。 /*********************************************/ //阴影检测 /*********************************************/ CvPoint

opencv学习笔记---hsv颜色空间

1. RGB模型。 三维坐标: 原点到白色顶点的中轴线是灰度线,r、g、b三分量相等,强度可以由三分量的向量表示。 用RGB来理解色彩、深浅、明暗变化: 色彩变化: 三个坐标轴RGB最大分量顶点与黄紫青YMC色顶点的连线 深浅变化:RGB顶点和CMY顶点到原点和白色顶点的中轴线的距离 明暗变化:中轴线的点的位置,到原点,就偏暗,到白色顶点就偏亮

相关热词 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行 c# 循环给数组插入数据 c# 多线程死锁的例子 c# 钉钉读取员工排班 c# label 不显示 c#裁剪影像 c#工作进程更新ui
立即提问