用布雷森汉姆(Bresenham)算法直接在YUV图上绘制图形
算法 绘制 直接 图形 YUV
2023-09-11 14:15:46 时间
Bresenham的线算法以Jack Elton Bresenham命名,他于1962年在IBM开发。是计算机图形学中的经典算法,恰好最近公司项目中需要实现类似的功能,于是就实践了一把,为了以后爬坑方便,记录在此。
图形转YUV
我们是在YUV裸数据上去绘,而通常的图像都是代容器格式的JPG或者PNG等等,所以需要首先将图片转换为YUV裸数据,我们用FFMPEG这款视频处理领域的瑞士军刀完成此功能。
常用的YUV格式有NV12和NV21两种,,NV12 分两个平面,Y 平面和 UV 平面存储,UV 在同一个平面交叉存储,所以也被称为interleaved,NV12格式也叫IOS模式,同FFMPEG 中的YUV420SP,Y和UV分成两个部分分别存储,NV21格式是Android上的常用格式,格式类似于NV12,只是U和V的顺序相反。
转换命令:
ffmpeg -i car.jpeg -pix_fmt nv12 car.nv12.yuv
原图:
相关文章
- 分形几何算法和实现(C语言)
- Java实现 蓝桥杯 算法提高 扶老奶奶过街
- 深度学习常用优化器算法Optimizer详解
- 重新整理数据结构与算法(c#)—— 二叉树排序树[二十二]
- DL之MTCNN:MTCNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Math之ARIMA:基于statsmodels库利用ARIMA算法(ADF检验+差分修正+ACF/PACF图)对上海最高气温实现回归预测案例
- 一种面向多通道系统的滤波x仿射投影符号算法(Matlab代码实现)
- 多子群改进的海洋捕食者算法-附代码
- 收敛因子非线性变化的鲸鱼优化算法-附代码
- Python实现贝叶斯优化器(Bayes_opt)优化卷积神经网络分类模型(CNN分类算法)项目实战
- Python实现直方图梯度提升分类模型(HistGradientBoostingClassifier算法)并基于网格搜索进行优化同时绘制PDP依赖图项目实战
- 006-排序算法-希尔排序
- 常用机器学习算法汇总
- 深度解剖(4):DNN反向传播-bp算法,矩阵偏导传递
- 【PTA】《数据结构与算法》线性结构复习题