IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 海康摄像头合码 -> 正文阅读

[人工智能]海康摄像头合码

海康摄像头的视频通过H.264解码后,转换为YUV420P格式后就可以对YUV数据进行拼接,YUV的格式分为YUV444,YUV422,YUV420,格式见下图,通过此图可以看出,YUV420的压缩比较高,经常使用YUV420格式进行图像处理。

?YUV420的格式也分为以下4中,其中区别在于UV的排列方式不同

YUV420P进行拼接可分为横向拼接和纵向拼接?

下面是测试过的C#包含了横向纵向拼接代码,通过源YUV图像?,绘制到目的YUV图像的便宜位置的方法

        /// <summary>
        /// 绘制图像
        /// </summary>
        /// <param name="src"></param>
        /// <param name="dst"></param>
        /// <param name="nOffX"></param>
        /// <param name="nOffY"></param>
        public void MapImage(YuvImage src, YuvImage dst, uint nOffX, uint nOffY)
        {
            if (null == src || null == dst) return;
            if (src.w > dst.w || src.h > dst.h) return;
            if (null == src.y || null == src.u || null == src.v) return;
            if (null == dst.y || null == dst.u || null == dst.v) return;
            uint nOff = 0;
            for (uint i = 0; i < src.h; i++)
            {
                nOff = dst.w * (nOffY + i) + nOffX;
                Array.ConstrainedCopy(src.y, Convert.ToInt32(src.w * i), dst.y, Convert.ToInt32(nOff), Convert.ToInt32(src.w));
            }
            uint nUVOffX = nOffX / 2, nUVOffY = nOffY / 2;
            uint nUVSrcW = src.w / 2, nUVSrcH = src.h / 2;
            uint nUVDstW = dst.w / 2, nUVDstH = dst.h / 2;
            for (uint j = 0; j < nUVSrcH; j++)
            {
                nOff = nUVDstW * (nUVOffY + j) + nUVOffX;
                Array.ConstrainedCopy(src.u, Convert.ToInt32(nUVSrcW * j), dst.u, Convert.ToInt32(nOff), Convert.ToInt32(nUVSrcW));
                Array.ConstrainedCopy(src.v, Convert.ToInt32(nUVSrcW * j), dst.v, Convert.ToInt32(nOff), Convert.ToInt32(nUVSrcW));
            }
        }

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:09:34  更:2021-12-26 22:13:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 5:21:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码