首页问答详情

mpp2 使用PQTool调节ISP后的参数保存与加载函数

 
9crk
9crk  发布于  2016-03-31 09:52:01
采纳率 0%
34个问答
本帖最后由 9crk 于 2016-3-31 09:56 编辑

纯手工抄写。。方便使用。
由于mpp2使用PQTool调节后,参数不能被保存并方便地加载,因此写了以下工具,调节完参数后,可使用save函数保存为一个文件,并在自己的程序中调用load函数加载ISP参数文件。
不正确的地方请指出。
[code]typedef struct zConfig{
        ISP_OP_TYPE_E enExpType;
        ISP_AE_ATTR_S stAEAttr;
//        ISP_AE_ATTR_S_EX stAEAttrEx;
        ISP_ME_ATTR_S stMEAttr;
        ISP_ME_ATTR_EX_S stMEAttrEx;
        ISP_EXP_STA_INFO_S stExpStatistic;
       
        ISP_OP_TYPE_E enIrisType;
        ISP_AI_ATTR_S stAIAttr;
       
        ISP_OP_TYPE_E enWBType;
        ISP_AWB_ATTR_S stAWBAttr;
        ISP_MWB_ATTR_S stMWBAttr;
        ISP_AWB_ALG_TYPE_E enALGType;
        ISP_ADV_AWB_ATTR_S stAdvAWBAttr;
        ISP_AWB_ADD_LIGHTSOURCE_S stLightSource;
        HI_U16 u16ColorTemp;
       
        ISP_WB_STA_INFO_S stWBStatistic;
        ISP_SATURATION_ATTR_S stSatAttr;
        HI_U8 u8Value;
        ISP_COLORMATRIX_S stColorMatrix;
//        ISP_COLORTONE S stColorTone;
        ISP_SHARPEN_ATTR_S stSharpenAttr;
        ISP_GAMMA_ATTR_S stGammaAttr;
        ISP_GAMMA_TABLE_S stGammaTable;
        ISP_DRC_ATTR_S stDRCAttr;
        ISP_SHADING_ATTR_S stShadingAttr;
        ISP_SHADINGTAB_S stShadingTab;
        ISP_DP_ATTR_S stDPAttr;
        ISP_CR_ATTR_S stCRAttr;
        ISP_DENOISE_ATTR_S stDenoiseAttr;
        ISP_DIS_ATTR_S stDISAttr;
        ISP_ANTIFOG_S stAntiFog;
        ISP_ANTI_FALSECOLOR_S stAntiFC;
        ISP_DEMOSAIC_ATTR_S stDemosaicAttr;
        ISP_BLACK_LEVEL_S stBlackLevel;
//        ISP_BLACK_LEVEL_S stNoiseProfileTable;
}zConfig;

void isp_save_config(char* fileName)
{
        zConfig config;
        FILE* fp;
        int ret;
        memset(&config,0,sizeof(zConfig));
        fp = fopen(fileName,"wb");
        if(fp == NULL){printf("cant write!\n");return;}
        //AE:
        HI_MPI_ISP_GetExposureType(&config.enExpType);//获取曝光类型。
        HI_MPI_ISP_GetAEAttr(&config.stAEAttr);//获取AE 属性。
//        HI_MPI_ISP_GetAEAttrEx(&config.stAEAttrEx);//获取AE 曝光扩展属性。
        HI_MPI_ISP_GetMEAttr(&config.stMEAttr);//获取ME 属性
        HI_MPI_ISP_GetMEAttrEx(&config.stMEAttrEx);//获取手动曝光属性。
        HI_MPI_ISP_GetExpStaInfo(&config.stExpStatistic);//获取AE 曝光统计信息。
       
        HI_MPI_ISP_GetIrisType(&config.enIrisType);//获取光圈控制类型。
        HI_MPI_ISP_GetAIAttr(&config.stAIAttr);//获取自动光圈的控制属性。
        //AWB:
        HI_MPI_ISP_GetWBType(&config.enWBType);//获取白平衡类型
        HI_MPI_ISP_GetAWBAttr(&config.stAWBAttr);//获取自动白平衡属性
        HI_MPI_ISP_GetMWBAttr(&config.stMWBAttr);//获取手动白平衡属性
        HI_MPI_ISP_GetAWBAlgType(&config.enALGType);//获取白平衡算法类型
        HI_MPI_ISP_GetAdvAWBAttr(&config.stAdvAWBAttr);//获取ADV 白平衡的属性
        HI_MPI_ISP_GetLightSource(&config.stLightSource);//获取独立光源点属性
        HI_MPI_ISP_GetColorTemp(&config.u16ColorTemp);//获取环境色温               
        HI_MPI_ISP_SetWBStaInfo(&config.stWBStatistic);//设置白平衡统计信息参数。       
        //CCM:
        HI_MPI_ISP_GetSaturationAttr(&config.stSatAttr);//获取颜色饱和度属性。                                                                                                       
        HI_MPI_ISP_GetSaturation(&config.u8Value);//获取颜色饱和度期望值。                                                                               
        HI_MPI_ISP_GetCCM(&config.stColorMatrix);//获取颜色校正基础矩阵。                                                                                               
//        HI_MPI_ISP_GetColorTone(&config.stColorTone);//获取冷暖色调。
        //Sharpen:
        HI_MPI_ISP_GetSharpenAttr(&config.stSharpenAttr);//获取边缘锐化属性。
        //GAMMA:
        HI_MPI_ISP_GetGammaAttr(&config.stGammaAttr);//获取Gamma 属性。                                                                                                       
        HI_MPI_ISP_GetGammaTable(&config.stGammaTable);//获取Gamma 表属性。
        //DRC:
        HI_MPI_ISP_GetDRCAttr(&config.stDRCAttr);//获取DRC 属性。
        //Shadding:
        HI_MPI_ISP_GetShadingAttr(&config.stShadingAttr);//获取暗角校正属性。
        HI_MPI_ISP_GetShadingTable(&config.stShadingTab);//获取镜头暗角补偿查找表
        //Defect Pixel:
        HI_MPI_ISP_GetDefectPixelAttr(&config.stDPAttr);//获取坏点校正属性。
        //CrossTalk:
        HI_MPI_ISP_GetCrosstalkAttr(&config.stCRAttr);//获取Crosstalk remove 属性
        //Denoise:
        HI_MPI_ISP_GetDenoiseAttr(&config.stDenoiseAttr);//获取噪点抑制属性
        //DIS:
        HI_MPI_ISP_GetDISAttr(&config.stDISAttr);//获取DIS 属性
        //AntiFog:
        HI_MPI_ISP_GetAntiFogAttr(&config.stAntiFog);//获取去雾属
        //AntiFakeColor:
        HI_MPI_ISP_GetAntiFalseColorAttr(&config.stAntiFC);//获取去伪彩属性
        //Demosaic                                                                                                                       
        HI_MPI_ISP_GetDemosaicAttr(&config.stDemosaicAttr);//获取去马赛克属性
        //BlackLevel:                                                                                                                       
        HI_MPI_ISP_GetBlackLevelAttr(&config.stBlackLevel);//获取黑电平属性。
        //NoiseProfile:                                                                               
//        HI_MPI_ISP_GetNoiseProfileTable(&config.stNoiseProfileTable);//获取噪声型式表。
       
        ret = fwrite(&config,1,sizeof(zConfig),fp);
        if(ret != sizeof(zConfig)){printf("write error %d!\n",ret);return;}
        fclose(fp);
       
}
void isp_load_config(char* fileName)
{
        zConfig config;
        FILE* fp;
        int ret;
        memset(&config,0,sizeof(zConfig));
        fp = fopen(fileName,"rb");
        ret = fread(&config,1,sizeof(zConfig),fp);
        if(ret != sizeof(zConfig)){printf("read error!\n");return;}
        fclose(fp);
        HI_MPI_ISP_SetExposureType(config.enExpType);//设置曝光类型。
        HI_MPI_ISP_SetAEAttr(&config.stAEAttr);//设置AE 属性。
//        HI_MPI_ISP_SetAEAttrEx(&config.stAEAttrEx);//设置AE 曝光扩展属性。
        HI_MPI_ISP_SetMEAttr(&config.stMEAttr);//设置ME 属性。
        HI_MPI_ISP_SetMEAttrEx(&config.stMEAttrEx);//设置手动曝光属性。
        HI_MPI_ISP_SetExpStaInfo(&config.stExpStatistic);//设置AE 曝光统计信息。
        HI_MPI_ISP_SetIrisType(config.enIrisType);//设置光圈控制类型。
        HI_MPI_ISP_SetAIAttr(&config.stAIAttr);//设置自动光圈的控制属性。
       
        HI_MPI_ISP_SetWBType(config.enWBType);//设置白平衡类型
        HI_MPI_ISP_SetAWBAttr(&config.stAWBAttr);//设置自动白平衡属性
        HI_MPI_ISP_SetMWBAttr(&config.stMWBAttr);//设置手动白平衡属性
        HI_MPI_ISP_SetAWBAlgType(config.enALGType);//设置白平衡算法类型
        HI_MPI_ISP_SetAdvAWBAttr(&config.stAdvAWBAttr);//设置ADV 白平衡算法属性
        HI_MPI_ISP_SetLightSource(&config.stLightSource);//设置独立光源点属性
        HI_MPI_ISP_SetColorTemp(config.u16ColorTemp);//设置目标色温
       
        HI_MPI_ISP_SetWBStaInfo(&config.stWBStatistic);//设置白平衡统计相关参数

        HI_MPI_ISP_SetSaturationAttr(&config.stSatAttr);//设置颜色饱和度属性。
        HI_MPI_ISP_SetSaturation(config.u8Value);//设置颜色饱和度期望值。
        HI_MPI_ISP_SetCCM(&config.stColorMatrix);//设置颜色校正基础矩阵。

//        HI_MPI_ISP_SetColorTone(&config.stColorTone);//设置冷暖色调。
        HI_MPI_ISP_SetSharpenAttr(&config.stSharpenAttr);//设置边缘锐化属性。
       
        HI_MPI_ISP_SetGammaAttr(&config.stGammaAttr);//设置Gamma 属性。
        HI_MPI_ISP_SetGammaTable(&config.stGammaTable);//设置Gamma 表属性。
        HI_MPI_ISP_SetDRCAttr(&config.stDRCAttr);//设定DRC 属性。

        HI_MPI_ISP_SetShadingAttr(&config.stShadingAttr);//设置暗角校正属性。
        HI_MPI_ISP_SetShadingTable(&config.stShadingTab);//设置镜头暗角补偿查找表。
        HI_MPI_ISP_SetDefectPixelAttr(&config.stDPAttr);//设置坏点校正属性。
        HI_MPI_ISP_SetCrosstalkAttr(&config.stCRAttr);//设定Crosstalk remove 属性
        HI_MPI_ISP_SetDenoiseAttr(&config.stDenoiseAttr);//设定噪点抑制属性
        HI_MPI_ISP_SetDISAttr(&config.stDISAttr);//设置DIS 属性
        HI_MPI_ISP_SetAntiFogAttr(&config.stAntiFog);//设置去雾属性
        HI_MPI_ISP_SetAntiFalseColorAttr(&config.stAntiFC);//设置去伪彩属性
        HI_MPI_ISP_SetDemosaicAttr(&config.stDemosaicAttr);//设置去马赛克属性
        HI_MPI_ISP_SetBlackLevelAttr(&config.stBlackLevel);//设置黑电平属性。
//        HI_MPI_ISP_SetNoiseProfileTable(&config.stNoiseProfileTable);//设置噪声型式表。
}[/code]
我来回答
6518
2
0
回答
9个
易百纳技术社区
9crk 发布于2016-03-31 09:55:46
注释掉的函数,是运行失败了,不知道什么原因。
0
易百纳技术社区
AOC 发布于2016-03-31 13:29:57
mark 以备后面使用
0
易百纳技术社区
kg123456 发布于2016-04-01 15:39:53
请问我的PQTool都连不上  什么原因
0
易百纳技术社区
396998850 发布于2016-04-12 16:26:06
mark  备用
0
易百纳技术社区
orinwu 发布于2016-07-19 16:54:06
海思里面提供了接口使用isp tool 调试好的配置啊
0
易百纳技术社区
chuxian 发布于2016-04-06 15:15:16
同问????
0
易百纳技术社区
cy_ygs 发布于2016-12-26 16:13:57
mark,支持
0
易百纳技术社区
花瓣一生一世 发布于2020-08-16 23:47:58

mark

0
易百纳技术社区
阿星丶 发布于2022-07-22 08:50:57

mark

0

Markdown 语法

  • 加粗 **内容**
  • 斜体 *内容*
  • 删除线 ~~内容~~
  • 引用 > 引用内容
  • 代码 `代码`
  • 代码块 ```编程语言↵代码```
  • 链接 [链接标题](url)
  • 无序列表 - 内容
  • 有序列表 1. 内容
  • 缩进 内容
  • 图片 ![alt](url)

Markdown 语法

  • 加粗 **内容**
  • 斜体 *内容*
  • 删除线 ~~内容~~
  • 引用 > 引用内容
  • 代码 `代码`
  • 代码块 ```编程语言↵代码```
  • 链接 [链接标题](url)
  • 无序列表 - 内容
  • 有序列表 1. 内容
  • 缩进 内容
  • 图片 ![alt](url)
+ 添加网盘链接/附件
或将文件直接拖到这里
悬赏:
EBC
网盘
* 网盘链接:
* 提取码:
悬赏:
EBC
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
  • 4.每周最后三个任务将会有以下奖品掉落:社区热卖开发板、小米音响、视频年度会员、京东卡、华为手机等等
易百纳技术社区
升级提醒
易百纳技术社区

恭喜您由入门

社区送出礼品一份

请填写您的收件地址,礼品将在3个工作日寄出

易百纳技术社区