草庐IT

BMP到YUV

全部标签

c++ - 编码解码器 YUV 到 RGB

我正在尝试使用libswscale将YUV帧转换为RGB。这是我的代码:AVFrame*RGBFrame;SwsContext*ConversionContext;ConversionContext=sws_getCachedContext(NULL,FrameWidth,FrameHeight,AV_PIX_FMT_YUV420P,FrameWidth,FrameHeight,AV_PIX_FMT_RGB24,SWS_BILINEAR,0,0,0);RGBFrame=av_frame_alloc();avpicture_fill((AVPicture*)RGBFrame,&FillV

c++ - 从 bitset 创建单色 BMP

我可能需要一些帮助来弄清楚如何提供下面的过程。我需要编写一个单色BMP文件。下面的代码(来自:HowtoSavemonochromeImageasbmpinwindowsC++?)看起来能够做到这一点。我现在陷入了如何将std::bitset或最好是boost::dynamic_bitset转换为这种byte*格式。到目前为止,我所有的尝试都失败了,我无法在BMP中写入类似8x8棋盘格图案的东西。proc创建了BMP,它可以被Photoshop读取,但是内容很乱。因此,我们将不胜感激任何解决此问题的建议!Save1BppImage(byte*ImageData,constchar*fi

c++ - 1bpp 单色 BMP

我运行了一个演示bmp文件格式帮助程序“DDDemo.exe”来帮助我可视化32x1像素bmp文件(单色)的格式。我对这两个标题部分没问题,但似乎不理解颜色表和像素位部分。我制作了两个32x1像素的bmp文件来帮助我进行比较(请参阅附件)。有人能帮我理解“像素位”与颜色图的关系吗?更新:经过反复试验,我终于能够编写一个32x1像素的单色BMP。尽管它与附加图像具有不同的像素位,但此工具有助于标题和颜色映射概念。谢谢大家的意见。 最佳答案 PIXELBITS中未设置的位指的是第一个颜色表条目(0,0,0),黑色,设置的位指的是第二个颜

FPGA-仿真读写bmp图片

文章目录位图说明位图Verilog代码实现python处理代码(附)最近想完成FPGA图像处理,由于没有开发板,就像通过仿真完成,之前像的是通过python将图像转化为txt文本,最后利用verilog读取txt文件导入,对像素点进行处理,然后将处理后像素数据写入txt,最后通过python转化为bmp位图,后来发现verilog可以直接读取bmp文件,并且将数据写入bmp文件。方便了很多。位图说明BMP文件存储格式bmp文件的存储格式是Windows系统中广泛使用的图像文件格式,对图像不做任何程度的压缩处理,主要分为位图头文件,位图信息头,调色板信息,像素数据四大部分,由于通常是处理RBG图

c++ - YUV 图像中的像素

我正在使用opencv来实现对象跟踪。我读到YUV图像比RGB图像更好用。我的问题是,尽管我花了很多时间阅读笔记,但我还是无法理解YUV格式。Y是亮度,我认为它是根据R、G、B分量的组合计算得出的。我的主要问题是如何访问和操作YUV图像格式的像素。在RGB格式中,它很容易访问组件,因此可以使用像这样的简单操作来更改它src.at(j,i).val[0]=0;forexample但是在YUV中却不是这样。我需要帮助来访问和更改YUV图像中的像素值。例如,如果RGB中的像素是红色,那么我只想保留YUV中的相应像素,其余的将被删除。请帮我解决这个问题。 最佳答案

c++ - 读/写简单 BMP 图像 C++

我正在尝试读取简单的BMP文件,但在不执行任何操作的情况下,我将其再次写回到文件中。不知道是读文件还是写回文件哪里出错了。我在阅读和写作时都添加了填充--文件读取--.std::vectortempImageData;/*tempImageData.resize(m_bmpInfo->imagesize);file.seekg(m_bmpHeader->dataoffset);file.read(&tempImageData[0],m_bmpInfo->imagesize);file.close();*/tempImageData.resize(m_bmpInfo->imagesize

c++ - 在 C/C++ 中将 1 位 bmp 文件转换为数组

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭2年前。Improvethisquestion我希望将可变高度/宽度的1位bmp文件转换为值为0或1的简单二维数组。我对代码和大多数库中的图像编辑没有任何经验我发现涉及比我需要的更高的位深度。任何有关这方面的帮助都会很棒。

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++ - SIMD : Why is the SSE RGB to YUV color conversion about the same speed as the c++ implementation?

我刚刚尝试优化RGB到YUV420转换器。使用查找表可以提高速度,就像使用定点算法一样。然而,我期待使用SSE指令获得真正的yield。我的第一次尝试导致代码变慢,并且在链接所有操作之后,它的速度与原始代码大致相同。我的实现是否有问题,或者SSE说明是否不适合手头的任务?部分原始代码如下:#defineRRGB24YUVCI2_000.299#defineRRGB24YUVCI2_010.587#defineRRGB24YUVCI2_020.114#defineRRGB24YUVCI2_10-0.147#defineRRGB24YUVCI2_11-0.289#defineRRGB24Y

java - 如何在 Java 中从原始 byte[] 创建 BMP 文件

我有一个C++应用程序,它与相机通信并获取原始图像数据。然后我在C++中有一个Byte[],我想用JNI将它发送到Java。但是,我需要将原始的Byte[]转换为真实的文件格式(.bmp是我的首选)。如果我使用BITMAPFILEINFO和BITMAPHEADERINFO从C++将它写入硬盘驱动器上的文件,我可以轻松地做到这一点,但我不知道如何将整个格式发送到Java。然后我考虑使用JNI仅发送原始byte[]数据,然后将其转换为.bmp,但我似乎无法在Java中找到任何好的库来执行此操作。我最好的选择是什么?在C++中转换图像,然后使用JNI发送它,或者将RAW数据发送到Java,然