草庐IT

DIB_RGB_COLORS

全部标签

c++ - cv::Mat 中 cv::Point 的 OpenCV rgb 值

我已经在StackOverflow上查看了不同的问题,但似乎都没有帮助。我想做的很简单:我有一个cv::Point,我需要在cv::Mat中获取该点像素的RGB值这样我就可以将它与存储的RGB值进行比较。现在这应该很容易了,但我已经尝试了1001种不同的方法,但它对我不起作用。请有人帮助我摆脱痛苦!!编辑:下面的两个答案都有效!我是C++的新手,不知道通过cout输出unsignedchar会产生问号!printfoffcourse给出了正确的值!! 最佳答案 这真的很简单。然而,OpenCV的文档擅长隐藏简单的答案。示例代码如下:

c++ - 将 C++ 中的 RGB 值数组转换为图像文件的最简单方法是什么?

我一直在网上寻找一个好的、快速的解决方案,但还没有找到令我满意的东西。看起来它应该是微不足道的——只是对某个库中的函数进行一两次调用,仅此而已——但事实似乎并非如此。libjpeg和libtiff缺乏良好的文档,人们发布的解决方案涉及了解图像的生成方式和编写约50行代码。你们会如何用C++做到这一点? 最佳答案 如果您想要“简单”胜过其他任何东西,请查看stb_image_write.h.这是一个单一的头文件,包括对写入BMP、PNG和TGA文件的支持。每种格式只需调用一次:intstbi_write_png(charconst*f

c++ - 将 Lab 值转换为 opencv 中的 RGB 值

我正在尝试将Lab值转换为其相应的RGB值。我不想将Lab图像转换为RGB图像,而是La和b的一些值。函数cvCvtColor仅适用于图像。谁能告诉我如何做到这一点。谢谢;代码:CvMat*rgb=cvCreateMat(centres->rows,centres->cols,centres->type);cvCvtColor(centres,rgb,CV_Lab2BGR); 最佳答案 我不知道如何在OpenCV中做到这一点,但如果其他事情没问题,我有implementeditinC.请参阅函数color_Lab_to_Linear

c++ - 如何将灰度图像复制到 OpenCV 中的 RGB 图像红色 channel ?

我有两张输入图像,它们是灰度,我正在创建另外一张图像,它是RGB>并且应该在红色channel中包含灰色图像之一,在绿色channel中包含另一个。Matimg,img2;img=imread("above.jpg",CV_LOAD_IMAGE_GRAYSCALE);img2=imread("left.jpg",CV_LOAD_IMAGE_GRAYSCALE);Mat*aboveLeft=newMat(img.rows,img.cols,CV_LOAD_IMAGE_COLOR);intfrom_to[]={0,1};cv::mixChannels(&img,1,aboveLeft,3,

c++ - 使用 RGB 源和 RGBA 叠加实现近乎实时的 CPU 功能,如 glAlphaFunc(GL_GREATER)

延迟是这里最大的问题。我发现尝试通过OpenGL将带有RGBA覆盖的3个1920x1080视频源渲染到单个窗口有限制。我能够渲染两个带叠加层的窗口或3个不带叠加层的窗口,但当引入第三个窗口时,渲染停顿很明显。我认为这个问题是由于过度使用glAlphaFunc()来覆盖RGB视频纹理和基于RGBA的纹理。为了减少过度使用,我的想法是将一些覆盖功能移到CPU中(因为我有很多CPU-双六核至强)。执行此操作的理想位置是将源RGB图像复制到映射的PBO并将RGB值替换为A>0的RGBA叠加层中的值。我尝试过使用英特尔IPP方法,但没有一种方法不涉及多次调用并会导致过多的延迟。我试过直接使用C代

c++ - 如何通过cimg获取rgb值?

CImgsrc("image.jpg");intwidth=src.width();intheight=src.height();unsignedchar*ptr=src.data(10,10);如何从ptr获取rgb? 最佳答案 在Ubuntu10.04上使用保存为test.png的手工制作的3x3RGB图像进行测试:sudoapt-getinstallcimg-devSourcefilecimg_test.cpp:#includeusingnamespacestd;#includeusingnamespacecimg_libra

c++ - 更正 YUV422 到 RGB 的转换

大约一个星期以来,我一直在尝试将YUV422转换为RGB转换问题。我访问过许多不同的网站,并从每个网站获得了不同的公式。如果其他人有任何建议,我会很高兴听到他们。下面的公式给我一个图像,其中包含整体紫色或绿色色调。到目前为止,我还没有找到可以让我取回正确RGB图像的公式。我在下面包含了我所有的各种代码块。//for(inti=0;iimageData[i]=pData[i]+pData[i+2]*((1-0.299)/0.615);//m_RGB->imageData[i+1]=pData[i]-pData[i+1]*((0.114*(1-0.114))/(0.436*0.587))-

c++ - 解包点云数据集中的 RGB 值

这是关于解压pcl文件中编码的rgb值。我使用pcl文档中描述的过程完成了此操作,但我得到的解压缩rgb值并不完全正确。当我用R绘制它们时,给出的表示与真实设置中的颜色不对应(我在某种程度上确定问题不在于用R绘制的方式)。例如,在所附图片中,划定的区域应为灰色和蓝色(两把椅子和一张table)。可以在以下位置找到源pcl文件:https://docs.google.com/open?id=0Bz5-HVcDiF6SanBZU0JWVmJwWHM和具有解压缩颜色值的文件位于:https://docs.google.com/open?id=0Bz5-HVcDiF6SV2pYQ0xUbTAw

c++ - 使用 sse intrinsics 的 (A)RGB32 图像最快 50% 缩放

我想在C++中尽可能快地缩小图像。Thisarticle描述了如何有效地将32位rgb图像平均降低50%。它速度快,看起来不错。我尝试使用sse内在函数修改该方法。下面的代码在启用或不启用SSE的情况下都有效。然而,令人惊讶的是,加速可以忽略不计。任何人都可以找到改进SSE代码的方法吗?创建varsshuffle1和shuffle2的两条线似乎是候选者(使用一些巧妙的移位或类似方法)。/**Calculatestheaverageoftworgb32pixels.*/inlinestaticuint32_tavg(uint32_ta,uint32_tb){return(((a^b)&0

c++ - 为什么 unsigned char 用于 RGB 像素数据?

我正在使用一些基本的计算机图形学来学习C++。像素数据通常表示为:unsignedchar*pixelsunsignedchar很好,因为它是0到255之间的值(256=2^8因为char是2个字节,1个字节是8位?)。这很好,因为在RGB中,颜色用0到255之间的数字表示。但是..我将其理解为单色图像,在正常图像中我有RGB,我会有3个未签名字符数组,一个用于红色,一个用于绿色,一个用于蓝色。像这样的东西:unsignedchar*pixels[3]但我从来没有发现类似的RGB像素数据 最佳答案 RGB图像通常以交错顺序存储(R1