当前位置: 首页 > news >正文

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

效果

 项目

 代码

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下载

http://www.lryc.cn/news/134060.html

相关文章:

  • this.$refs使用方法
  • Ohio主题 - 创意组合和代理机构WordPress主题
  • mysql 、sql server trigger 触发器
  • 自然语言处理从入门到应用——LangChain:索引(Indexes)-[检索器(Retrievers)]
  • 春秋云境:CVE-2022-0543(Redis 沙盒逃逸漏洞)
  • 关于uniapp组件的坑
  • AIGC与软件测试的融合
  • 滑动验证码-elementui实现
  • ubuntu 20.04 安装 高版本cuda 11.7 和 cudnn最新版
  • svg图片如何渲染到页面,以及svg文件的上传
  • GPT-LLM-Trainer:如何使用自己的数据轻松快速地微调和训练LLM
  • 深入理解ForkJoin
  • Spring5学习笔记—AOP编程
  • 适用于 Docker 用户的 kubectl
  • 网络安全设备篇——加密机
  • Rust 基础入门 —— 2.3.所有权和借用
  • Node.js-Express框架基本使用
  • 阿里云通用算力型u1云服务器CPU性能详细说明
  • 设计模式之创建者模式
  • Java之包,权限修饰符,final关键字详解
  • “深入解析JVM:Java虚拟机内部原理揭秘“
  • Mac下Jmeter安装及基本使用
  • 云计算与边缘计算:加速数字化转型的关键驱动力
  • TheGem主题 - 创意多用途和高性能WooCommerce WordPress主题/网站
  • Pytorch-day10-模型部署推理-checkpoint
  • vue使用websocket
  • jmeter入门:接口压力测试全解析
  • go、java、.net、C#、nodejs、vue、react、python程序问题进群咨询
  • 树莓派4B最新系统Bullseye 64 bit使用xrdp远程桌面黑屏卡顿问题
  • EasyExcel入门介绍及工具类,网络下载excel