imageJ插件开发失败经验
我了解到的imageJ(java语言开发)的插件的开发方法有三个:
①编写c++程序,编译生成dll文件,然后通过java语言调用
②imageJ宏语言开发,算是imageJ的集成语言,调用imageJ的库
③java语言直接开发
网盘资料:(里面只有一个ij.jar以及一个imageJ的小部分中文教程,需要可以下载)
链接:https://pan.baidu.com/s/1JK4vvdLP76QqjOVQof0yfg
提取码:d94i
开发的思路
我实验的是第一种方法,也就是c++编译生成dll文件的那种,由于我所拥有的是matlab代码,要做成插件,然后在将matlab代码转成c++代码的时候发现太麻烦了,然后想走捷径,就想到了混合matlab与vs2019的混合编译,因为matlab也能生成dll文件,并且c++能够调用,并且在后续的实验中也发现了java程序也一样能够调用,但是结果就是能够实现,但是就是需要matlab的安装环境,也就是说需要安装matlab,不符合项目的要求,所以最后放弃了。
插件开发思路
创建一个class类(我使用的是Apache NetBeans IDE 12.4)
代码来自jni开发教程
创建一个Java工程
把它放在你的文件夹里面,然后添加一个类
输入以下代码
public class test_Plugin_four_ {
public static native String sayHello(String name);
public static void main(String[] args) {
System.load("F:\\310project\\HNwork\\plugin\\test_Plugin_four\\test_dll_four\\x64\\Debug\\test_dll_four.dll");
System.out.println("Strat to work");
String text = sayHello("xiaoming");
System.out.println(text);
}
其中加载dll库的句子可以先不加,不影响,主要是后面调用的。
记得修改以下类名称就行,保存
生成c++头文件
windows + r 然后输入cmd
然后进入到你创建的java文件的目录下
然后编译java程序
javac test_hello.java
再编译生成头文件:
javah -jni test_hello
注意不要后缀class
然后你的文件夹下面就会有c++的头文件了