欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 2.4 C#开发环境 xml格式保存参数----范例实现

2.4 C#开发环境 xml格式保存参数----范例实现

2024/10/25 14:28:51 来源:https://blog.csdn.net/weixin_42490025/article/details/140159202  浏览:    关键词:2.4 C#开发环境 xml格式保存参数----范例实现

2.4C#开发环境 xml格式保存参数----范例实现

1 程序参数保存目录层次说明

参数保存目录层次
1 选择程序号| 相机号|窗口号
2 导入参数:就会从本地目录读取参数,并且显示图片和ROI
3 保存参数:把当前控件图片和ROI信息保存到指定程序号|相机号|窗口号中

参数保存界面

2 参数CFilter_Param 举例

/// <summary>
/// CFilter_Param
/// VisionTool param 举例说明
/// </summary>
public class CFilter_Param
{[XmlIgnore]public Mat m_register_img;public  BD_Vision.Region m_region;public  ROI_single[] m_rois;public CFilter_Param(){m_register_img = new Mat();m_region = new BD_Vision.Region();m_rois =  ROI_single.init(5);}
}

3 保存参数

保存地址信息和效果如下
在这里插入图片描述

int proNO = (int)num_programNO.Value;
int camNO = (int)num_camNO.Value;
int winNO = (int)num_winNO.Value; 
string filepath = Application.StartupPath + "\\ProgramData\\Pro_" + proNO.ToString("000") + "\\Cam_" + camNO.ToString("0") + "\\CFilter\\Win_" + winNO.ToString("000") + "\\";
string filename = "cfilter_param.xml"; 
if (!get_FileCtx().FolderExist(filepath))get_FileCtx().CreateFolder(filepath);cfilter_param.m_rois = BD_OperateSet.ROIs_Deep_Copy(bdPictureBox1.m_ROIs);
get_FileCtx().Save_XML_File_Serialize(filepath, filename, typeof(CFilter_Param), cfilter_param);// m_register_img  要单独读取
filename = "m_register_img.png";
BD_OperateSet.Assign_Mat(ref cfilter_param.m_register_img,ref bdPictureBox1.m_raw_mat);
if (BD_OperateSet.MatisNotNull(cfilter_param.m_register_img))Cv2.ImWrite(filepath + filename, cfilter_param.m_register_img);

4 读取参数

这里仅仅演示读取一个窗口的效果,如果多个相机,多个窗口,请大家思考下

int proNO = (int)num_programNO.Value;
int camNO = (int)num_camNO.Value;
int winNO = (int)num_winNO.Value;
string filepath = Application.StartupPath + "\\ProgramData\\Pro_" + proNO.ToString("000") + "\\Cam_" + camNO.ToString("0") + "\\CFilter\\Win_" + winNO.ToString("000") + "\\";
string filename = "cfilter_param.xml";
if (get_FileCtx().FileExist(filepath, filename))
{cfilter_param = (CFilter_Param)get_FileCtx().Read_XML_File_Deserializer(filepath, filename, typeof(CFilter_Param));if (cfilter_param == null)cfilter_param = new CFilter_Param();
}
else
{cfilter_param = new CFilter_Param();
}
// m_register_img  要单独读取
filename = "m_register_img.png";
BD_OperateSet.Assign_Temp(ref cfilter_param.m_register_img, Cv2.ImRead(filepath + filename, ImreadModes.Unchanged));
bdPictureBox1.Display_Mat(ref cfilter_param.m_register_img);
bdPictureBox1.InitDisp_InterActive_ROIs(cfilter_param.m_rois,new Scalar(0,255,0),1);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com