Skip to content

Commit

Permalink
Removed :use :cffi.
Browse files Browse the repository at this point in the history
Removed cffi from the global namespace to be able to more easily
distinguish when we are using CFFI and when we are using FSBV.
  • Loading branch information
J. Bromley committed Apr 1, 2011
1 parent 601b10f commit b42adf4
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 53 deletions.
8 changes: 4 additions & 4 deletions cl-opencv.lisp
Expand Up @@ -8,17 +8,17 @@
(when (member :darwin cl:*features*) (when (member :darwin cl:*features*)
(pushnew #p"/opt/local/lib/" cffi:*foreign-library-directories*)) (pushnew #p"/opt/local/lib/" cffi:*foreign-library-directories*))


(define-foreign-library highgui (cffi:define-foreign-library highgui
(:darwin (:or "libopencv_highgui.2.2.0.dylib" "libopencv_highgui.dylib")) (:darwin (:or "libopencv_highgui.2.2.0.dylib" "libopencv_highgui.dylib"))
(:unix (:or "libhighgui.so.2.1.0" "libhighgui.so" )) (:unix (:or "libhighgui.so.2.1.0" "libhighgui.so" ))
(t (:default "libhighgui"))) (t (:default "libhighgui")))
(use-foreign-library highgui) (cffi:use-foreign-library highgui)


(define-foreign-library cl-opencv-glue (cffi:define-foreign-library cl-opencv-glue
(:darwin "libcl-opencv-glue.dylib") (:darwin "libcl-opencv-glue.dylib")
(:unix "libcl-opencv-glue.so") (:unix "libcl-opencv-glue.so")
(t (:default "libcl-opencv-glue"))) (t (:default "libcl-opencv-glue")))
(use-foreign-library cl-opencv-glue) (cffi:use-foreign-library cl-opencv-glue)


;;; General macros and functions ;;; General macros and functions
(defmacro defanonenum (&body enums) (defmacro defanonenum (&body enums)
Expand Down
30 changes: 15 additions & 15 deletions core.lisp
Expand Up @@ -69,7 +69,7 @@ will pack and unpack the structure into an INT64."
(t args)))) (t args))))


;; CvMat ;; CvMat
(defctype cv-matrix :pointer) (cffi:defctype cv-matrix :pointer)


;; IplImage ;; IplImage
(defanonenum (defanonenum
Expand All @@ -83,26 +83,26 @@ will pack and unpack the structure into an INT64."
(+ipl-depth-16s+ -2147483632) ; IPL_DEPTH_SIGN | 16 (+ipl-depth-16s+ -2147483632) ; IPL_DEPTH_SIGN | 16
(+ipl-depth-32s+ -2147483616)) ; IPL_DEPTH_SIGN | 32 (+ipl-depth-32s+ -2147483616)) ; IPL_DEPTH_SIGN | 32


(defctype ipl-image :pointer) (cffi:defctype ipl-image :pointer)


;; CvArr ;; CvArr
(defctype cv-array :pointer) (cffi:defctype cv-array :pointer)








;;; Operations on Arrays ;;; Operations on Arrays


;; void cvAbsDiff(const CvArr* src1, const CvArr* src2, CvArr* dst) ;; void cvAbsDiff(const CvArr* src1, const CvArr* src2, CvArr* dst)
(defcfun ("cvAbsDiff" abs-diff) :void (cffi:defcfun ("cvAbsDiff" abs-diff) :void
"Calculate the absolute difference between elements in SRC1 and SRC2 "Calculate the absolute difference between elements in SRC1 and SRC2
and store them in DEST." and store them in DEST."
(src1 cv-array) (src1 cv-array)
(src2 cv-array) (src2 cv-array)
(dest cv-array)) (dest cv-array))


;; void cvAbsDiffS(const CvArr* src, CvArr* dst, CvScalar value) ;; void cvAbsDiffS(const CvArr* src, CvArr* dst, CvScalar value)
(defcfun ("cvAbsDiffS_glue" %abs-diff-scalar-glue) :void (cffi:defcfun ("cvAbsDiffS_glue" %abs-diff-scalar-glue) :void
(src cv-array) (src cv-array)
(dest cv-array) (dest cv-array)
(s1 :double) (s1 :double)
Expand All @@ -116,7 +116,7 @@ and store them in DEST."


;; void cvAddWeighted(const CvArr* src1, double alpha, const CvArr* src2, ;; void cvAddWeighted(const CvArr* src1, double alpha, const CvArr* src2,
;; double beta, double gamma, CvArr* dst) ;; double beta, double gamma, CvArr* dst)
(defcfun ("cvAddWeighted" add-weighted) :void (cffi:defcfun ("cvAddWeighted" add-weighted) :void
(src1 cv-array) (src1 cv-array)
(alpha :double) (alpha :double)
(src2 cv-array) (src2 cv-array)
Expand All @@ -125,7 +125,7 @@ and store them in DEST."
(gamma :double)) (gamma :double))


;; void cvCopy(const CvArr* src, CvArr* dst, const CvArr* mask=NULL) ;; void cvCopy(const CvArr* src, CvArr* dst, const CvArr* mask=NULL)
(defcfun ("cvCopy" %copy) :void (cffi:defcfun ("cvCopy" %copy) :void
(src cv-array) (src cv-array)
(dest cv-array) (dest cv-array)
(mask cv-array)) (mask cv-array))
Expand All @@ -136,7 +136,7 @@ are copied."
(%copy src dest mask)) (%copy src dest mask))


;; IplImage* cvCreateImage(CvSize size, int depth, int channels) ;; IplImage* cvCreateImage(CvSize size, int depth, int channels)
(defcfun ("cvCreateImage" %create-image) ipl-image (cffi:defcfun ("cvCreateImage" %create-image) ipl-image
(size :int64) (size :int64)
(depth :int) (depth :int)
(channels :int)) (channels :int))
Expand All @@ -148,7 +148,7 @@ channel, and CHANNELS number of channels."
(%create-image nsize depth channels))) (%create-image nsize depth channels)))


;; CvSize cvGetSize(const CvArr* arr) ;; CvSize cvGetSize(const CvArr* arr)
(defcfun ("cvGetSize" %get-size) :int64 (cffi:defcfun ("cvGetSize" %get-size) :int64
(arr cv-array)) (arr cv-array))


(defun get-size (arr) (defun get-size (arr)
Expand All @@ -158,7 +158,7 @@ dimensions."
(int64->cv-size nsize))) (int64->cv-size nsize)))


;; void cvReleaseImage(IplImage** image) ;; void cvReleaseImage(IplImage** image)
(defcfun ("cvReleaseImage" %release-image) :void (cffi:defcfun ("cvReleaseImage" %release-image) :void
(image-ptr :pointer)) (image-ptr :pointer))


(defun release-image (image) (defun release-image (image)
Expand All @@ -168,13 +168,13 @@ dimensions."
(%release-image image-ptr))) (%release-image image-ptr)))


;; void cvResetImageROI(IplImage* image) ;; void cvResetImageROI(IplImage* image)
(defcfun ("cvResetImageROI" reset-image-roi) :void (cffi:defcfun ("cvResetImageROI" reset-image-roi) :void
"Reset the ROI for IMAGE." "Reset the ROI for IMAGE."
(image ipl-image)) (image ipl-image))


;; void cvSetImageROI(IplImage* image, CvRect rect) ;; void cvSetImageROI(IplImage* image, CvRect rect)
;; Note: the two int64 parameters actually represent a CvRect structure. ;; Note: the two int64 parameters actually represent a CvRect structure.
(defcfun ("cvSetImageROI" %set-image-roi) :void (cffi:defcfun ("cvSetImageROI" %set-image-roi) :void
(image ipl-image) (image ipl-image)
(rect-i1 :int64) (rect-i1 :int64)
(rect-i2 :int64)) (rect-i2 :int64))
Expand All @@ -186,7 +186,7 @@ dimensions."


;; void cvSub(const CvArr* src1, const CvArr* src2, CvArr* dst, ;; void cvSub(const CvArr* src1, const CvArr* src2, CvArr* dst,
;; const CvArr* mask=NULL) ;; const CvArr* mask=NULL)
(defcfun ("cvSub" %subtract) :void (cffi:defcfun ("cvSub" %subtract) :void
(src1 cv-array) (src1 cv-array)
(src2 cv-array) (src2 cv-array)
(dest cv-array) (dest cv-array)
Expand All @@ -200,7 +200,7 @@ limited range."


;; void cvSubS(const CvArr* src, CvScalar value, CvArr* dst, ;; void cvSubS(const CvArr* src, CvScalar value, CvArr* dst,
;; const CvArr* mask=NULL) ;; const CvArr* mask=NULL)
(defcfun ("cvSubS_glue" %subtract-scalar-glue) :void (cffi:defcfun ("cvSubS_glue" %subtract-scalar-glue) :void
(src cv-array) (src cv-array)
(s1 :double) (s1 :double)
(s2 :double) (s2 :double)
Expand All @@ -218,7 +218,7 @@ non-zero."


;; void cvSubRS(const CvArr* src, CvScalar value, CvArr* dst, ;; void cvSubRS(const CvArr* src, CvScalar value, CvArr* dst,
;; const CvArr* mask=NULL) ;; const CvArr* mask=NULL)
(defcfun ("cvSubRS_glue" %subtract-r-scalar-glue) :void (cffi:defcfun ("cvSubRS_glue" %subtract-r-scalar-glue) :void
(src cv-array) (src cv-array)
(s1 :double) (s1 :double)
(s2 :double) (s2 :double)
Expand Down
46 changes: 23 additions & 23 deletions highgui.lisp
Expand Up @@ -8,10 +8,10 @@
;;; Types and structures ;;; Types and structures


;; CvCapture ;; CvCapture
(defctype cv-capture :pointer) (cffi:defctype cv-capture :pointer)


;; CvVideoWriter ;; CvVideoWriter
(defctype cv-video-writer :pointer) (cffi:defctype cv-video-writer :pointer)






Expand All @@ -23,7 +23,7 @@
(+cvtimg-swap-rb+ 2)) (+cvtimg-swap-rb+ 2))


;; cvConvertImage(const CvArr *src, CvArr *dst, int flags) ;; cvConvertImage(const CvArr *src, CvArr *dst, int flags)
(defcfun ("cvConvertImage" %convert-image) :void (cffi:defcfun ("cvConvertImage" %convert-image) :void
(src ipl-image) (src ipl-image)
(dest ipl-image) (dest ipl-image)
(flags :int)) (flags :int))
Expand All @@ -38,11 +38,11 @@ switch as determined by FLAGS."
;; CvTrackbarCallback onChange) ;; CvTrackbarCallback onChange)


;; void cvDestroyAllWindows(void) ;; void cvDestroyAllWindows(void)
(defcfun ("cvDestroyAllWindows" destroy-all-windows) :void (cffi:defcfun ("cvDestroyAllWindows" destroy-all-windows) :void
"Destroy all named windows and free their resources.") "Destroy all named windows and free their resources.")


;; void cvDestroyWindow(const char* name) ;; void cvDestroyWindow(const char* name)
(defcfun ("cvDestroyWindow" destroy-window) :void (cffi:defcfun ("cvDestroyWindow" destroy-window) :void
"Destroy the named window with name NAME and free its resources." "Destroy the named window with name NAME and free its resources."
(name :string)) (name :string))


Expand All @@ -51,7 +51,7 @@ switch as determined by FLAGS."
;; TODO int cvInitSystem(int argc, char** argv) ;; TODO int cvInitSystem(int argc, char** argv)


;; void cvMoveWindow(const char* name, int x, int y) ;; void cvMoveWindow(const char* name, int x, int y)
(defcfun ("cvMoveWindow" move-window) :void (cffi:defcfun ("cvMoveWindow" move-window) :void
"Sets the position of the window NAME to X, Y." "Sets the position of the window NAME to X, Y."
(name :string) (name :string)
(x :int) (x :int)
Expand All @@ -64,7 +64,7 @@ switch as determined by FLAGS."
+window-normal+ +window-normal+
+window-autosize+) +window-autosize+)


(defcfun ("cvNamedWindow" %named-window) :int (cffi:defcfun ("cvNamedWindow" %named-window) :int
"Internal helper function for NAMED-WINDOW." "Internal helper function for NAMED-WINDOW."
(name :string) (name :string)
(flags :int)) (flags :int))
Expand All @@ -76,7 +76,7 @@ contents. Note that current OpenCV only supports +WINDOW-AUTOSIZE+."
(%named-window name flags)) (%named-window name flags))


;; void cvResizeWindow(const char* name, int width, int height)¶ ;; void cvResizeWindow(const char* name, int width, int height)¶
(defcfun ("cvResizeWindow" resize-window) :void (cffi:defcfun ("cvResizeWindow" resize-window) :void
"Resize the window with name NAME to WIDTH by HEIGHT." "Resize the window with name NAME to WIDTH by HEIGHT."
(name :string) (name :string)
(width :int) (width :int)
Expand All @@ -89,13 +89,13 @@ contents. Note that current OpenCV only supports +WINDOW-AUTOSIZE+."
;; const char* windowName, int pos) ;; const char* windowName, int pos)


;; void cvShowImage(const char* name, const CvArr* image) ;; void cvShowImage(const char* name, const CvArr* image)
(defcfun ("cvShowImage" show-image) :void (cffi:defcfun ("cvShowImage" show-image) :void
"Show the picture IMAGE in the named window NAME." "Show the picture IMAGE in the named window NAME."
(name :string) (name :string)
(image ipl-image)) (image ipl-image))


;; int cvWaitKey(int delay=0) ;; int cvWaitKey(int delay=0)
(defcfun ("cvWaitKey" %wait-key) :int (cffi:defcfun ("cvWaitKey" %wait-key) :int
(delay :int)) (delay :int))


(defun wait-key (&optional (delay 0)) (defun wait-key (&optional (delay 0))
Expand All @@ -117,7 +117,7 @@ pressed."
+load-image-anydepth+ +load-image-anydepth+
(+load-image-anycolor+ 4)) (+load-image-anycolor+ 4))


(defcfun ("cvLoadImage" %load-image) ipl-image (cffi:defcfun ("cvLoadImage" %load-image) ipl-image
(filename :string) (filename :string)
(is-color :int)) (is-color :int))


Expand All @@ -126,7 +126,7 @@ pressed."
"Load the image at path FILENAME using color options IS-COLOR." "Load the image at path FILENAME using color options IS-COLOR."
(%load-image filename is-color)) (%load-image filename is-color))


(defcfun ("cvLoadImageM" %load-image-m) cv-matrix (cffi:defcfun ("cvLoadImageM" %load-image-m) cv-matrix
(filename :string) (filename :string)
(is-color :int)) (is-color :int))


Expand All @@ -136,18 +136,18 @@ pressed."
(%load-image-m filename is-color)) (%load-image-m filename is-color))


;; int cvSaveImage(const char* filename, const CvArr* image) ;; int cvSaveImage(const char* filename, const CvArr* image)
(defcfun ("cvSaveImage" save-image) :int (cffi:defcfun ("cvSaveImage" save-image) :int
"Save the image in IMAGE into the file FILENAME." "Save the image in IMAGE into the file FILENAME."
(filename :string) (filename :string)
(image ipl-image)) (image ipl-image))


;; CvCapture* cvCreateCameraCapture(int index) ;; CvCapture* cvCreateCameraCapture(int index)
(defcfun ("cvCreateCameraCapture" create-camera-capture) cv-capture (cffi:defcfun ("cvCreateCameraCapture" create-camera-capture) cv-capture
"Capture a video stream from the camera with index INDEX." "Capture a video stream from the camera with index INDEX."
(index :int)) (index :int))


;; CvCapture* cvCreateFileCapture(const char* filename) ;; CvCapture* cvCreateFileCapture(const char* filename)
(defcfun ("cvCreateFileCapture" create-file-capture) cv-capture (cffi:defcfun ("cvCreateFileCapture" create-file-capture) cv-capture
"Initializes capturing a video from the file FILENAME." "Initializes capturing a video from the file FILENAME."
(filename :string)) (filename :string))


Expand All @@ -174,32 +174,32 @@ pressed."
+cap-prop-rectification+); ? (only supported by DC1394 v 2.x backend) +cap-prop-rectification+); ? (only supported by DC1394 v 2.x backend)


;; double cvGetCaptureProperty(CvCapture* capture, int property_id) ;; double cvGetCaptureProperty(CvCapture* capture, int property_id)
(defcfun ("cvGetCaptureProperty" get-capture-property) :double (cffi:defcfun ("cvGetCaptureProperty" get-capture-property) :double
"Retrieves that value of property PROPERTY-ID from the capture "Retrieves that value of property PROPERTY-ID from the capture
stream CAPTURE." stream CAPTURE."
(capture cv-capture) (capture cv-capture)
(property-id :int)) (property-id :int))


;; int cvGrabFrame(CvCapture* capture) ;; int cvGrabFrame(CvCapture* capture)
(defcfun ("cvGrabFrame" grab-frame) :int (cffi:defcfun ("cvGrabFrame" grab-frame) :int
"Grabs a frame from the video capture stream CAPTURE. The image is "Grabs a frame from the video capture stream CAPTURE. The image is
stored internally. Use RETRIEVE-FRAME to retrieve the grabbed frame." stored internally. Use RETRIEVE-FRAME to retrieve the grabbed frame."
(capture cv-capture)) (capture cv-capture))


;; IplImage* cvQueryFrame(CvCapture* capture) ;; IplImage* cvQueryFrame(CvCapture* capture)
(defcfun ("cvQueryFrame" query-frame) ipl-image (cffi:defcfun ("cvQueryFrame" query-frame) ipl-image
"Grab a frame from a video capture stream CAPTURE, decompress it and "Grab a frame from a video capture stream CAPTURE, decompress it and
return it." return it."
(capture cv-capture)) (capture cv-capture))


(defcfun ("cvReleaseCapture" %release-capture) :void (cffi:defcfun ("cvReleaseCapture" %release-capture) :void
(capture-ptr :pointer)) (capture-ptr :pointer))


;; void cvReleaseCapture(CvCapture** capture) ;; void cvReleaseCapture(CvCapture** capture)
(defun release-capture (capture) (defun release-capture (capture)
"Release the resources use by the capture stream CAPTURE." "Release the resources use by the capture stream CAPTURE."
(with-foreign-object (capture-ptr :pointer) (cffi:with-foreign-object (capture-ptr :pointer)
(setf (mem-ref capture-ptr :pointer) capture) (setf (cffi:mem-ref capture-ptr :pointer) capture)
(%release-capture capture-ptr))) (%release-capture capture-ptr)))


(defmacro with-capture ((capture-var capture) &body body) (defmacro with-capture ((capture-var capture) &body body)
Expand All @@ -210,12 +210,12 @@ return it."
(release-capture ,capture-var)))) (release-capture ,capture-var))))


;; IplImage* cvRetrieveFrame(CvCapture* capture) ;; IplImage* cvRetrieveFrame(CvCapture* capture)
(defcfun ("cvRetrieveFrame" retrieve-frame) ipl-image (cffi:defcfun ("cvRetrieveFrame" retrieve-frame) ipl-image
"Returns a pointer to the last image grabbed from CAPTURE-SRC with "Returns a pointer to the last image grabbed from CAPTURE-SRC with
GRAB-FRAME." GRAB-FRAME."
(capture cv-capture)) (capture cv-capture))


(defcfun ("cvSetCaptureProperty" %set-capture-property) :int (cffi:defcfun ("cvSetCaptureProperty" %set-capture-property) :int
(capture cv-capture) (capture cv-capture)
(property-id :int) (property-id :int)
(value :double)) (value :double))
Expand Down

0 comments on commit b42adf4

Please sign in to comment.