[C#]使用OpenCvSharp实现二维码图像增强超分辨率

【官方框架地址】

github.com/shimat/opencvsharp

【算法介绍】

借助于opencv自带sr.prototxt和sr.caffemodel实现对二维码图像增强

【效果展示】

【实现部分代码】

复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using FIRC;
using OpenCvSharp;

namespace FIRC
{
    public partial class Form1 : Form
    {
        Mat src = new Mat();
        QRManager qm = new QRManager();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp";
            openFileDialog.RestoreDirectory = true;
            openFileDialog.Multiselect = false;
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
              
                src = Cv2.ImRead(openFileDialog.FileName);
                pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);


            }


        }

        private void button2_Click(object sender, EventArgs e)
        {
            if(pictureBox1.Image==null)
            {
                return;
            }
            var resultMat = qm.Inference(src);
            pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }
    }
}

【源码下载】

https://download.csdn.net/download/FL1623863129/88705091

【测试环境】

vs2019 netframework4.7.2和opencvsharp4.8.0

相关推荐
看到我,请让我去学习21 分钟前
C++核心编程(动态类型转换,STL,Lanmda)
c语言·开发语言·c++·stl
conkl28 分钟前
Apache网页优化实战指南 - 让网站加载速度提升
linux·运维·服务器·开发语言·阿里云·apache
onlooker666638 分钟前
Go语言底层(五): 深入浅出Go语言的ants协程池
开发语言·后端·golang
刚子编程40 分钟前
C# WinForms 实现打印监听组件
开发语言·c#·winform·打印监听组件
泽02021 小时前
C++之模板进阶
开发语言·c++·算法
武子康1 小时前
Java-46 深入浅出 Tomcat 核心架构 Catalina 容器全解析 启动流程 线程机制
java·开发语言·spring boot·后端·spring·架构·tomcat
时央1234562 小时前
C#使用Tuple方法实现OpreateResultModel功能
运维·开发语言·c#
爱学习的白杨树2 小时前
Spring Cloud Gateway 介绍
java·运维·开发语言
z2014z3 小时前
第1章 C# 和 .NET 框架 笔记
笔记·c#·.net
byte轻骑兵3 小时前
【C++特殊工具与技术】优化内存分配(五):显式析构函数的调用
开发语言·c++