各位好!
现在试着在DSP端添加自己的算法,我们要做车牌识别,所以要高清的图像。
目前任务有两个:(1)将1080高清图像传给DSP,DSP进行处理。(2)DSP处理的图像能够返回M3,这样我们能在PC上看见我们处理的结果。
不知实现的思路是什么?
综合各种资料,我现在已有的一些进展。
在rdk3.5已有的框架上,可以再两处添加DSP算法,Scdlink_alg.c中的函数AlgLink_ScdalgProcessData(),
或者Valink_alg.c中VaLink_algProcessFrames()。模式选择smart_anylist但是遇到的问题是:
(1)在SCD算法中,在AlgLink_ScdalgProcess之前,我添加如下打印信息:
Vps_printf("AlgLink_ScdalgProcess Infomation\n");
Vps_printf("pOutBuf->addr=0x%x\n",pOutBuf->addr);
Vps_printf("pOutBuf->frameWidth =%d,pOutBuf->frameHeight\n",pOutBuf->frameWidth,pOutBuf->frameHeight);
curTime = Utils_getCurTimeInMsec();
AlgLink_ScdalgProcess(pObj, chIdx, (AlgLink_ScdResult *) pOutBuf->addr);
可是最后并没有打印任何信息,难道SCD算法没有执行,还是其他原因?
(2)在VA算法中,打印相信。有返回结果,但是视频帧太小了320X192,并不满足我们的要求。于是想更改视频帧的大小
在Multich_tristream_fullfeature.c中修改:
sclrPrm.outScaleFactor.absoluteResolution.outWidth = 720;
sclrPrm.outScaleFactor.absoluteResolution.outHeight = 480;
编译通过,但是程序运行出错,提示DSP端的内存分配没有成功,于是修改缓冲区的帧数,由8改为3,还是不行。
请问如何修改,才可以传大图像到DSP端?
(3)DSP中也有OSD算法,但是至少在3.5版本中,DSP没有执行,只是调用M3端的OSD算法,是不是这样的?也就是说,网上之前有人说可以再DSP的OSD部分添加自己开发的算法,并不正确。
望不吝赐教!