YUV420P图像叠加拼接
2020-11-27 14:02:36
78次阅读
0个评论


日常操作中,会经常需要YUV420P图像的叠加操作,如果用FFMPEG的滤镜好像可以实现,但是好像太复杂了。

我百度到了一段简单高效的代码,用法如下:


#include "yuv420p.h"


功能:将图片1叠加到图片2上(图片2比图片1大)

///图片1
codImageFrame frame;
frame.data   = videoFrame->getBuffer();				// memory pointer
frame.width  = videoFrame->getWidth();				// width of image
frame.height = videoFrame->getHeight();				// height of image
frame.stride = videoFrame->getWidth();				// stride of image
frame.pixfmt = cod_fmt_i420;					// pixel format of image

///图片2
codImageFrame dstFrame;
dstFrame.data   = destYuvFrame->getBuffer();		// memory pointer
dstFrame.width  = destYuvFrame->getWidth();		// width of image
dstFrame.height = destYuvFrame->getHeight();		// height of image
dstFrame.stride = destYuvFrame->getWidth();		// stride of image
dstFrame.pixfmt = cod_fmt_i420;				// pixel format of image

blend_420p_planar (&frame, node.rect.destRect.left, node.rect.destRect.top, node.alpha, &dstFrame);



yuv420p.h从下面的附件中下载。


附件下载地址:yuv420p.zip

收藏 0 0

登录 后评论。没有帐号? 注册 一个。

群主
  • 0 回答
  • 0 粉丝
  • 0 关注