首页 > 编程知识 正文

opencv cuda加速,python opencv

时间:2023-05-04 17:58:06 阅读:34242 作者:2060

_ _ global _ _ void RGB _ to _ ycr CB (uchar3* input,uchar3 *out,int h,int w,float *y ) unsigned intx=blockdinion if(xwyh ) {uchar3 rgb=input[y*w x]; YY [ y * wx ]=(16.257 * RGB.x 0.504 * RGB.y 0.098 * RGB.z )/255.0; if(YY(y*wx )0) YY (y * wx )=0; if(YY(y*wx )1) YY (y * wx )=1; //防止溢出out[y*w x].x=yy[y*w x]; out [ y * wx ].y=(128-0.148 * RGB.x-0.291 * RGB.y 0.439 * RGB.z ); out [ y * wx ].z=(128.439 * RGB.x-0.368 * RGB.y-0.071 * RGB.z ); } _ _ global _ _ voidycrcb _ to _ RGB (uchar3* in,uchar3 *out,int h,int w ) unsigned intx=block dim.x * block unt if(xwyh ) {uchar3 yuv=in[y*w x]float rr,gg,bb; RR=(1.164* ) YUV.x-16 ) 1.596 * (YUV.z-128 ); if(RR0 ) rr=0; if(RR255 ) rr=255; gg=(1.164*(YUV.x-16 )-0.392 * (YUV.y-128 )-0.812 * (YUV.z-128 ) ); if(GG0 ) gg=0; if(gg255 ) gg=255; bb=(1.164* ) YUV.x-16 ) 2.016 * (YUV.y-128 ); if(BB0 ) bb=0; if(bb255 ) bb=255; //防止溢出out[y*w x].x=rr; out[y*w x].y=gg; out[y*w x].z=bb; }//网格块大小(超分钟前) dim 3块) 32、32 ); dim3grid () block.xw-1 )/block.x,) block.y h - 1 )/block.y );//网格块大小(超分钟后) dim 3块(32,32 ); dim3grid () block.xw*2-1)/block.x,) block.y h*2 - 1)/block.y );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。