C# OpenCvSharp DNN 二维码增强 超分辨率

效果

项目

代码

cs 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Dnn;
using OpenCvSharp.Extensions;

namespace OpenCvSharp_DNN_二维码增强
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private string fileFilter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
        Bitmap bmp;
        String imgPath = "";

        const string prototxt_path = "sr.prototxt";
        const string caffe_model_path = "sr.caffemodel";

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = fileFilter;
            if (ofd.ShowDialog() != DialogResult.OK) return;
            imgPath = ofd.FileName;
            bmp = new Bitmap(imgPath);
            pictureBox1.Image = bmp;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image == null)
            {
                return;
            }

            var src = Cv2.ImRead(imgPath, ImreadModes.Grayscale);
            var srnet = CvDnn.ReadNetFromCaffe(prototxt_path, caffe_model_path);
            Mat blob = CvDnn.BlobFromImage(src, 1.0 / 255, src.Size(), new Scalar(0.0f), false, false);
            srnet.SetInput(blob);
            var prob = srnet.Forward();
            var dst = new Mat(prob.Size(2), prob.Size(3), MatType.CV_8UC1);
            for (int row = 0; row < prob.Size(2); row++)
            {
                for (int col = 0; col < prob.Size(3); col++)
                {
                    float pixel = prob.At<float>(0, 0, row, col) * 255;
                    dst.Set<byte>(row, col, (byte)(Math.Max(0, Math.Min(pixel, 255f))));
                }
            }
            pictureBox2.Image = BitmapConverter.ToBitmap(dst);

            // Cv2.ImShow("src", src);
            // Cv2.ImShow("dst", dst);
        }
    }
}

Demo下载

相关推荐
OceanBase数据库官方博客1 小时前
让 DRP全域数据智能流转OceanBase AI 数据库支撑央国企落地穿透式监
数据库·人工智能·oceanbase
tedcloud1232 小时前
Impeccable 部署指南:开源前端设计工具 Linux 环境搭建实践
linux·运维·服务器·前端·人工智能·开源
今天AI了吗2 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python
陈天伟教授2 小时前
TraeWork初体验-生成研究报告
大数据·数据库·人工智能
苏灿烤鱼2 小时前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg
lucas_AI2 小时前
ConfBench:大模型的「我很有把握」,到底能不能信?
人工智能·算法
Hrain-AI2 小时前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
Henry-SAP2 小时前
具身智能触觉革命开启
人工智能
也非非也2 小时前
免费用户第一次拿到“思考“按钮:OpenAI用一次更新,重新定义了AI的“基础版“
人工智能·chatgpt
ms365copilot2 小时前
想开店?用Copilot研究助手快速做完项目可行性评估
人工智能·copilot