WPF OpenCVSharp4 maximize window and adjust image proportionally

news/2026/1/20 21:46:06/文章来源:https://www.cnblogs.com/Fred1987/p/19508888
Install-Package OpenCVSharp4
Install-Package OpenCVSharp4.runtime.win
using System.IO;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using OpenCvSharp;
using Rect = OpenCvSharp.Rect;
using Window = System.Windows.Window;namespace WpfApp52
{/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();this.Visibility = Visibility.Hidden; var imgs = Directory.GetFiles(@"../../../Images");foreach(var imgFile in imgs){OpenCVShowImg(imgFile);}Cv2.DestroyAllWindows();}void OpenCVShowImg(string imgUrl){Mat mat = Cv2.ImRead(imgUrl, ImreadModes.Color);if(mat==null ||mat.Empty()){MessageBox.Show($"Read {imgUrl} failed!");return;}string winName = "image";Cv2.NamedWindow(winName, WindowFlags.GuiExpanded );Cv2.SetWindowProperty(winName, WindowPropertyFlags.Fullscreen, (double)WindowFlags.FullScreen);Rect winRect= Cv2.GetWindowImageRect(winName);int winWidth = winRect.Width;int winHeight = winRect.Height;double scaleX = (double)winHeight / mat.Cols;double scaleY = (double)winHeight / mat.Rows;double scale = Math.Min(scaleX, scaleY);Mat resizeMat = new Mat();Cv2.Resize(mat, resizeMat, new OpenCvSharp.Size(0, 0), scaleX, scaleY, InterpolationFlags.Area);Cv2.ImShow(winName, resizeMat);Cv2.WaitKey(0);mat.Release();resizeMat.Release();     }}
}

 

 

 

 

 

 

 

image

 

 

 

image

 

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

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

相关文章

大数据计算机毕设之基于机器学习的网络购物平台的智能推荐(完整前后端代码+说明文档+LW,调试定制等)

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

PyTorch微调速度优化实战

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 PyTorch微调速度优化实战&#xff1a;原理、技巧与未来趋势目录PyTorch微调速度优化实战&#xff1a;原理、技巧与未来趋势 引言&#xff1a;微调速度的瓶颈与价值 一、微调速度优化的多…

2026必备!8个AI论文软件,助继续教育学生轻松完成毕业论文!

2026必备&#xff01;8个AI论文软件&#xff0c;助继续教育学生轻松完成毕业论文&#xff01; AI 工具助力论文写作&#xff0c;让学术之路更轻松 在当前的学术环境中&#xff0c;AI 工具正逐步成为学生和科研工作者不可或缺的助手。尤其是在撰写毕业论文的过程中&#xff0c;A…

如何利用AI销冠系统助力数字员工提升销售效率?

数字员工的出现为企业带来了降本提效的新机遇&#xff0c;尤其是在优化业务流程、降低运营成本方面。通过应用AI销冠系统&#xff0c;数字员工能够高效管理客户关系和销售任务&#xff0c;实现快速反馈与调整。首先&#xff0c;自动化外呼功能让数字员工能够在同一时间内接触更…

2026.1.10 作业 - # P12257 [蓝桥杯 2024 国 Java B] 分组

2026.1.10 作业 - # P12257 [蓝桥杯 2024 国 Java B] 分组题目描述 小明班上有 \(n\) 名同学,老师准备按上一次考试的分数对同学们进行分组,第 \(i\) 名同学的分数为 \(a_i\)。老师希望把同学们分为尽可能多的小组,…

hailo-PCIe驱动源码阅读(一)-代码整体架构

此项目是一个 Linux 内核驱动工程,主要用于支持 Hailo 的 AI 加速芯片。项目源码地址:https://github.com/hailo-ai/hailort-drivers.git 整体架构代码总共分为5个部分:common:跨平台/跨驱动通用的基础定义和逻辑;…

大数据毕设项目:基于机器学习的网络购物平台的智能推荐(源码+文档,讲解、调试运行,定制等)

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

一文看透:提示工程架构师如何玩转智能教育提示工程

一文看透&#xff1a;提示工程架构师如何用「语言魔法」重构智能教育&#xff1f; 关键词 提示工程、智能教育、大语言模型&#xff08;LLM&#xff09;、个性化学习、认知负荷、反馈循环、教育Prompt设计 摘要 当你打开某款AI辅导APP&#xff0c;问「为什么月亮会跟着我走&…

深度探索篇!提示工程架构师解读自动驾驶提示工程

深度探索篇!提示工程架构师解读自动驾驶提示工程 一、引言 自动驾驶作为当前科技领域的前沿热点,融合了众多复杂的技术,从传感器感知到决策规划,每一步都关乎着行车的安全与效率。在这个过程中,提示工程逐渐崭露头角,它为自动驾驶系统提供了一种全新的思路和方法,能够…

AI 学术科研与论文写作的正确打开方式!不套提示词模板,靠这个思路完美实现人机共创

用AI辅助学术写作时,大多数人都在教怎么套用所谓的提示词模板,最后来不及用,还不是收藏夹落灰。 七哥之所以给出AI提示词模板,并不是让你们直接套用,而是根据自己的需求,一次写不好,就让AI反复改。 其实很多时候,我们只有模糊的需求,并不知道自己想得到什么内容。一…

solaris 设置永久静态路由

1. 查看永久路由: # route -p show2. 添加永久路由: # route -p add 10.10.10.0/24 192.168.1.13.删除永久路由: # route -p delete 10.10.10.0/24 192.168.1.14.查看路由表 $ route -p show $ net…

Excel高频技巧应对工作难题

Excel高频技巧应对工作难题pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

【前瞻创想】Kurator:站在巨人肩膀上的分布式云原生创新实践 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

救命神器!9款AI论文写作软件测评:研究生毕业论文必备工具推荐

救命神器&#xff01;9款AI论文写作软件测评&#xff1a;研究生毕业论文必备工具推荐 学术写作新工具测评&#xff1a;2026年AI论文软件全面解析 随着人工智能技术的不断进步&#xff0c;AI论文写作工具逐渐成为研究生群体在撰写毕业论文时的重要辅助。然而&#xff0c;市面上产…

20260120 省选模拟赛

20260120 省选模拟赛 https://htoj.com.cn/cpp/oj/contest/detail?cid=22635323962240 Problem B. 白点黑点 对于度数序列,求出它能构造出的最大匹配有哪些。 最大匹配考虑 Hall 定理。对于一个集合 \(S\),其 \(|N(…

国内网络环境下 MiniConda + Jupyter + ChromaDB 安装教程

国内网络环境下 MiniConda + Jupyter + ChromaDB 安装教程国内网络环境下 MiniConda + Jupyter + ChromaDB 安装教程 针对国内网络环境,使用国内镜像源加速下载。 第一部分:安装 MiniConda(使用国内下载源) 步骤 1…

大数据领域列式存储:加速数据查询的利器

大数据领域列式存储&#xff1a;加速数据查询的利器 关键词&#xff1a;列式存储、行式存储、数据压缩、大数据查询、存储架构、Parquet、数据仓库 摘要&#xff1a;在大数据时代&#xff0c;"数据查询慢"是许多企业的痛点——当你需要从TB级数据中提取某几列的统计结…

JavaScript对象深浅拷贝及解析

JavaScript对象深浅拷贝及解析下面这段代码使用了 JavaScript 中的对象展开运算符(...),核心作用是创建一个 obj1 的浅拷贝对象 obj2。1. 基础用法示例先看一个完整的可运行示例,帮你理解效果:// 原始对象 const …

sfda

hello world