[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)
        {
           
        }
    }
}


【源码下载】
【测试环境】

vs2019 netframework4.7.2和opencvsharp4.8.0
 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-05 12:46:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-05 12:46:07       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-05 12:46:07       82 阅读
  4. Python语言-面向对象

    2024-01-05 12:46:07       91 阅读

热门阅读

  1. 面试经典150题(62-64)

    2024-01-05 12:46:07       54 阅读
  2. 中间件:构建现代软件架构的桥梁

    2024-01-05 12:46:07       56 阅读
  3. merge发生冲突时 ☞ 撤销merge

    2024-01-05 12:46:07       61 阅读
  4. WiFi7: MLD寻址

    2024-01-05 12:46:07       67 阅读
  5. redis总结

    2024-01-05 12:46:07       60 阅读
  6. .NET C# 如何获取object对象的数据

    2024-01-05 12:46:07       55 阅读
  7. CSS中变量的作用

    2024-01-05 12:46:07       59 阅读
  8. Linux 服务器安全策略技巧:网络分段

    2024-01-05 12:46:07       50 阅读
  9. 路由的安装顺序

    2024-01-05 12:46:07       64 阅读
  10. Go语言中的乐观锁与悲观锁

    2024-01-05 12:46:07       70 阅读