查看: 4315|回复: 20

[原创] Hi3518EV200 FPN校正源码

  [复制链接]
发表于 2016-10-9 17:22:16 | 显示全部楼层 |阅读模式
海思sample下面有一个FPN的校正例子,不过代码看起来很凌乱,不利于外部调用和理解,
这里我参考那个例子封装下FPN功能,参考附件。

本来想只传FPN相关代码文件的,后来想了下还是整体工程上传,里面有如何使用FPN的例子(被注销的FPN_INIT()函数就是)
与FPN相关的文件是hp_fpn.c  hp_fpn.h,外部只需要调用FPN_init()接口就可以完成FPN标记与校正,注意盖黑镜头。

注意:此FPN功能是在HI3518EV200上验证OK,其他平台请参照修改,谢谢



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
楼主热帖
发表于 2016-10-10 09:59:41 | 显示全部楼层
真正的好人
发表于 2016-10-10 11:30:55 | 显示全部楼层
FPN只要关闭镜头么??自动增益是不是也要关闭??
 楼主| 发表于 2016-10-10 12:31:39 | 显示全部楼层
habib 发表于 2016-10-10 11:30
FPN只要关闭镜头么??自动增益是不是也要关闭??

增益不要关闭啊
不过你要设置增益上限,即你夜视效果时候增益大小吧。
这个时候你关闭镜头,增益会达到你设置的上限值,校正之后其他增益算法会自动插值调整的。
发表于 2016-10-10 13:50:48 | 显示全部楼层
ljx6233535 发表于 2016-10-10 12:31
增益不要关闭啊
不过你要设置增益上限,即你夜视效果时候增益大小吧。
这个时候你关闭镜头,增益会达到 ...

哦,好的。。。谢啦~~ 刚用pqtool试了一下,fpn看不出效果。。基本没有变。。可能是我的sensor固定噪声基本没有吧。。FPN是不是必须做啊,还是有问题的sensor再处理一下?
 楼主| 发表于 2016-10-10 14:02:59 | 显示全部楼层
habib 发表于 2016-10-10 13:50
哦,好的。。。谢啦~~ 刚用pqtool试了一下,fpn看不出效果。。基本没有变。。可能是我的sensor固定噪声基 ...

我的pqtool工具不能做FPN,log会报错。
所以我用这个代码做的FPN,你不要盖黑镜头运行FPN校正代码就可以看到效果了,图像稀烂稀烂
这说明你FPN功能有效果。
发表于 2016-10-10 18:01:21 | 显示全部楼层
ljx6233535 发表于 2016-10-10 14:02
我的pqtool工具不能做FPN,log会报错。
所以我用这个代码做的FPN,你不要盖黑镜头运行FPN校正代码就可以 ...

en ,PQ上也能看到效果,常开的时候标定,关闭光圈的时候再使能就能看到影子了。。。
对了,顺便问下,你代码里VB只申请了一个内存,虚拟地址也没有赋值,但是u32FrameNum写了16,为何不需要申请16块内存? 这样系统会自己处理16帧的结果再把平均值存起来么??
 楼主| 发表于 2016-10-11 09:33:55 | 显示全部楼层
habib 发表于 2016-10-10 18:01
en ,PQ上也能看到效果,常开的时候标定,关闭光圈的时候再使能就能看到影子了。。。
对了,顺便问下,你 ...


你看一下ISP开发参考文档去FPN章节吧。
里面详细描述了把第一帧存入内存,第二帧来的时候把第一帧从内存读出来,累加后再写回内存,如此。。
最后一帧累加后取平均写回内存。。
所以只需要一个帧的内存大小。。
发表于 2016-10-17 10:19:47 | 显示全部楼层
ljx6233535 发表于 2016-10-11 09:33
你看一下ISP开发参考文档去FPN章节吧。
里面详细描述了把第一帧存入内存,第二帧来的时候把第一帧从内 ...

矫正的时候为何需要关闭vi??

关闭vi岂不是内存里的黑帧都没了?
 楼主| 发表于 2016-10-17 10:41:07 | 显示全部楼层
habib 发表于 2016-10-17 10:19
矫正的时候为何需要关闭vi??

关闭vi岂不是内存里的黑帧都没了?

这个我没有找到文档,看sample里面关闭了。
你不关闭VI试试看有没有用。
发表于 2016-10-17 11:09:08 | 显示全部楼层
ljx6233535 发表于 2016-10-17 10:41
这个我没有找到文档,看sample里面关闭了。
你不关闭VI试试看有没有用。

哦。。有空试下差别。。。。原来是sample这样写。。。我这边没有sample
发表于 2016-10-18 10:29:08 | 显示全部楼层
ljx6233535 发表于 2016-10-17 10:41
这个我没有找到文档,看sample里面关闭了。
你不关闭VI试试看有没有用。

不关闭vi标定不了,直接返回错误。

整个流程先标定,在矫正是可以的。
如果设备重启,读取raw数据,直接矫正,显示效果是异常的,你那边有试过么??
 楼主| 发表于 2016-10-18 13:43:48 | 显示全部楼层
habib 发表于 2016-10-18 10:29
不关闭vi标定不了,直接返回错误。

整个流程先标定,在矫正是可以的。

我特意又去试了几遍,我这边完全没有问题啊。
发表于 2016-10-18 13:46:03 | 显示全部楼层
ljx6233535 发表于 2016-10-18 13:43
我特意又去试了几遍,我这边完全没有问题啊。

谢谢回复。。是我内存有问题。。。没有申请vb块。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2008-2017 当前位置 易百纳技术社区论坛 返回 易百纳技术社区 ( 苏ICP备14036084 )   Powered by Discuz! X3.1
快速回复 返回顶部 返回列表