我写了个ImageWindow应用

文章目录

    • 0 引言
    • 1 应用简介
    • 2 主要功能和特点
      • 2.1 多图像同/异步像素级对比
      • 2.2 支持多达30+种图像格式
      • 2.3 高效率的图像处理性能
    • 3 简明使用教程
      • 3.1 软件下载安装与更新
        • 3.1.1 软件下载与安装
        • 3.1.2 软件更新
      • 3.2 多视窗添加并自动最优排列
      • 3.3 多样化图像导入方式
      • 3.4 自动切换显示模式
      • 3.5 同步缩放、拖拽以及快速复位
      • 3.6 八视窗同步像素级对比
    • 4 待完成功能
    • 5 总结一下

0 引言

在我的研究工作中,常常涉及不同图像处理算法或者不同参数下的图像的处理效果对比,尤其是在ISP图像处理领域,通过查看图像像素值之间的差异对于研究工作至关重要。众所周知,现有的PhotoShop工具已有了很强大的图像处理功能,纵使有这样地现成工具,但其始终很是无法很好地满足我的研究工作,因此,我决定设计出满足自己需求的专用型图像实验工具,以更好地提高我研究工作的效率,也希望能帮助到在该领域涉及范围内的伙伴们,欢迎了解、下载安装、使用和反馈!

  • 项目主页 https://iw.sokedev.cn/

1 应用简介

本次开发的应用程序主要是用于像素级图像对比、处理及分析的应用,其采用C++语言,结合Qt6图形开发框架设计并构建,目前仅支持Windows平台。

在你的工作、研究或者学习中使用它,某种程度上,我相信本产品或多或少会给你的研究或学习工作带来些许的便利,尤其是在图像算法研究上面,欢迎使用~

2 主要功能和特点

2.1 多图像同/异步像素级对比

本应用支持多视窗图像的像素级查看及对比,可通过简单的交互实现图像的缩放、拖动以及像素数值实时地同步显示。

2.2 支持多达30+种图像格式

可以输入图像格式繁多,其不仅支持常用的.jpg,.png,.jpeg,.bmp,.tiff,.tif,以及 .dng,还包括像 .ppm等30+多种图像格式的载入。

2.3 高效率的图像处理性能

本应用采用OpenGL来进行页面的渲染,加速图像显示,利用高效的处理逻辑及算法实现良好的软件性能。

3 简明使用教程

3.1 软件下载安装与更新

3.1.1 软件下载与安装

访问主页 https://iw.sokedev.cn/

点击即可下载

下载完成之后,双击安装包 ImageWindowIns1.0.0.exe 开始安装过程,安装过程中可选择相应安装路径即可;完成之后就可以在桌面上得到如下所示快捷方式。

双击 ImageWindow 快捷方式,便可运行本应用软件!

ImageWindow

3.1.2 软件更新

一般应用每次运行会进行自动的更新检查的,如需手动检查更新,可依次点击帮助->检查更新即可完成。

如果版本为最新版,则显示如下信息:

3.2 多视窗添加并自动最优排列

你可以通过拖拽图像到视窗中,或者通过单击视窗载入图像,也可以通过右键菜单载入图像,以实现多样化的图像载入。

  • 多样化的图像导入方式
  • 可替换视图图像
  • 支持移除所选视图、全部视图

多视窗添加

3.3 多样化图像导入方式

你可以通过拖拽图像到视窗中,或者通过单击视窗载入图像,也可以通过右键菜单载入图像,以实现多样化的图像载入。

  • 多样化的图像导入方式
  • 可替换视图图像
  • 支持移除所选视图、全部视图

多样化图像导入方式

3.4 自动切换显示模式

你可以载入彩色图像或者灰度图像,本应用会自动切换显示模式,以便于更好的图像处理。

  • 自动化地识别图像属性
  • 设置彩色、灰度两种显示模式

自动切换显示模式

3.5 同步缩放、拖拽以及快速复位

你可以通过鼠标滚轮操作来实现图像的同步缩放,也可以通过鼠标拖拽来实现图像的同步移动,同时也支持双击左键实现快速复位。

  • 等比例缩放,保持视觉一致性
  • 可实现图像的灵活拖动和快速复位
  • 支持自适应屏幕分辨率、视窗大小

同步缩放、拖拽以及快速复位

3.6 八视窗同步像素级对比

你可以通过打开视窗同步开关,来实现八个视窗的同步显示,以便于进行图像的像素级对比。

  • 可进行GPU进行加速渲染
  • 使用缓冲技术以保证视图流畅

八视窗同步像素级对比

4 待完成功能

下面是我目前还未完成的一些功能:

  • 图像异处标记
  • 图像直方图显示
  • 支持像素修改

等等,也欢迎大家留言,补充自己工作或学习研究中所需的一些的功能~

5 总结一下

其实我好久已经没写什么技术文章了,突然写这么些字,有些文字都显得不那么顺畅了,哈哈,大家凑合着看看吧!总之,这篇文章给伙伴们简单介绍了一下我自己开发的这个小应用,如果在使用过程中有任何的问题都可联系我,欢迎大家使用和反馈问题,也希望能并帮助到各位奋斗中的小伙伴们,加油!

软件使用问题QQ反馈群:757595454

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

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

相关文章

node 之 模块化

1.什么是模块化 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 编程领域中的模块化 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并…

怎么调用文心一言的api接口生成一个简单的聊天机器人(python代码)

寒假在学习大模型,但也没弄出多少眉目,电脑性能还有点小问题,大模型总跑不起来,只会简单调用一下现有的大模型的接口,例如:文心一言,下面展示一下代码: import tkinter as tk impor…

Mysql安装教程

一、下载 点开下面的链接:https://dev.mysql.com/downloads/mysql/ 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 8.0.31 的软件本体了(就是一个文件夹…

第三节-docker-cs架构分析

一、组成 docker engine:docker-client、rest-api、dockerd containerd: 1、管理容器生命周期 2、拉取/推送镜像 3、存储管理 4、调用runc 5、管理网络 containerd-shim:相当于一个驱动,containerd通过containerd-shim驱使…

关于静态应用程序安全测试(SAST)的自动修复(AutoFix)

SAST(Static Application Security Testing,静态应用程序安全测试)具是一种在软件工程中使用的安全解决方案,它主要用于在程序员编写好源代码后,无需经过编译器编译,直接对源代码进行扫描,以找出…

MYSQL05高级_查看修改存储引擎、InnoDB和MyISAM对比、其他存储引擎介绍

文章目录 ①. 查看、修改存储引擎②. InnoDB和MyISAM对比③. Archive引擎 - 归档④. Blackhole引擎丢数据⑤. CSV - 引擎⑥. Memory引擎 - 内存表⑦. Federated引擎 - 访问远程表⑧. Merge引擎 - 管理多个MyISAM⑨. NDB引擎 - 集群专用 ①. 查看、修改存储引擎 ①. 查看mysql提…

Kotlin的各种骚气语法

1.奇怪的中括号? 前几星期在群里见群友问这种是什么鬼,kt中有这种语法吗? 但其实这种是重写的操作符,分别是重写了setter和getter,类似于list[0]1这样 上面的两个方法声明如下: 不过这种语法很容易引起歧义,所以除非很适合的情况下不建议重写 ps:更多的操作符重载参考最下…

uniapp 部署h5,pdf预览

1.hubuilderx 打包h5。 2.上传部署包到服务器。 解压部署包:unzip h5.zip 。 3.nginx配置。 user root; worker_processes 1; #worker_cpu_affinity 0001 0010 0100 1000; #error_log logs/error.log; #error_log logs/error.log notice; error_log /var/l…

【重温设计模式】桥接模式及其Java示例

【重温设计模式】桥接模式及其Java示例 桥接模式的介绍 今天我们要探讨的,正是一种名为“桥接模式”的设计模式。桥接模式,英文名Bridge Pattern,是一种结构型设计模式,它的主要目的是将抽象部分与实现部分分离,使得两…

Windows Docker 部署 Redis

部署 Redis 打开 Docker Desktop,切换到 Linux 内核。然后在 PowerShell 执行下面命令,即可启动一个 redis 服务 docker run -d --name redis -p 6379:6379 redis-如果需要自启动,加 --restart always 参数即可。 连接 Redis 使用客户端连…

python dictionary 字典

Python 字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下 d {key1 : value1, key2 : value2, key3 : value3 }dict 作…

Vue依赖注入之Provide/Inject

1. 使用<script setup> 父组件 <template><div>这里是父组件的message值:{{ message }}</div><br /><div>这里是父组件的count值:{{ count }}</div><br /><classtest /> </template> <script setup> impor…

SpringBoot项目中如何结合Mybatis进行数据库查询

在Spring Boot项目中使用Mybatis进行数据库操作是一种常见的实现方式。下面我将展示如何在Spring Boot项目中整合Mybatis。这个示例将包括几个主要部分&#xff1a;项目依赖配置、配置文件、实体类、Mapper接口及其XML配置文件、服务类、以及一个简单的控制器。 1. 项目依赖配…

Linux Centos7配置SSH免密登录

Linux Centos7配置SSH免密登录 配置SSH免密登录说明&#xff1a; 分两步 第一步、给Server A生成密钥对 第二步、给Server B授权 生成密钥对之后&#xff0c;我们可以看看它保存的目录下的文件。 接下来我们就要把Server A&#xff08;10.1.1.74&#xff09;的公钥拷贝到Se…

AI新秀Mistral:“Open AI“ 新时代

最近互联网出现不少类似“下一代openai”、“GPT-4最强竞品”、“法国AI独角兽”、“欧洲的OpenAI”、“微软新宠儿”.... 的文章&#xff0c;都会附带一张图片&#xff0c;就是下面这张&#xff1a; 那么到底发生了什么&#xff0c;出来个什么东西呢&#xff1f;就是本文的主…

跟着cherno手搓游戏引擎【28】第一个游戏!源码解读!逐行注释!

源码解读&#xff1a; GameLayer层级&#xff1a;在构造函数中&#xff1a;创建窗口和相机&#xff0c;对随机数种子初始化&#xff1b; 在OnAttach方法中&#xff1a;初始化关卡&#xff1a;加载资源初始化地图信息&#xff1b;设置字体&#xff1b; 在OnUpdate方法中&…

从单体服务到微服务:多模式 Web 应用开发记录<三>预初始化属性

相关文章&#xff1a; 多模式 Web 应用开发记录<一>背景&全局变量优化多模式 Web 应用开发记录<二>自己动手写一个 Struts 开头先看一个简单的例子&#xff0c;这是 ftl 文件的一个表单&#xff1a; <form id"validateForm" action"#&quo…

【第十天】C++函数对象/仿函数、谓词、适配器及常见algorithm算法

一、函数对象 重载了函数调用运算符()的类 实例化的对象叫函数对象&#xff0c;也叫仿函数。 如果函数对象 有一个参数 叫&#xff1a;一元函数对象/仿函数如果函数对象 有二个参数 叫&#xff1a;二元函数对象/仿函数如果函数对象 有三个及以上参数 叫&#xff1a;多元函数对…

K8S存储卷与PV,PVC

一、前言 Kubernetes&#xff08;K8s&#xff09;中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据&#xff0c;并且可以保持数据的持久性&#xff0c;即使Pod被重新调度或者删除&#xff0c;数据也不会丢失。 Kubernetes支持多种类型的存储卷…

Three.js-03Vite打包入门

1.安装 说明&#xff1a;创建文件以后&#xff0c;按照提示进行操作。如cd文件夹&#xff0c;npm i ,npm run dev等操作。 npm create vitelatest 2.安装three npm i three.js 4.打开npm官网 说明:搜索three第三方库。按照案例进行操作。 5.修改App.vue文件 <script set…