草庐IT

彩色图像灰度化 (RGB ⇒ Gray )(RGB ⇒ YUV)(Verilog)

简介:    把一个彩色图像,也称为RGB(红,绿,蓝)图像转化为灰度图像的行为称为彩色图像灰度化处理。也就是由原来的三个通道RGB转化为一个通道YCrCb(从三个亮度值转换为一个亮度值),也即YUV(亮度,饱和度)的过程。常见的24位深度彩色图像RGB888中的每个像素的颜色由R、G、B三个分量决定,并且三个分量各占1个字节,每个分量的变化范围是0~255。而灰色图像是一种特殊的彩色图像,其一个像素点的变化范围是0~255,所以在进行图像处理的过程中,用灰度图像会比RGB图像少了很多计算量。想要进行彩色图像灰度化处理,有4种方法,以下会一一讲解。加权平均法:    这也是彩色图像灰度化处理最

彩色图像灰度化 (RGB ⇒ Gray )(RGB ⇒ YUV)(Verilog)

简介:    把一个彩色图像,也称为RGB(红,绿,蓝)图像转化为灰度图像的行为称为彩色图像灰度化处理。也就是由原来的三个通道RGB转化为一个通道YCrCb(从三个亮度值转换为一个亮度值),也即YUV(亮度,饱和度)的过程。常见的24位深度彩色图像RGB888中的每个像素的颜色由R、G、B三个分量决定,并且三个分量各占1个字节,每个分量的变化范围是0~255。而灰色图像是一种特殊的彩色图像,其一个像素点的变化范围是0~255,所以在进行图像处理的过程中,用灰度图像会比RGB图像少了很多计算量。想要进行彩色图像灰度化处理,有4种方法,以下会一一讲解。加权平均法:    这也是彩色图像灰度化处理最

c++ - ffmpeg Bmp 到 yuv : Crash at sws_scale

上下文:我有一系列连续的位图,我想将它们编码成一种轻型视频格式。我使用ffmpeg版本2.8.3(内部版本here),在qt5、qtIDE和msvc2013适用于win32。问题:我的代码在sws_scale()处崩溃(有时在avcodec_encode_video2()处)。当我探索堆栈时,崩溃事件发生在sws_getCachedContext()。(我只能看到这些ffmpeg构建的堆栈)。我只使用这些ffmpeg库(来自Qt.pro文件):LIBS+=-lavcodec-lavformat-lswscale-lavutilswscale是哪个bug。这是代码:voidnewVide

ios - YUV420p 有很多绿色 --> iOS 上 OpenGL 2.0 着色器中的 RGB

我想使用ffmpeg和OpenGLES2.0为iOS制作一个电影播放器但我有一些问题。输出的RGB图像有很多绿色。这是代码和图片480x320宽度和高度:512x512纹理宽度和高度我从ffmpegAVFrame得到了一个YUV420p行数据。for(inti=0,nDataLen=0;idata[i];for(intj=0;j>nShift);j++){memcpy(&pData->pOutBuffer[nDataLen],pYUVData,(mWidth>>nShift));pYUVData+=_frame->linesize[i];nDataLen+=(mWidth>>nShif

ios - 如何在 VLC 播放器上播放原始 YUV NV12 文件

我正在处理一个在ObjectiveC上开发的视频处理项目。现在,我得到了YUV(YpCbCr)格式的相机原始输出,表示为YUV(NV12)格式。我已将此输出存储在一个文件中。我怎样才能在VLC播放器上播放这个原始的YUVNV12文件?还有一件事我要提一下,我可以通过以下命令在VLC上播放原始YUV(I420)格式的视频文件:"C:\ProgramFiles\VideoLAN\VLC\vlc.exe"--demuxrawvideo--rawvid-fps10--rawvid-width640--rawvid-height480--rawvid-chromaI420input.yuvvlc

iOS 使用 vImage - 加速将 QCAR YUV 转换为 RGB

我正在尝试测试转换Vuforia生成的YUV图像并将它们转换为UIImage使用iOSAccelerateFramework的vImage调用的性能。在代码的当前状态下,我只是想让它工作。现在转换会产生深色条纹图像。是否有关于Vuforia如何在其实现中布局YUV格式的任何已发布的详细信息?我最初的假设是他们使用iOS设备使用的双平面420p格式。相关测试代码如下。UIImage*imageWithQCARCameraImage(constQCAR::Image*cameraImage){UIImage*image=nil;if(cameraImage){QCAR::PIXEL_FOR

ios - 如何从 YUV 转换为 CIImage for iOS

我正在尝试将YUV图像转换为CIIMage并最终转换为UIImage。我在这些方面相当新手,并试图找出一种简单的方法来做到这一点。据我所知,从iOS6YUV可以直接用于创建CIImage但是当我试图创建它时,CIImage只持有一个nil值。我的代码是这样的->NSLog(@"StartedDrawVideoFrame\n");CVPixelBufferRefpixelBuffer=NULL;CVReturnret=CVPixelBufferCreateWithBytes(kCFAllocatorDefault,iWidth,iHeight,kCVPixelFormatType_420

android - 将YUV420Sp图像逆时针旋转90度

我想将YUV420SP图像逆时针旋转90。图像尺寸为640*480,因此旋转后的图像尺寸变为我不想要的480*640,因此我想提取480*480数据(或任何其他正方形尺寸)并旋转该数据。我看过:RotateanYUVbytearrayonAndroid但是这个答案顺时针旋转了90。有人可以建议一些将YUV420Sp数据旋转90度(逆时针)或270度(顺时针)而不改变图像尺寸的函数。 最佳答案 好的,这是我的native代码,经过多次敲击脑袋后演变而来。我的困难是在看到this之前我不了解平面图像格式还有这个:这是我最终写的2个函数:

android - 如何保存 YUV_420_888 图像?

我使用camera2API构建了自己的相机应用。我从示例“camera2Raw”开始,添加了YUV_420_888支持而不是JPEG。但是现在我想知道如何将图像保存在ImageSaver中!?这是我的运行方法代码:@Overridepublicvoidrun(){booleansuccess=false;intformat=mImage.getFormat();switch(format){caseImageFormat.RAW_SENSOR:{DngCreatordngCreator=newDngCreator(mCharacteristics,mCaptureResult);Fil

android - 在 c++ (android-ndk) 中从 YUV 转换为 RGB

我在android中开发,并希望将YUV格式的相机预览回调中的字节数组转换为rgb格式。我使用了这个答案中给出的函数:GettingframesfromVideoImageinAndroid它在java中完美运行,但我的问题是我想在c++中创建函数(我使用的是ndk,对c++不是很熟悉)。我曾尝试在C++中创建该函数,但它总是产生奇怪的结果(例如,图片全是绿色)。有没有人有类似的功能或这个功能在C++中工作?谢谢。 最佳答案 在C++中从YUYV到RGB的转换:unsignedchar*rgb_image=newunsignedch