请问opencv中怎样将单通道图像转化为3通道图像,谢谢!

作者&投稿:羿冰 (若有异议请与网页底部的电邮联系)
OpenCv里 4通道图片怎么转成3通道的?谢谢~

原理上 把 RGBA 转为 RGB
看看有没有彩色图像转换函数:
cvtColor(srcRgba , src , CV_RGBA2RGB);
(我没有OpenCv,不好查看,只好猜测)。

split和merge这两个函数配合起来可以做。

IplImage*imgMono,*imgClr;\x0d\x0a//得到单通道图象\x0d\x0aimgMono=cvLoadImage("tuxiang.bmp",0);\x0d\x0a//定义一个3通道图象\x0d\x0aimgClr=cvCreateImage(cvSize(imgMono->width,imgMono->height),IPL_DEPTH_8U,3);\x0d\x0acvCvtColor(imgMono,imgClr,CV_GRAY2BGR);

IplImage *imgMono,*imgClr;
//得到单通道图象
imgMono=cvLoadImage( "tuxiang.bmp",0);
//定义一个3通道图象
imgClr = cvCreateImage(cvSize(imgMono->width,imgMono->height), IPL_DEPTH_8U, 3);
cvCvtColor(imgMono, imgClr, CV_GRAY2BGR);


opencv中什么函数可以直接单独访问HSV的H通道呢 bgr分别对应通道0 1...
【1】先调用cvCvtColor将图像转到HSV颜色空间,如:cvCvtColo(rgb,hsv,CV_BGR2HSV);然后调用cvSplit函数,就可以将H分量分离出来,再来单独访问H分量,H对于的通道是0即可。【2】HSV(Hue,Saturation,Value)是根据颜色的直观特性由A.R.Smith在1978年创建的一种颜色空间,也称六角锥体模型(HexconeModel)...

请问opencv3.2中无法打开文件"openvc_world320d.dll"怎么办?是什么问题...
解决办法是,去opencv的源码目录,在\\x64\\vc12\\bin下有.dll文件。(若是32位则是x86)copy所有.dll文件,到系统盘符\\windows\\System32(32位)和SysWOW64(64位)下,两个文件夹最好都拷贝一份。然后执行exe文件,就可以了。这样程序就可以找到动态链接库了。

openCV问题
h,w=image.shape 是图片的水平宽度,和垂直高度各是多少像素。一般是这么写h,w=image.shape[:2] 因为 image.shape 是会返回三个值 最后一个是色道。

Opencv问题, 怎样去除二值图像中面积较小的连通域?
GrowBuffer.push_back(Point2i(CurrX, CurrY)); \/\/邻域点加入buffer PointLabel.at<uchar>(CurrY, CurrX) = 1; \/\/更新邻域点的检查标签,避免重复检查 } } } } if (GrowBuffer.size()>AreaLimit) \/\/判断结果(是否超出限定的大小),1为未超出,2为超出 CheckResult = 2;...

opencv中使用findContours、contourArea的问题。
blur(imgGray,imgGray,Size(3,3)); 执行到这句的时候图形的像素排列就已经改变了,旋转之后看着虽然差不多,但是已经不同了。如果要精确的面积,必须要计算像素。

OPENCV中关于imagedata的问题。
产生此问题的原因是opencv的IplImage类型中关于图像实际数据的存储问题导致的。IplImage类型与图像的实际存储地址实际上是不一样的,IplImage类型其实仅仅是一个imageheader,存储的图像数据和IplImage类型数据是分开的。也就是IplImage a ,IplImage b。使用b给a赋值(a=b)时,图像数据并没有拷贝。也就...

OPENCV中利用DirectShow打开摄像头的问题
第二个问题,你需要安装August 2007 DirectX SDK.如果依然不能解决问题,还有下面两个办法,但我个人用后没有成功,可能是因为我没有安装sdk的缘故吧。①将qedit.h中的“dxtrans.h" 和使用 "IDXEffect"的地方统统注释掉。包括 \/\/#include "dxtrans.h" -- Line 498 \/\/ IDxtCompositor \/\/: public...

opencv 图像旋转的问题 ,图片大小不变,怎么把图片移到中间去,图片跟框...
参考程序如上所述,如果原始图像大小不变是无法输出到原始图像的。比如你原始图像为200*200,旋转45度,输出到一个200*200的大小的图像空间里,这个原始图片的大小已经是原来的一半成了 根2*100*根2*100,你要保证角点相切的话,这个原始图像的大小需要根据旋转角度的大小随时改变。比如旋转45度,先把...

opencv里遇到的小问题:强制单通道加载图片
这是个宏定义,在opencv里这个参数等于0;如果把这个参数设置为1或者不写参数(会默认为1),自然结果就是彩色图了。1.如何理解这个函数,你要首先知道什么是灰度化,而灰度化有很多种方式,比如提取三个通道中的最大值,或者求RGB均值或者Gray= 0.299*R+0.587*G+0.114*B,等等。2.而如何把单...

python3.7.x 使用opencv遇到的问题以及解决办法简介
问题一:DLL加载失败当尝试执行`from .cv2 import *`时,可能会遇到"找不到指定模块"的错误。这通常是由于OpenCV Python接口与你当前Python版本(3.7.1)不兼容。对于opencv_python-3.4.2.16之前的版本,cp37支持不足。尝试降级版本的解决方案可能无效。解决方法如下:下载opencv_python-3.4.2.16...

长丰县19745458699: opencv如何将一个一副彩色图像,分解成三个单通道图像,再组合成彩色图像,试举一例 -
尉迟晴加葵: split可以分解Mat类型图像, merge可以合并单通道图像为三通道图像#include "stdafx.h" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include #include using namespace cv; int main( int ...

长丰县19745458699: opencv中“单通道灰度图”怎么转成cvMat类型,我是要做PCA的,求大牛解答... -
尉迟晴加葵: 好像是可以直接转的,要不就是用iplimage中的imagedata转成cvMat你可以加载的时候直接用cvMat

长丰县19745458699: opencv怎么设置单色通道颜色 -
尉迟晴加葵: 将彩色图像转为灰度图像,cvCvtColor(原始图像,目标图像,CV_BGR2GRAY); 记住第三个参数是CV_BGR2GRAY;还有就是原始图像是RGB的,所以应该是三通道的,目标图像是转换成的灰度图,所以定义的时候是单通道的,希望对您有帮助.

长丰县19745458699: opencv中怎么样读取图像的部分图像 -
尉迟晴加葵:OpenCV中用于读取图像像素点的值的方法很多,这里主要提供了两种常用的方法.方法一利用IplImage数据类型的imageData定位数据缓冲区来实现,imageData包含指向图像第一个像素数据的指针例:If( imgSource != 0 )//...

长丰县19745458699: 用opencv怎么统计单通道图片的像素点最多的区域 -
尉迟晴加葵: 你可以用findcontours提出轮廓,然后contourArea计算轮廓面积选出最大的轮廓.用boundingrect确定外矩形,设置该矩形为ROI.然后把矩形外清零.(可以在一个其它图像上绘制填充矩形,然后作为bitwise_and的Mask )

长丰县19745458699: 已知图像的灰度矩阵(二维的,单通道)如何用opencv中的函数显示这幅二维灰度图像呢?用哪一个函数? -
尉迟晴加葵: 你好! 既然知道了灰度矩阵,那么按照矩阵写出灰度图像就可以了

长丰县19745458699: 如何利用OpenCV识别图像中的矩形区域 -
尉迟晴加葵: Opencv中访问数据可以有5种类型,如下: 3、访问图像像素 (1) 假设你要访问第k通道、第i行、第j列的像素. (2) 间接访问: (通用,但效率低,可访问任意格式的图像) 对于单通道字节型图像:

长丰县19745458699: opencv怎么提取图像中的绿色部分 -
尉迟晴加葵: 比较直接的方式是遍历整个图片,判断每个点的像素值是不是在“绿色”的阈值之前,绿色的像素值应该在某两个阈值之间,这两个上下阈值需要查下资料.可以一试.

长丰县19745458699: opencv中为什么显示的单通道图像都是灰度图像 -
尉迟晴加葵: 单通道就是只有一种色彩通道啦,你想让它是红的绿的还是蓝的?它的取值范围就是从暗到亮,即所谓的灰度,非严格来说单通道图像就是灰度图像.

长丰县19745458699: 怎么用opencv获取图像灰度值(用C语言)? -
尉迟晴加葵: 1、可以变成灰度图也可以不变.这里假设你的图像都是IPL_DEPTH_8U类型.2、如果变成灰度图,就是单通道图像,获取的就是每一个像素点的灰度值. IplImage* img = cvLoadImage("test.bmp", 0); for (int i = 0; i < img->height; i++) { for (int ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网