分离yuv420p的Y、U、V分量_yuv420p流提取yuv分量值-程序员宅基地

技术标签: YUV  yuv  

完整代码

#include <stdio.h>
#include<stdlib.h>
#include<malloc.h>

int simplest_yuv420_split(char* url, int w, int h, int num) {
    
	FILE* fp = fopen(url, "rb+");
	FILE* fp1 = fopen("DownSample_2048_2048_420p_d.y", "wb+");
	FILE* fp2 = fopen("DownSample_2048_2048_420p_d_u.y", "wb+");
	FILE* fp3 = fopen("DownSample_2048_2048_420p_d_v.y", "wb+");

	unsigned char* pic = (unsigned char*)malloc(w * h * 3 / 2);

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

		fread(pic, 1, w * h * 3 / 2, fp);
		//Y
		fwrite(pic, 1, w * h, fp1);
		//U
		fwrite(pic + w * h, 1, w * h / 4, fp2);
		//V
		fwrite(pic + w * h * 5 / 4, 1, w * h / 4, fp3);
	}

	free(pic);
	fclose(fp);
	fclose(fp1);
	fclose(fp2);
	fclose(fp3);

	return 0;
}


int main()
{
    
	simplest_yuv420_split("DownSample_2048_2048_420p_d.yuv", 2048, 2048, 1);
}

注意分离出的Y U V文件都是.y文件
VS中将属性—>C/C+±—>常规---->SDL检查选为否
在这里插入图片描述
参考链接
https://blog.csdn.net/leixiaohua1020/article/details/50534150

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41452267/article/details/104406101

智能推荐

init.rc_root/init.rc-程序员宅基地

文章浏览阅读509次。在Android中使用启动脚本init.rc,可以在系统的初始化中进行简单的操作。init.rc启动脚本路径:system/core/rootdir/init.rc内容:Commands:命令Actions:动作Triggers:触发条件Services:服务Options:选项Properties:属性Commands是一些基本操作。如:_root/init.rc

An Improved Baseline for Sentence-level Relation Extraction-程序员宅基地

文章浏览阅读612次。论文地址: An Improved Baseline for Sentence-level Relation ExtractionAbstract & Contribution目前的句子级的关系抽取任务效果,还有远远达不到人工的效果。本文反思已有模型并指出两个被忽视的方面:关系实例包含多个方面的实体信息,如实体名字、范围、类型;已有的模型并没有将其作为输入。由于预定义的知识本体还具有一定的限制,所以不可避免地有一些关系并不在知识本体中并被标注为NA类别,但是实际上他们可能有更多样的语义._an improved baseline for sentence-level relation extraction

使用navicat premium远程连接centos7的mysql出现10038错误如何解决_navicate连接虚拟机centos7数据库10038-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏10次。对于使用navicat premium工具链接MySQL的一些写错误发,百度上面有很多都是让你在my.ini/my.cnf/my.cnf.d下面删除IP地址,我找了很久都没有找到出现上述情况1、首先 设置远程访问权限 在mysql语句中执行语句grant all privileges on *.* to 'root'@'%' identified by 'youpassword' wi..._navicate连接虚拟机centos7数据库10038

修改el-table-column单独的样式_el-table-column 单独样式-程序员宅基地

文章浏览阅读4.5k次。<template> <el-table :data="tableData" border style="width: 100%" :cell-style="setCellStyle" :header-cell-style="{ textAlign: 'center' }" > <el-table-column prop="date" label="日期" width="180"> </el-table-col_el-table-column 单独样式

Python--day3作业_令dict={1,2,2:3,3:4},dict2={v:u for u,v in dict1.it-程序员宅基地

文章浏览阅读104次。1.集合操作:set_data1 = {1, 2, 3, 4}set_data2 = {2, 3, 5}求两个集合的交集求两个集合的并集求两个集合的差集set_data1 = {1, 2, 3, 4}set_data2 = {2, 3, 5}new = set_data1.intersection(set_data2)print(new)new1 = set_data1.union(set_data2)print(new1)new2 = set_data1.difference(se_令dict={1,2,2:3,3:4},dict2={v:u for u,v in dict1.items() if v>=3},则print(di

利用Asp.net管道优化EntityFramework生命周期管理_entity framework生命周期-程序员宅基地

文章浏览阅读960次。HttpApplication是整个ASP.NET的核心,在第一次请求到抵达后,ASP.NET会创建大量HttpApplication对象置于对象池中并保持其存活。在后续请求的时候,ASP.NET会查看对象池中有无空闲HttpApplication对象,若有则直接使用,若都处于繁忙状态则重新创建。这也就是为什么网站第一次访问的速度很慢。 HttpApplication会不断处_entity framework生命周期

随便推点

python通信工程定额_版通信工程费用及定额套用解读-程序员宅基地

文章浏览阅读134次。通信工程费用定额套用解读一、通信工程总费用构成及内容:是按建设部财政部建标[2003]206号文件的规定做了调整。单项工程总费用由工程费、工程建设其它费、预备费和建设期利息组成。其中:*工程费由建筑安装工程费和设备、工器具购置费组成。*建筑安装工程费由直接费、间接费、利润和税金组成。*直接费由直接工程费和措施费组成。二、建筑安装工程费(见附件一)1、直接工程费:指施工过程中耗用的构成工程实体和有助..._通信工程做了钢槽保护怎么套定额结算

定时任务规则 * * * * * ?详解_定时任务* * * ** 代表什么-程序员宅基地

文章浏览阅读6.9k次,点赞2次,收藏10次。定时任务规则_定时任务* * * ** 代表什么

负载均衡策略和技术的基本指南-程序员宅基地

文章浏览阅读1.8w次。CLB可以根据请求的内容进行流量分发,支持HTTP、HTTPS和TCP协议,适用于Web应用、移动应用和API服务等。:经典负载均衡、应用负载均衡和网络负载均衡。腾讯云和阿里云的负载均衡器都提供自动扩展、健康检查、会话保持、监控报警等功能,可以根据应用的需求选择合适的负载均衡器类型。负载均衡器的一个基本功能是对服务器进行持续的运行状况检查,以确保流量仅定向到在线且响应良好的服务器。在某些配置中,DNS 故障转移可以将流量从不再接受连接(例如发生故障的负载均衡器)的 IP 地址重新路由到预配置的备用 IP。

shell-程序员宅基地

文章浏览阅读7w次,点赞100次,收藏440次。shell什么是shell:现在我们使用的操作系统(Windows、Mac OS、Android、iOS等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩..._shell

【学习笔记】编译原理——第一章 编译引论_设计一个编译器时,非必需的阶段是-程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏23次。系列文章目录【学习笔记】计算机网络第——第一章 编译引论文章目录系列文章目录前言程序设计语言与编译程序编译器的作用地位:编译程序的分类与执行:编译程序的表示编译程序的逻辑结构编译程序的结构与组织遍(Pass)一遍扫描的编译器两遍扫描的编译器思考题前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。程序设计语言与编译程序源语言:用来编写源程序的语言,一般是汇编语言或高级程序语言_设计一个编译器时,非必需的阶段是

kkt条件的4个条件解释?-程序员宅基地

文章浏览阅读2.1k次,点赞3次,收藏5次。互补松弛条件要求最优解x*和相应的拉格朗日乘子λ_i的乘积为零。综上所述,KKT条件包括稳定性条件、原始可行性条件、对偶可行性条件和互补松弛条件。当最优解满足这些条件时,它就是约束优化问题的一个潜在最优解。原始可行性条件要求最优解x*满足所有的不等式约束和等式约束。满足了约束条件的梯度为零,即在最优解处,目标函数在可行域内的变化趋势与约束条件保持一致。λ_i * g_i(x*) = 0,对于 i = 1, 2, …g_i(x*) ≤ 0,对于 i = 1, 2, …稳定性条件要求在最优解x。_kkt条件