No.1 YUV420p 图像裁剪

本文详细介绍了如何对YUV420p图像进行裁剪,包括从左上角和左下角提取指定大小的图像。通过C语言实现裁剪算法,并提供示例展示裁剪过程,包括生成、播放、保存和显示裁剪后的图像。
摘要由CSDN通过智能技术生成

概述

No.5_1 YUV420 图像旋转 中对一张大小为 3264x2448 的 YUV420p 图像旋转后,由于显示器的分辨率只有 1920x1080,不能完全显示整张图像,这就不能直观的确定旋转正确与否。为了进一步确认旋转算法的正确性,将原始图像裁剪为较小的图像。裁剪方法是从原始图像的左上角或左下角切割一块期望大小的图像。完整代码参见 No.1_YUV420pScissor

实现

1.提取左上角

从左上角开始,提取一块矩形区域的像素,存储为 YUV420p 图像格式。如下图所示,分别提取原始图像的 Y、U 和 V 分量,使用黑框圈起来白色字体描述。

下面是使用 c 语言实现该算法的相关代码:

void yuv420p_left_top(uint8_t *img_buffer, uint8_t *out_buffer,
    int img_orig_width, int img_orig_height, int img_width, int img_height)
{
    int i, j, k = 0;

    int orig_y_size = img_orig_width * img_orig_height,
        orig_u_size = orig_y_size >> 2;

    /* copy Y section */
    for (i = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值