惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
S
SegmentFault 最新的问题
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
U
Unit 42
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - Franky
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - zealsoft

洛谷 P1816 忠诚题解 洛谷 P2384 最短路题解 洛谷 P2725 邮票题解 洛谷 P2722 总分题解 洛谷 P1219 八皇后题解 洛谷 P2921 在农场万圣节Trick or Treat on the Farm题解 洛谷 P1162 填涂颜色题解 洛谷 P1330 封锁阳光大学题解 洛谷 P1032 字串变换题解 洛谷 P1443 马的遍历题解 洛谷 P1280 尼克的任务题解 洛谷 P1020导弹拦截题解 洛谷 P1141 01迷宫题解 VisualSVNServer无法卸载也无法安装,报告不是有效的MOF文件(0x8004401e)错误 一个VxWorks源代码网站 找个轻量级的Log库还挺难 TAU G2中的BitString和OctetString W32.Downadup.autorun病毒的清除 如何用Visual Studio 2005编译Wireshark的插件
视频捕捉的格式问题
zealsoft · 2010-11-16 · via 博客园 - zealsoft

    这几天一个学生在调试视频捕捉程序的时候遇到了一个问题。他使用capGetVideoFormat函数获得视频的格式时,发现m_bmpinfo.bmiHeader.biBitCount为16,他认为这是表示16位的RGB格式。可是不管他是使用RGB565,还是RGB555格式进行转换时,发现转换后的YUV文件都是不对的。在我的Sony笔记本上运行他的程序,其中的m_bmpinfo.bmiHeader.biCompression的值为1498831189,这说明笔记本的摄像头所采集的数据的格式并不是普通的16位RGB数据,而是UYVY格式的。UYVY格式是YUV格式的一个变种,在网上可以找到详细的说明,在此就不赘述了。

    要想知道biCompression到底有多少种取值,可以参考一下:http://files.codes-sources.com/fichier.aspx?id=45735&f=src/org/hypik/webcamlib/codecs/Codecs.java。在这里详细的列出了各种视频压缩的编码。

    怎样才能知道自己的摄像头到底支持哪种格式的输出呢?可以使用capDlgVideoFormat函数: 

capDlgVideoFormat(m_wndVideo);

     这个函数会激活摄像头驱动的视频格式设置对话框,如下图所示。

 

    我的这个摄像头支持2种输出格式,一种是UYVY,另一种是YUV2。 如果将m_bmpinfo.bmiHeader.biCompression设置为这两种之外的值,再使用capSetVideoFormat改变输出格式,由于驱动程序不支持而不会获得成功。