摘要:图像处理现在已经进入了靠深度学习的新时代,opencv作为老版图像处理库肯定也不会落后,而这些新的模块就在opencv_contrib扩展模块。这个模块在python中可以轻松的通过pip命令安装,并且使用。但是由于并不常用c#进行图像处理,所以这方面的介绍几乎没有,但是经过不断的搜集和学习,还是找到了在c#使用DnnSuperres的方法。
安装引用包
在vs中有一个很好用的工具NuGet包管理器。我们可以利用它很方便的安装我们想要安装的库。
我们需要用的包是OpenCVSharp4和对应的OpenCVSharp4.runtime.win,因为OpenCVSharp是最基础的包对应的是OpenCV随意并不能使用DnnSuperres模块。在介绍中OpenCVSharp4需要OpenCVSharp4.runtime.win所以一并安装。之后就可以通过using代码开心地使用DnnSuperres了。
使用DnnSuperres
引用头文件
using OpenCvSharp;
using OpenCvSharp.DnnSuperres;
之后的使用方法就和python进行超分辨率处理相同了。
使用方法
DnnSuperResImpl sr = new DnnSuperResImpl();
Mat image = Cv2.ImRead(path);
sr.ReadModel(modelPath); //训练模型地路径
sr.SetModel(label, scale); //与模型相关的两个值
Mat output = new Mat();
sr.Upsample(image, output);
Cv2.ImWrite(output_path, output);
使用DnnSuperres进行超分辨率处理地关键就是模型,由于模型比较巨大所以是不包含在包中的,需要我们单独下载,然后使用上述ReadModel函数导入函数。
模型下载地址:
链接:模型下载
提取码:1515
具体的使用实例可以参考
想了解更多关于dnn_superres