mirror of
https://github.com/ruby-opencv/ruby-opencv
synced 2023-03-27 23:22:12 -04:00
added cCvMat::new_mat_kind_object() to adapt CvMat methods to IplImage
This commit is contained in:
parent
efc7292cdf
commit
4fb3d87dd3
2 changed files with 16 additions and 1 deletions
|
@ -5250,6 +5250,21 @@ new_object(CvSize size, int type)
|
|||
return OPENCV_OBJECT(rb_klass, rb_cvCreateMat(size.height, size.width, type));
|
||||
}
|
||||
|
||||
VALUE
|
||||
new_mat_kind_object(CvSize size, VALUE ref_obj)
|
||||
{
|
||||
VALUE return_type = CLASS_OF(ref_obj);
|
||||
if (rb_obj_is_kind_of(ref_obj, cIplImage::rb_class())) {
|
||||
IplImage* img = IPLIMAGE(ref_obj);
|
||||
return OPENCV_OBJECT(return_type, rb_cvCreateImage(size, img->depth, img->nChannels));
|
||||
}
|
||||
else if (rb_obj_is_kind_of(ref_obj, rb_klass)) // CvMat
|
||||
return OPENCV_OBJECT(return_type, rb_cvCreateMat(size.height, size.width, cvGetElemType(CVMAT(ref_obj))));
|
||||
else
|
||||
rb_raise(rb_eNotImpError, "Only CvMat or IplImage are supported");
|
||||
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
__NAMESPACE_END_OPENCV
|
||||
__NAMESPACE_END_CVMAT
|
||||
|
|
|
@ -270,7 +270,7 @@ VALUE rb_save_image(VALUE self, VALUE filename);
|
|||
|
||||
VALUE new_object(int rows, int cols, int type);
|
||||
VALUE new_object(CvSize size, int type);
|
||||
|
||||
VALUE new_mat_kind_object(CvSize size, VALUE ref_obj);
|
||||
|
||||
__NAMESPACE_END_CVMAT
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue