Origin 9.0自带的英文帮助文档有70MB之大,包括了从入门级的作图,到中级的LabTalk脚本,再到高级的OriginC编程(此分级纯属个人愚见,如有冒犯,见谅见谅~)。不过,也有些文档中没有提到的内容,比如OpenCV:
C:\Program Files\Origin9\OriginC\OriginLab 的目录
2012-02-09 10:22 3,944 opencv.c
2011-12-15 02:04 83,276 opencv_core.h
2012-08-22 21:46 2,265 opencv_error.h
2012-01-19 22:38 20,479 opencv_highgui.h
2012-04-09 04:28 42,313 opencv_imgproc.h
2012-07-12 02:19 27,255 opencv_origin.h
2012-01-19 22:37 72,645 opencv_types.h
7 个文件 252,177 字节
0 个目录 2,007,203,840 可用字节
Origin大概只是用OpenCV来实现部分功能吧,正如 opencv_origin.h中提到的
EJP 2012-01-25 ORG-4927 ORIGIN_C_VIDEO_WRITER
显然,在OriginC里用OpenCV来写一个独立运行的程序是不大现实的。但作为一个配置好的IDE,拿来练下手还是可以。
1. 选择图像文件(当然,其他文件类型也是支持的,并不限于BMP, JPG, JPEG & PNG):
#include <Origin.h>
enum{
NO_ERROR = 0,
NULL_FILE = -1
};
int Ret=NO_ERROR;
string oCV_OpenFile()
{
string strOut = "";
bool bSaveAs = false;
StringArray saFileTypes = {"[Image File (*.bmp;*.jpg;*.jpeg;*.png)] *.bmp;*jpg;*jpeg;*png"};
if(!okutil_FileDialog(&strOut, bSaveAs, &saFileTypes))
Ret = NULL_FILE;
return strOut;
}
2. 虽然 origin.h 已经包含了大部分OriginC中需要的头文件,但 OpenCV 是个例外,只管把涉及到的全部include进来就是了:
#include <..\OriginLab\opencv_core.h>
#include <..\OriginLab\opencv_error.h>
#include <..\OriginLab\opencv_highgui.h>
#include <..\OriginLab\opencv_imgproc.h>
#include <..\OriginLab\opencv_origin.h>
#include <..\OriginLab\opencv_types.h>
3. 简简单单显示个图像:
int oCV()
{
string strImage = oCV_OpenFile();
if(Ret)
return Ret;
IplImage* src;
src = cvLoadImage(strImage, 1);
cvNamedWindow( "Demo",1 );
cvShowImage( "Demo", src);
return Ret;
}
应当注意到,Origin并没有完成对OpenCV的支持或者并没有这样的打算,因此好些非常基本的东西可能出错,如cvGetSize( )。有兴趣的朋友可以看看是怎么回事……