資源簡介
用海康采集卡做個項目 需要連續抓拍及緩沖圖片 用SDK本身提供的圖像抓拍太費時 調用間隔較小時導致畫面卡頓現象;改用原始圖像數據流回調函數RegisterImageStreamCallback進行抓圖 但回調函數幀為YUV420格式 需要轉成Bitmap才用用于顯示及本地查看 在網上找了好多都是基于R Y+1 4075 V 128 G Y 0 3455 U 128 – 0 7169 V 128 B Y+1 779 U 128 公式運算且大多是C語言 改成C#后效率一直不高(嘗試過消除浮點運算 查表法等) 后看到MSDN上的轉換公式 http: msdn microsoft com en us library aa917087 aspx 后編寫了此轉換類庫 轉換一個D1幀 704 576 大約只需60ms左右 壓縮包為Vs2010項目帶使用示例 ">用海康采集卡做個項目 需要連續抓拍及緩沖圖片 用SDK本身提供的圖像抓拍太費時 調用間隔較小時導致畫面卡頓現象;改用原始圖像數據流回調函數RegisterImageStreamCallback進行抓圖 但回調函數幀為YUV420格式 需要轉成Bitmap才 [更多]

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
namespace?YUV4202RGB
{
????public?partial?class?Form1?:?Form
????{??????
????????public?Form1()
????????{
????????????InitializeComponent();
????????????openFileDialog1.InitialDirectory?=?AppDomain.CurrentDomain.baseDirectory;
????????}
????????private?void?btnOpenfile_Click(object?sender?EventArgs?e)
????????{
????????????if?(openFileDialog1.ShowDialog()?==?System.Windows.Forms.DialogResult.OK)
????????????{
????????????????txtFileName.Text?=?openFileDialog1.FileName;????????????????
????????????}
????????}
????????private?void?btnConvert_Click(object?sender?EventArgs?e)
????????{
????????????System.Diagnostics.Stopwatch?watch?=?new?System.Diagnostics.Stopwatch();
????????????byte[]?yuv?=?System.IO.File.ReadAllBytes(txtFileName.Text);
????????????watch.Restart();?//計時開始
????????????pictureBox1.Image?=?YUVHelper.YUV420frameToImage(yuv?704?576);???//示例文件中幀寬為704像素高576像素
????????????watch.Stop();??//計時結束
????????????lblConvertDes.Text?=?string.Format(“YUV幀轉換耗時:{0}毫秒.“?watch.ElapsedMilliseconds);
????????????string?strBmpFile?=?txtFileName.Text.Substring(0?txtFileName.Text.Length?-?3)?+?“bmp“;
????????????YUVHelper.YUV420SaveAsBMPFile(yuv?704?576?strBmpFile);?????//保存為BMP文件?
????????}
????????private?void?btlExit_Click(object?sender?EventArgs?e)
????????{
????????????Close();
????????}
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-24?18:55??YUV420ToRGB\
?????目錄???????????0??2014-04-25?10:19??YUV420ToRGB\YUV4202RGB\
?????目錄???????????0??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\bin\
?????目錄???????????0??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\bin\Debug\
?????文件?????1216566??2014-04-25?10:21??YUV420ToRGB\YUV4202RGB\bin\Debug\yuv02.bmp
?????文件??????608256??2014-04-24?14:31??YUV420ToRGB\YUV4202RGB\bin\Debug\yuv02.yuv
?????文件???????12800??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\bin\Debug\YUV4202RGB.exe
?????文件???????28160??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\bin\Debug\YUV4202RGB.pdb
?????文件???????11600??2014-04-25?10:21??YUV420ToRGB\YUV4202RGB\bin\Debug\YUV4202RGB.vshost.exe
?????文件?????????490??2010-03-17?22:39??YUV420ToRGB\YUV4202RGB\bin\Debug\YUV4202RGB.vshost.exe.manifest
?????文件????????1634??2014-04-25?10:19??YUV420ToRGB\YUV4202RGB\Form1.cs
?????文件????????6027??2014-04-25?10:19??YUV420ToRGB\YUV4202RGB\Form1.Designer.cs
?????文件????????6020??2014-04-25?10:19??YUV420ToRGB\YUV4202RGB\Form1.resx
?????目錄???????????0??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\obj\
?????目錄???????????0??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\obj\x86\
?????目錄???????????0??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\
?????文件????????4440??2014-04-24?19:15??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????6329??2014-04-25?10:21??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件?????????388??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\GenerateResource.read.1.tlog
?????文件?????????886??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\GenerateResource.write.1.tlog
?????目錄???????????0??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\TempPE\
?????文件????????1030??2014-04-25?10:19??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV4202RGB.csproj.FileListAbsolute.txt
?????文件???????12800??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV4202RGB.exe
?????文件?????????180??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV4202RGB.Form1.resources
?????文件???????28160??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV4202RGB.pdb
?????文件?????????180??2014-04-25?10:20??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV4202RGB.Properties.Resources.resources
?????文件????????1244??2014-04-25?10:21??YUV420ToRGB\YUV4202RGB\obj\x86\Debug\YUV420ToRGB.csproj.FileListAbsolute.txt
?????文件?????????491??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\Program.cs
?????目錄???????????0??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\Properties\
?????文件????????1364??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\Properties\AssemblyInfo.cs
?????文件????????2870??2014-04-24?11:39??YUV420ToRGB\YUV4202RGB\Properties\Resources.Designer.cs
............此處省略8個文件信息
- 上一篇:用C語言讀寫SGY格式的地震數據文件
- 下一篇:B樣條曲面C++程序
評論
共有 條評論