在Origin中使用OpenCV

本文介绍了如何在Origin 9.0中利用OpenCV进行图像处理。虽然OriginC不是一个适合创建独立OpenCV程序的环境,但它作为IDE可以用于学习和实践OpenCV。步骤包括选择图像文件并包含必要的OpenCV头文件。
摘要由CSDN通过智能技术生成

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( )。有兴趣的朋友可以看看是怎么回事……


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值