bmp转yuv_text函数转换日期

bmp转yuv_text函数转换日期voidSaveBMP(BYTE*data,intw,inth) //data指代的是解码后的原始数据,格式为:NV12{FILE*f;unsignedchar*img=NULL;intfilesize=54+3*w*h;     //wisyourimagewidth,hisimageheight,bothi

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


void SaveBMP ( BYTE* data, int w, int h )  // data指代的是解码后的原始数据,格式为:NV12
{

FILE *f;
unsigned char *img = NULL;
int filesize = 54 + 3*w*h;          //w is your image width, h is image height, both int
if( img )  { free( img ); }


img = (unsigned char *)malloc(3*w*h);
memset(img,0,sizeof(img));

for(int j=0; j<h; j++)
{

for(int i=0; i<w; i++)
{

unsigned char r,g,b;
r = data[(((j*w)+i)*4)+2];
g = data[(((j*w)+i)*4)+1];
b = data[(((j*w)+i)*4)+0];
img[(((j*w)+i)*3)+2] = (r);
img[(((j*w)+i)*3)+1] = (g);
img[(((j*w)+i)*3)+0] = (b);
}
}

unsigned char bmpfileheader[14] = {‘B’,’M’, 0,0,0,0, 0,0, 0,0, 54,0,0,0};
unsigned char bmpinfoheader[40] = {40,0,0,0, 0,0,0,0, 0,0,0,0, 1,0, 24,0};
unsigned char bmppad[3] = {0,0,0};

bmpfileheader[ 2] = (unsigned char)(filesize    );
bmpfileheader[ 3] = (unsigned char)(filesize>> 8);
bmpfileheader[ 4] = (unsigned char)(filesize>>16);
bmpfileheader[ 5] = (unsigned char)(filesize>>24);

bmpinfoheader[ 4] = (unsigned char)(       w    );
bmpinfoheader[ 5] = (unsigned char)(       w>> 8);
bmpinfoheader[ 6] = (unsigned char)(       w>>16);
bmpinfoheader[ 7] = (unsigned char)(       w>>24);
bmpinfoheader[ 8] = (unsigned char)(       h    );
bmpinfoheader[ 9] = (unsigned char)(       h>> 8);
bmpinfoheader[10] = (unsigned char)(       h>>16);
bmpinfoheader[11] = (unsigned char)(       h>>24);

        g_FrameCapFile[] = “framecap.bmp”; //保存的图片名称
f = fopen(g_FrameCapFile,”wb”);   

fwrite(bmpfileheader,1,14,f);
fwrite(bmpinfoheader,1,40,f);
for(int i=0; i<h; i++)
{

fwrite(img+(w*(h-i-1)*3),3,w,f);
fwrite(bmppad,1,(4-(w*3)%4)%4,f);
}
fclose(f);
printf(“saved frame capture file width = %d, height = %d\n”, w, h);
}





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189727.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 无锁编程入门「建议收藏」

    无锁编程入门「建议收藏」无锁编程入门本文档的最后也说了,确实是简单介绍,本身需要参考很多其他链接的东西。有翻译不对的地方请帮忙指出来。谢谢。文章中红色字体是我自己加的。原文地址:http://preshing.com/20120612/an-introduction-to-lock-free-programming无锁编程是一个挑战,不只是因为任务本身的复杂度,还由于《 butbecauseo

    2022年6月6日
    27
  • Maven配置教程

    <divid=”content_views”class=”markdown_viewsprism-github-gist”><svgxmlns=”http://www.w3.org/2000/svg”style=”display:none;”><pathstroke-linecap=”round”d=”M5,00,2.55,5z”id=”raphael-marker…

    2022年4月3日
    42
  • 干货满满 | 5个信号,说明你的面试基本“折了”

    干货满满 | 5个信号,说明你的面试基本“折了”

    2022年2月14日
    47
  • java分布式特点_java分布式架构是什么?分布式架构的优缺点有哪些?

    java分布式特点_java分布式架构是什么?分布式架构的优缺点有哪些?作为目前互联网最流行的技术之一,分布式是当仁不让的,小伙伴们都了解什么是分布式架构吗?它的优缺点又有哪些呢?快听小编为你介绍介绍吧。一、什么是分布式架构?分布式概念要想理解什么是分布式,我们一定要知道以下这些性质:1)、首先,一个分布式系统它一定是由多个节点组成的系统。2)、其次,一般它的节点都是指计算机服务器,并且这些节点通常不会孤立,它们是互通的。3)、最后,它的连通的节点上都会部署我们的节点…

    2022年6月1日
    29
  • 2基本放大电路_基本放大电路详解

    2基本放大电路_基本放大电路详解基本放大电路

    2022年8月5日
    3
  • mysql创建前缀索引

    mysql创建前缀索引ALTERtable表名addindextitle_pre(列名(100))列名后面的数字代表前缀的长度,前缀长度并不是越长越好,这里涉及到一个选择性问题,selectcount(distinct列名)/count(*)asa,COUNT(DISTINCTleft(列名,100))asb,COUNT(DISTINCTleft(列名,110))ascfrom表名来查…

    2022年5月10日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号