JS调用Envi Services Engine发布的影像处理服务
任务:将遥感影像处理功能(自定义算法)发布到Envi Services Engine(ESE)上,客户端javascript调用REST接口
我的流程:
- ESE安装
- 自定义算法编译成DLL
- 构造IDL PRO文件(调用DLL)和TASK文件
- IDL发布服务
- ESE控制台测试服务Task Request Builder
- 客户端调用服务
ESE安装
ESE支持64位的Linux和Windows系统,安装ESE之前,确保机器上已经安装了ENVI/IDL产品。
集群安装方法
单机安装方法 申请ESE许可会给个安装文档(针对windows linux)
自定义算法编译成DLL
本菜鸡用C++开发的图像处理分割分类算法(用了GDAL OPENCV库),一不小心编译成了32bit dll,给后续带来麻烦,建议编译成64bit dll(如果你的算法用c写的 也可以编译成其他东东给IDL调用)
对于接口,涉及到IDL-DLL混编,IDL程序设计董彦卿这本书中有介绍,353页,需要注意的是:
定义接口变量:
IDL_LONG_RETURN ImgExtend(int argc,void *argv[])
{
//用指针类型变量获得外部数据的地址
IDL_STRING img_input=*(IDL_STRING*)argv[0];
IDL_STRING img_output=*(IDL_STRING*)argv[1];
string str_input = img_input.s;
string str_output = img_output.s;
float sigma = *(float*)a