标
题】:
Scilab
工具箱的初步开发和使用
【关键字】:
Scilab
Scilab
工具箱的初步开发和使用
大家一般都是比较熟悉
Matlab
,但是有些时候下必须使用其它的软件
比如,如果没有授权的
Matlab,VC
,与一些同行交流时
而且,我们越来越依赖于几个商业软件了
长此以往,我们就被套在
Matlab
上了
好在开源人士和一些开明的团体
提供了一些别的选择,
GNU
有
Octave,
语法和
Matlab
差不多,不过工具箱很少,开发也不是很活跃
感觉上
GNU
不能在方方面面都做到最好
法国国立自动化研究所开发了
Scilab
,它的应用越来越广了
尤其在中科院自动化所的中法联合实验室的推广下
Scilab
的工具箱有一些,但是还是太少
比较实用的有图像处理工具箱
SIP
,是由巴西人写的
包含了一个很有用的工具集
中科院的几个研究生也写了一个视频和图像处理的工具箱
不过,他们用到了
Intel
的
opencv
,这在
FreeBSD
下是没有的
因此对
BSD
一族真是扼腕痛惜的事
前几天装了一下
SIP
,
delphij
建议写个
port
,
目前太懒,正在做一个图像处理的项目,完了之后估计会写吧
首先要下在
ANIMAL
最新的版本
,configure
没问题
make
时
,src
目录下的大部分
C
文件都要注释掉
#include <malloc.h>
这一句
祥见
scilab port
的
Makefile
,里面又一个替换的语句,就是针对这个情况
make install
就把库文件和一些头文件放到
/usr/local/lib/animal
和
/usr/local/include/animal
里去了
然后下载
Scilab Image Processing Toolbox 4.0rc-1
make
时
,src
里的
sip_config.h
有一行
UndefinedCompressQuality,
两头加上引号
""
unwrap_***.c
那个文件有一个变量
s,
前面的声明多打了一个字符
u
即
ulong s=0
改为
long s=0
然后
make OK
make install
安装到
/usr/local/lib/scilab/contrib/sip
里面
起动
scilab
exec "/usr/local/lib/scilab/contrib/sip/loader.sce"
就起动了
SIP
了
新的
SIP
里有
rgb2hsv
之类的函数,有
hough
变换、
Radon
变换
真是解了我燃眉之急
在没有
Matlab
的日子里真是痛苦啊,不过一点点会过去的
最近的项目要用
wavelet
,
找遍了
Internet
,免费的
wavelet C
代码真是很少
做这些研究的都是只对他们的研究项目感兴趣,不想把工具箱做完善,
其实这也没什么可抱怨的,人家为什么要为你服务呢
最后发现了
GNU Scientific Library
里有
wavelet
的库
虽然也不完善,但是总比没有好
我就打算写一个接口程序,在
Scilab
里调用
GSL
的库
开始写
C
接口程序
第一个难题,写
Perl
写多了
感觉
C
约束太多
独立的写了一个程序,
C
调用没问题
但是在
scilab
里一调用就退出
scilab
里如何能
gdb
呀?:
-
(
于是就写
printf
给控制台发消息吧
发现传给
C
的字符参数有问题
原来是传双精度数据用
stk
,字符用
cstk
我都用了
stk
,还有,没有指定输出变量的存储开的大小
大致格式是
intgsldwt(char *fname)
{
检查输入变量,输出变量的个数
输入输入变量,检查维数
创建输出变量,给出维数,内存开多大
调用
C
程序
gsldwt();
}
gsldwt()
{
数学运算
}
从
/usr/local/lib/scilab/examples/interface-tutorial-so
里拷一个
builder.sce
到当前目录
改为自己要连接的库
启动
scilab
执行
builder.sce
和
loader.sce
然后就可以用了
大致步骤是这样,具体还要调整
SIP
是用的
intersci
的接口
要把
C
转成
Fortran
的
因为
Scilab
低层是
Fortran
的,
以后也徐会写一个
intersci
的接口吧
现在麻烦点,总比以后被
matlab
卡了脖子要好啊
相关文章
- 我的Java开发学习之旅------>工具类:Java使用正则表达式分离出字符串中的中文和英文
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 WOPI和新的Office Web Apps Server
- 几大网站使用的操作系统、Web服务器和开发语言
- 对dos命令的初步了解和使用
- 我可以使用开发证书和adhoc分发配置文件将我的应用程序分发给特定用户吗?
- Eclipse平台Plug-in(插件)开发中对于perspectives的使用和设置
- 使用PHP和Visual Studio开发本地的最佳方法是什么?
- 前端开发:JS中原型和原型链的使用详解
- JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用
- 功能表单之附件和多附件的使用——JEPLUS软件快速开发平台