看板 Perl 關於我們 聯絡資訊
我只有弄三個function: cvNamedWindow cvLoadImage cvShowImage 首先h2xs -A -n OpenCV file Opencv.xs #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include <highgui.h> #include <cv.h> #include "ppport.h" // typedef struct _IplImage CVImg; MODULE = OpenCV PACKAGE = OpenCV int cvNamedWindow(name,flags) char *name int flags IplImage* cvLoadImage(name,flags) char *name int flags void cvShowImage(name,img) char *name IplImage* img file typemap TYPEMAP IplImage* T_PTROBJ file lib/OpenCV.pm require Exporter; require DynaLoader; our @ISA = qw(Exporter DynaLoader); our @EXPORT = qw( cvNamedWindow cvLoadImage cvShowImage ); file Makefile.PL WriteMakefile( NAME => 'OpenCV', VERSION_FROM => 'lib/OpenCV.pm', # finds $VERSION PREREQ_PM => {}, # e.g., Module::Name => 1.1 ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/OpenCV.pm', # retrieve abstract from module AUTHOR => 'dryman <[email protected]>') : ()), LIBS => [`pkg-config --libs opencv`], DEFINE => '', INC => `pkg-config --cflags opencv`, ); 測試.. #!/usr/bin/perl use OpenCV; cvNamedWindow("hello world",1); $img=cvLoadImage("18.jpg",0); cvShowImage("hello world",$img); 真的可以讀入圖片並顯示 不過我忘了加入cvWaitKey來讓它停住就是了:P -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.46.171