您现在的位置是:网站首页> 软件下载软件下载
YUV420转BMP下载绿色版-软件下载
2021-05-19
56人已围观
简介 YUV420转BMP下载绿色版-软件下载
基本支持所有YUV方面的转换.
不过全部是exe方式的, 如果你打开win32目录的话,支持vs2003和vs2005 ,也支持其他c++编辑器
如果不会c,那就用下面的方法弄就行了. 呵呵 .
yuv420 转bmp的方法:
我找到了一个c写的exe ,但是c的水平我实在是不敢去修改那个源码,所以我干脆就调用这个dll,在c#里建立了下面这个类, 然后调用 Y2b.exe 来转换, 而且不会显示出来那个黑屏.要知道怎么回事,就看代码吧!呵呵.
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Drawing;
using System.IO;
namespace JXImage
{
public class YUV2BMP
{
///
/// 检查程序配置是否正常, 比如exe路径,图片文件夹等. 一般情况下设置了路径和图片文件路径以及图片后,应该使用属性取得是否可以执行命令.
///
public bool CanUse
{
get
{
if (System.IO.File.Exists(System.Windows.Forms.Application.StartupPath + "//Y2B.exe") )
{
return true;
}
return false;
}
}
private string bmpfile = null;
///
/// BMP文件名, 在成功执行转换后可以用此获得文件路径..
///
///
public string GetBmpFileName()
{
return bmpfile;
}
///
/// BMP数据流,成功转换后可以从此获得流 .
///
///
public MemoryStream GetBmpFileStream()
{
try
{
return new MemoryStream(System.IO.File.ReadAllBytes(bmpfile));
}
catch (Exception)
{
return null;
}
}
///
/// Image 成功转换后可以用此来获得文件.
///
///
public Image GetBmp()
{
try
{
return Image.FromFile(bmpfile);
}
catch (Exception)
{
return null;
}
}
///
/// YUV转BMP
///
/// YUV文件名
///
public bool YUVtoBMP(string yuvfilename)
{
if (CanUse)
{
string ret = Execute(yuvfilename);
if (ret.IndexOf("OK")>=0)//从0字符开始会有个OK
{
if (System.IO.File.Exists(yuvfilename.Replace(".yuv", ".bmp")))
{
bmpfile = yuvfilename.Replace(".yuv", ".bmp");
return true;
}
}
}
return false;
}
///
/// 执行DOS命令.
///
/// 命令
///
public static string Execute(string yuvfilename)
{
int milliseconds = 2 * 1000;//两秒
string output = ""; //输出字符串
if (yuvfilename != null && yuvfilename != "")
{
Process process = new Process(); //创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo();
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(); //这里无限等待进程结束
else
process.WaitForExit(milliseconds); //这里等待进程结束,等待时间为指定的毫秒
output = process.StandardOutput.ReadToEnd();//读取进程的输出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
return output;
}
return null;
}
}
}
描述:
1、读取akiyo_qcif.yuv YUV420文件,按帧读取,转RGB,并存储到BMP文件。 2、暂时实现读取一帧并存储一张BMP图片。 若要读取YUV序列,写成循环方式即可。 3、生成的BMP文件还有一点小问题:图像的倒立的,而且红色偏多。 YUV是qcif分辨率。 估计是YUV到RGB的计算公式有点问题。解决中。。。。 图像倒立问题已经解决。红色不知道是不是公式变换和RGB数值区间限制的时候产生的。估计和UV的差值方式也有关系。 红色的问题已经解决,采用的变换公式不正确。 但是还是有一些横纹,不知道是怎么回事。 .
说明一下
本程序是由其他程序修改而来,为了避免麻烦,对其中一些没有用的地方并没有删除,但是这样不会影响使用。
相关内容
点击排行
- itunes官方下载中文版 iTunes旧版本 for windows v12.0.1 中文安装免费版 下载-
- Nubia努比亚Z7手机ROM v1.22 官方安装版 下载-
- Nexus5刷机工具下载 谷歌Nexus 5刷机工具 V6.0.4.5 中文官方免费版 下载-
- 苹果手机管理工具 完美苹果助手 v1.0.0.1 官方最新安装版 下载-
- iPhone正版序列号查询软件 V1.0 免费绿色版 支持iPhone6、iphone5、iPad等苹果产品序列号查询 下载-
- iTools兔子助手移动版 iTools 兔子助手 (无需越狱下载资源 适用iPad iphone) v4.4.1.3 官方中文版 下载-
- 三星Surface Pro 3 SSD性能升级补丁 下载-
- 安卓手机救砖工具 三星救砖大师 v1.0.1 中文绿色独立版 下载-
本栏推荐
-
itunes官方下载中文版 iTunes旧版本 for windows v12.0.1 中文安装免费版 下载-
-
Nubia努比亚Z7手机ROM v1.22 官方安装版 下载-
-
Nexus5刷机工具下载 谷歌Nexus 5刷机工具 V6.0.4.5 中文官方免费版 下载-
-
苹果手机管理工具 完美苹果助手 v1.0.0.1 官方最新安装版 下载-
-
iPhone正版序列号查询软件 V1.0 免费绿色版 支持iPhone6、iphone5、iPad等苹果产品序列号查询 下载-
-
iTools兔子助手移动版 iTools 兔子助手 (无需越狱下载资源 适用iPad iphone) v4.4.1.3 官方中文版 下载-
-
三星Surface Pro 3 SSD性能升级补丁 下载-
猜你喜欢
- itunes官方下载中文版 iTunes旧版本 for windows v12.0.1 中文安装免费版 下载-
- Nubia努比亚Z7手机ROM v1.22 官方安装版 下载-
- Nexus5刷机工具下载 谷歌Nexus 5刷机工具 V6.0.4.5 中文官方免费版 下载-
- 苹果手机管理工具 完美苹果助手 v1.0.0.1 官方最新安装版 下载-
- iPhone正版序列号查询软件 V1.0 免费绿色版 支持iPhone6、iphone5、iPad等苹果产品序列号查询 下载-
- iTools兔子助手移动版 iTools 兔子助手 (无需越狱下载资源 适用iPad iphone) v4.4.1.3 官方中文版 下载-
- 三星Surface Pro 3 SSD性能升级补丁 下载-
