imageJ二次开发之旅 – imageJ开源项目介绍

简介: imageJ二次开发之旅 – imageJ开源项目介绍

imageJ二次开发之旅 – imageJ开源项目介绍

imageJ起源:

imageJ项目最初是由NIH(NationalInstitutes of Health,美国国家卫生研究院)在1997发起的,其目的是提供一个跨平台、高效、稳定可运行的Java图像处理工具。经过多年发展在imageJ的基础上已经孕育出多个分支开源项目包括imageJ1.x、imageJ2.x、Fiji等成功的开源项目,

imageJ的产生是地地道道的一个人的项目产物。最初的开发者只有一个人Wayne Rasband,他为美国国家卫生研究院做了40年的码农,此君已经于2010退休了。而imageJ则通过开源社区不断贡献出新插件从而功能更加的丰富、实用性更强,已经获得一大批的忠实用户与追随者。




ImageJ项目特征:


ImageJ能够走到今天,得到图像处理开发者认可与使用,主要原因在于开放源代码与插件机制,其中imageJ的插件机制允许开发者自己开发相关算法并集成到已经存在的imageJ应用程序中,这样就减轻了算法开发者的工作量同时避免了很多重复劳动。另外一个重要机制就是宏(macros),通过宏机制,根据脚本语言,imageJ就可以借助分布式计算发挥Java跨平台的强大运算能力,特别适合处理大型多维图像。此外imageJ由于是早期的Java语言开发GUI都是借助于awt组件完成,跟现在的java swing有点格格不入,所以imageJ迁移到GitHub上之后有产生了imagej-swing的项目分支。如果GUI都能换成swing的,我相信imageJ将会在更多的项目中得到集成运用。imageJ项目主页:http://imagej.net/Home。同时ImageJ支持多种图像格式文件的IO读写,是一个非常好的图像文件读写支持库。所以imageJ主要特征可以总结如下:


-         基于插件机制调用所有的图像处理算法程序,实现了UI层与算法计算的分离


-         强大的插件功能与宏脚本定义功能


-         基于AWT的GUI库。


-         支持几乎所有常见的图像格式IO读写



imageJ源代码下载与运行


访问地址https://github.com/imagej选择ImageJA主页之后选择downloadzip即可,如果你已经安装Eclipse4.0以上版本,就可以选择maven项目之后直接导入解压缩的源代码即可,在IDE中直接运行ij包下的ImageJ.java即可。显示出现的界面如下:


点击文件菜单打开一张图像,显示如下:


选择[Process]->[Filters]-[Gaussian Blur](高斯模糊),弹出高斯参数输入对话框,直接按确认即可得到模糊之后的图像如下:

完整的导入工程目录结构如下:

相关文章
|
19天前
|
Unix Linux 测试技术
|
1月前
|
SQL Java API
《Java开发手册灵魂13问》正式上线,带你剖析阿里巴巴的开发细节
一线大厂怎么用Java?看阿里技术专家给你分析!《〈Java开发手册(泰山版)〉灵魂13问》电子书正式上线带你剖析阿里巴巴一线团队开发思维。
|
7月前
|
开发框架 监控 BI
NetCore多租户开源项目,快速后台开发企业框架,赚钱就靠她了
NetCore多租户开源项目,快速后台开发企业框架,赚钱就靠她了
66 0
|
消息中间件 缓存 运维
云HIS源码:JAVA开发采用主流技术栈
云HIS系统技术框架: 总体框架: SaaS应用,全浏览器访问 前后端分离,多服务协同 服务可拆分,功能易扩展 云HIS系统技术细节: 前端:Angular+Nginx 后台:Java+Spring,SpringBoot,SpringMVC,SpringSecurity,MyBatisPlus,等 数据库:MySQL + MyCat 缓存:Redis+J2Cache 消息队列:RabbitMQ 任务调度中心:XxlJob 接口技术:RESTful API + WebSocket + WebService 报表组件:itext + POI + ureport2 数据库
223 0
云HIS源码:JAVA开发采用主流技术栈
|
Cloud Native 开发者
云原生应用插件扩展训练营上线,帮你开始开源社区贡献者之旅!
阿里云开发者学堂联合云原生开发平台推出了云原生应用插件扩展训练营,帮你开始开源社区贡献者之旅!
云原生应用插件扩展训练营上线,帮你开始开源社区贡献者之旅!
|
前端开发 JavaScript IDE
推荐10个有趣的前端开源项目
开源的世界每天都丰富多彩,2022年前端领域会有什么新的挑战?下面是我们整理的10个有趣的开源项目,希望当中有您想要收藏的那一个。
1510 21
推荐10个有趣的前端开源项目
|
消息中间件 存储 设计模式
聊聊如何学习开源项目
工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。
聊聊如何学习开源项目
|
Kubernetes 前端开发 JavaScript
一篇文章带你入门K8S二次开发
我们经常会在网上看到K8S和周边工具的教程,例如HELM的使用,droneCI的使用,但是很少有文章写,如何基于K8S进行二次开发,本篇文章将使用python和vue进行K8S的二次开发,实现一个简单的查询k8s的pod和node信息的页面
7355 0
一篇文章带你入门K8S二次开发
|
监控 JavaScript 前端开发
看了那么多的开源商城项目,最想推荐的还是这一个
看了那么多的开源商城项目,最想推荐的还是这一个
286 0
看了那么多的开源商城项目,最想推荐的还是这一个
|
NoSQL 前端开发 Java
【每日收藏】资深开发者的开发工具
【每日收藏】资深开发者的开发工具
215 0
【每日收藏】资深开发者的开发工具