基本支持所有YUV方面的转换.不过全部是exe方式的,如果你打开win32目录的话,支持vs2003和vs2005,也支持其他c++编辑器如果不会c,那就用下面的方法弄就行了.呵呵.
yuv420转bmp的方法:
我找到了一个c写的exe,但是c的水平我实在是不敢去修改那个源码,所以我干脆就调用这个dll,在c#里建立了下面这个类,然后调用Y2b.exe来转换,而且不会显示出来那个黑屏.要知道怎么回事,就看代码吧!呵呵.usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Drawing;usingSystem.IO;namespaceJXImage{publicclassYUV2BMP{///<summary///检查程序配置是否正常,比如exe路径,图片文件夹等.一般情况下设置了路径和图片文件路径以及图片后,应该使用属性取得是否可以执行命令.///</summarypublicboolCanUse{get{if(System.IO.File.Exists(System.Windows.Forms.Application.StartupPath+"//Y2B.exe")){returntrue;}returnfalse;}}privatestringbmpfile=null;///<summary///BMP文件名,在成功执行转换后可以用此获得文件路径..///</summary///<returns返回文件名</returnspublicstringGetBmpFileName(){returnbmpfile;}///<summary///BMP数据流,成功转换后可以从此获得流.///</summary///<returns数据流形式的BMP</returnspublicMemoryStreamGetBmpFileStream(){try{returnnewMemoryStream(System.IO.File.ReadAllBytes(bmpfile));}catch(Exception){returnnull;}}///<summary///Image成功转换后可以用此来获得文件.///</summary///<returns返回一个图片</returnspublicImageGetBmp(){try{returnImage.FromFile(bmpfile);}catch(Exception){returnnull;}}///<summary///YUV转BMP///</summary///<paramname="yuvfilename"YUV文件名</param///<returns返回是否成功</returnspublicboolYUVtoBMP(stringyuvfilename){if(CanUse){stringret=Execute(yuvfilename);if(ret.IndexOf("OK")=0)//从0字符开始会有个OK{if(System.IO.File.Exists(yuvfilename.Replace(".yuv",".bmp"))){bmpfile=yuvfilename.Replace(".yuv",".bmp");returntrue;}}}returnfalse;}///<summary///执行DOS命令.///</summary///<paramname="canmand"命令</param///<returns返回执行结果</returnspublicstaticstringExecute(stringyuvfilename){intmilliseconds=2*1000;//两秒stringoutput="";//输出字符串if(yuvfilename!=null&&yuvfilename!=""){Processprocess=newProcess();//创建进程对象ProcessStartInfostartInfo=newProcessStartInfo();startInfo.FileName=System.Windows.Forms.Application.StartupPath+"//Y2B.exe";//设定需要执行的命令startInfo.Arguments="/h352/v288/""+yuvfilename+"/"/""+yuvfilename.Replace(".yuv",".bmp");//设定参数,其中的“/C”表示执行完命令后马上退出startInfo.UseShellExecute=false;//不使用系统外壳程序启动startInfo.RedirectStandardInput=false;//不重定向输入startInfo.RedirectStandardOutput=true;//重定向输出startInfo.CreateNoWindow=true;//不创建窗口process.StartInfo=startInfo;try{if(process.Start())//开始进程{if(milliseconds==0)process.WaitForExit();//这里无限等待进程结束elseprocess.WaitForExit(milliseconds);//这里等待进程结束,等待时间为指定的毫秒output=process.StandardOutput.ReadToEnd();//读取进程的输出}}catch{}finally{if(process!=null)process.Close();}returnoutput;}returnnull;}}}
描述:
1、读取akiyo_qcif.yuvYUV420文件,按帧读取,转RGB,并存储到BMP文件。2、暂时实现读取一帧并存储一张BMP图片。若要读取YUV序列,写成循环方式即可。3、生成的BMP文件还有一点小问题:图像的倒立的,而且红色偏多。YUV是qcif分辨率。估计是YUV到RGB的计算公式有点问题。解决中。。。。图像倒立问题已经解决。红色不知道是不是公式变换和RGB数值区间限制的时候产生的。估计和UV的差值方式也有关系。红色的问题已经解决,采用的变换公式不正确。但是还是有一些横纹,不知道是怎么回事。.
说明一下
本程序是由其他程序修改而来,为了避免麻烦,对其中一些没有用的地方并没有删除,但是这样不会影响使用。
Tags:BMP.
小编点评:一款高级的Windows注册表优化和管理.
下载小编点评:亿图图示专家一款基于矢量的绘图工具,包.
下载小编点评:MAGIXPhotoManager.
下载小编点评:图片隐写助手是一款十分优秀的图文合.
下载小编点评:RasterVect的目的是快速地将不可编辑的.
下载小编点评:虽然现在很多手机相机都自带HDR功能.
下载小编点评:jv16PowerTools为您提.
下载小编点评:硬盘安装leopard,镜像写入工具启动硬盘.
下载小编点评:HDDREG硬盘修复工具是一款专业.
下载小编点评:软件介绍家用电器家电业(家用电器销售管.
下载小编点评:软件介绍本软件可链接所有的眼底镜、.
下载小编点评:软件介绍商信通性能特点1.全面覆盖.
下载小编点评:软件介绍佐手软件推出的新型通用合同.
下载AAA餐饮住宿娱乐收银系统V1.0.0下载
京东咚咚商家版-京东咚咚卖家版 v9.3.2.0
AACall电话宝(AACall网络电话)V5.0.8绿色版下载
死灵法师简体中文版(暂未上线)
星际丧尸(暂未上线)
致命冒险(暂未上线)
战就战华为版下载-华为战就战手游客户端下载v1.2.3 安卓版
幽暗大陆手游下载-幽暗大陆官方版下载v1.10.35 安卓版
斗破青穹官方下载-斗破青穹最新版手游下载v2.2.0 安卓版
乱斗奇兵九游版下载-乱斗奇兵九游手游下载v1.70.00 官网安卓最新版
高速公路1968下载软件-高速公路1968官方版下载v4.6.14 安卓版
gm特权灵剑飞仙游戏下载-灵剑飞仙gm版下载v2.0.1 安卓版
未央一梦游戏下载-未央一梦手游下载v24.0 安卓版