Android 使用libyuv-对比OpenCV

//使用libyuv将YUV数据转为RGB数据
 var yuvStart = System.currentTimeMillis()
 var y = ByteArray(1920*1080)
 var u = ByteArray(1920*1080/4)
 var v = ByteArray(1920*1080/4)
 System.arraycopy(data,0,y,0,y.size)
 System.arraycopy(data,y.size,u,0,u.size)
 System.arraycopy(data,y.size+u.size,v,0,v.size)
 yuvUtil?.let {
     var yuvUtilImage = it.yuv2rgb(y,u,v,1920,1080)
     Log.i(TAG,"yuvUtil time:"+(System.currentTimeMillis()-yuvStart))
 }

 //使用OpenCV将YUV数据转为RGB数据
 var opencvStart = System.currentTimeMillis()
 var yuvMat = Mat(1080 + 1080 / 2, 1920, CvType.CV_8UC1)
 yuvMat.put(0,0,data)
 var rgbMat = Mat(1080,1920,CvType.CV_8UC3)
 Imgproc.cvtColor(yuvMat,rgbMat,Imgproc.COLOR_YUV2RGB_I420)
 var openCvImage = ByteArray(1920*1080*3)
 rgbMat.get(0,0,openCvImage)
 Log.i(TAG,"opencv time:"+(System.currentTimeMillis()-opencvStart))

分别统计OpenCV和libyuv耗时
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值