OpenCV class2-C#+winfrom显示控件使用窗口大小并内存管理

 一.控件效果说明

二.代码声明(已经循环读取10000次)

全局

OpenCvSharp.Point point = new OpenCvSharp.Point(0, 0);
OpenCvSharp.Size size2;
Mat src = new Mat();

初始化

  size2 = new OpenCvSharp.Size(pictureBox1.Size.Width, pictureBox1.Size.Height);

按钮代码

  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);//适应图片Mat showmat = new Mat();Cv2.Resize(src, showmat, size2);pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(showmat);Cv2.WaitKey(100);src.Dispose();pictureBox1.Update();pictureBox1.Image.Dispose();showmat.Dispose();}

总体代码实例:

using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace C1_6
{public partial class Demo2_adaptwindow : Form{OpenCvSharp.Point point = new OpenCvSharp.Point(0, 0);OpenCvSharp.Size size2;Mat src = new Mat();public Demo2_adaptwindow(){InitializeComponent();size2 = new OpenCvSharp.Size(pictureBox1.Size.Width, pictureBox1.Size.Height);}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);//适应图片Mat showmat = new Mat();Cv2.Resize(src, showmat, size2);pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(showmat);Cv2.WaitKey(100);src.Dispose();pictureBox1.Update();pictureBox1.Image.Dispose();showmat.Dispose();}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL迁移达梦报错,DMException: 第1 行附近出现错误: 无效的表或视图名[ACT_GE_PROPERTY]

达梦数据库选好模式和登录用户,迁移时的目标模式名要和达梦的当前登录的用户名相同,否则查询的时候需要“form 模式名.表名”,只from表名就会报表不存在的错误。

【YashanDB知识库】DBeaver无法访问数据库

本文转自YashanDB官网,具体内容请见DBeaver无法访问数据库 【标题】DBeaver无法访问数据库 【问题分类】安装部署 【关键字】DBeaver无法访问数据库 【问题描述】数据库部署完成后,无法通过DBeaver进行访问 【问题原因分析】首先通过ping和telnet检…

汽车无钥匙启动功能工作原理

移‌动管家无钥匙启动‌是一种科技化的汽车启动方式,它允许车主在不使用传统钥匙的情况下启动车辆。这种技术通过智能感应系统实现,车主只需携带智能钥匙,当靠近车辆时,车辆能够自动解锁并准备启动。启动车辆时,车主无…

水库大坝安全监测方案,双重守护,安全无忧

水库作为重要的水利设施,在防洪、灌溉及供水等方面发挥着重要作用。然而随着时间的推移,大坝面临着自然老化、设计标准不足及极端天气等多重挑战,其安全性与稳定性日益受到关注。水库堤坝险情导致的洪涝灾害给人民生命财产和经济社会发展带来…

Android 车联网——汽车系统介绍(附2)

汽车系统指的是由多个模块或组件组成的系统,如发动机系统、制动系统、空调系统等,这些系统通常由多个 ECU 协同工作来完成特定的任务。 一、汽车系统 1、防抱死制动系统 ABS(Anti-lock Braking System,防抱死制动系统)是一项重要的汽车安全技术,其主要功能是在车辆紧急…

TDengine 与 SCADA 强强联合:提升工业数据管理的效率与精准

随着时序数据库(Time Series Database)的日益普及,越来越多的工业自动化控制(工控)人员开始认识到其强大能力。然而,时序数据库在传统实时数据库应用领域,特别是在过程监控层的推广仍面临挑战&a…

凸优化学习(2)——梯度类方法求解(gradient descent)

🍅 写在前面 👨‍🎓 博主介绍:大家好,这里是hyk写算法了吗,一枚致力于学习算法和人工智能领域的小菜鸟。 🔎个人主页:主页链接(欢迎各位大佬光临指导) ⭐️近…

python加载chgcar, aeccar压缩数据

数据来源:materials project网站下载的.json.gz压缩包 使用gzip包可以免解压直接读取 解压出来json文件的数据结构大概如代码所示 使用pymatgen.io.vasp的Chgcar对象,可以装载从json文件读出的结构数据和电荷密度数据 with gzip.open(os.path.join(self.…

如何使用 Vue 3 的 Composition API

Vue 3 引入了 Composition API,它提供了一种更灵活的方式来组织和重用逻辑。与 Vue 2 的 Options API 相比,Composition API 允许你将组件的逻辑按功能组织到函数中,而不是将它们分散到组件选项对象中。以下是如何在 Vue 3 中使用 Compositio…

Vue3 响应式工具函数isRef()、unref()、isReactive()、isReadonly()、isProxy()

isRef() isRef():检查某个值是否为 ref。 isRef函数接收一个参数,即要判断的值。如果该参数是由ref创建的响应式对象,则返回true;否则,返回false。 import { ref, isRef } from vue const normalValue 这是一个普通…

主流日志框架Logback与Log4j2

一、Logback 1、介绍 Logback是由log4j创始人设计的又一个开源日志组件。 Logback当前分成三个模块:logback-core,logback- classic和logback-access logback-core是其它两个模块的基础模块,类似与springframework logback-classic是log…

AWTK fscript 中的 value 扩展函数

fscript 是 AWTK 内置的脚本引擎,开发者可以在 UI XML 文件中直接嵌入 fscript 脚本,提高开发效率。本文介绍一下 fscript 中的 ** value 扩展函数 ** value 扩展函数 value 相关的辅助函数。 1. value_is_valid 判断 value 是否有效。 原型 value_i…

虚拟背景扣像SDK解决方案,电影级抠像技术

美摄科技,作为影像技术领域的领航者,凭借其革命性的虚拟背景抠像SDK解决方案,正以前所未有的方式,重新定义电影级背景抠像技术,让直播与视频制作迈入全新境界。 电影级抠像技术,重塑视觉盛宴 美摄科技的虚…

ArcGIS属性表汉字转拼音

直接复制粘贴现成代码: # -*- coding: utf-8 -*-import arcpyfrom arcpy import envimport osimport pypinyin import sys# 不带声调皿stylepypinyin.NORMAL)def pinyin(word): s for i in pypinyin.pinyin(word, stylepypinyin.NORMAL): s .join(…

SpringBoot开发——整合Redis

文章目录 1、创建项目,添加Redis依赖2、创建实体类Student3、创建Controller4、配置application.yml5、整合完成 Redis ( Remote Dictionary Server )是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值&#xff08…

PHP一键寄送尽在掌中快递寄件小程序

一键寄送尽在掌中 —— 快递寄件小程序全体验 🌟 开篇:告别繁琐,拥抱便捷新纪元 还在为寄快递而烦恼吗?排队等待、填写繁琐的单据、等待快递员上门...这些统统成为过去式!“一键寄送尽在掌中快递寄件小程序”。它就像…

mysql 日志恢复

一:查看是否开启binlog日志 show variables like log_%; 二:查看日志存放目录: SHOW VARIABLES LIKE %datadir%;三:查看日志列表 show binary logs; #获取binlog文件列表 show master status; #查看当前正在写入的binlog文件四…

【深度学习】【OnnxRuntime】【C++】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【OnnxRuntime】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【OnnxRuntime】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转onnxWindows平…

图像检测【YOLOv5】——深度学习

Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑…

桥接模式详解和分析JDBC中的应用

🎯 设计模式专栏,持续更新中, 欢迎订阅:JAVA实现设计模式 🛠️ 希望小伙伴们一键三连,有问题私信都会回复,或者在评论区直接发言 桥接模式 文章目录 桥接模式桥接模式的四个核心组成&#xff1a…