mirror of
https://github.com/ruby-opencv/ruby-opencv
synced 2023-03-27 23:22:12 -04:00
added error handling to CvHistgram
This commit is contained in:
parent
f8685c49c8
commit
37109f225d
2 changed files with 39 additions and 14 deletions
|
@ -54,8 +54,8 @@ define_ruby_class()
|
||||||
VALUE
|
VALUE
|
||||||
rb_allocate(VALUE klass)
|
rb_allocate(VALUE klass)
|
||||||
{
|
{
|
||||||
// not yet
|
CvHistogram* ptr;
|
||||||
return Qnil;
|
return Data_Make_Struct(klass, CvHistogram, 0, -1, ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -97,11 +97,17 @@ rb_has_range(VALUE self)
|
||||||
VALUE
|
VALUE
|
||||||
rb_dims(VALUE self)
|
rb_dims(VALUE self)
|
||||||
{
|
{
|
||||||
|
VALUE result = Qnil;
|
||||||
int size[CV_MAX_DIM];
|
int size[CV_MAX_DIM];
|
||||||
int dims = cvGetDims(CVHISTOGRAM(self)->bins, size);
|
try {
|
||||||
VALUE result = rb_ary_new2(dims);
|
int dims = cvGetDims(CVHISTOGRAM(self)->bins, size);
|
||||||
for(int i = 0; i < dims; i++){
|
result = rb_ary_new2(dims);
|
||||||
rb_ary_store(result, i, INT2FIX(size[i]));
|
for(int i = 0; i < dims; ++i){
|
||||||
|
rb_ary_store(result, i, INT2NUM(size[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -128,7 +134,12 @@ rb_copy(VALUE self)
|
||||||
{
|
{
|
||||||
VALUE dest = 0;
|
VALUE dest = 0;
|
||||||
CvHistogram *hist = CVHISTOGRAM(dest);
|
CvHistogram *hist = CVHISTOGRAM(dest);
|
||||||
cvCopyHist(CVHISTOGRAM(self), &hist);
|
try {
|
||||||
|
cvCopyHist(CVHISTOGRAM(self), &hist);
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
|
}
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +152,12 @@ rb_copy(VALUE self)
|
||||||
VALUE
|
VALUE
|
||||||
rb_clear_bang(VALUE self)
|
rb_clear_bang(VALUE self)
|
||||||
{
|
{
|
||||||
cvClearHist(CVHISTOGRAM(self));
|
try {
|
||||||
|
cvClearHist(CVHISTOGRAM(self));
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +182,12 @@ rb_normalize(VALUE self, VALUE factor)
|
||||||
VALUE
|
VALUE
|
||||||
rb_normalize_bang(VALUE self, VALUE factor)
|
rb_normalize_bang(VALUE self, VALUE factor)
|
||||||
{
|
{
|
||||||
cvNormalizeHist(CVHISTOGRAM(self), NUM2DBL(factor));
|
try {
|
||||||
|
cvNormalizeHist(CVHISTOGRAM(self), NUM2DBL(factor));
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,10 +212,14 @@ rb_thresh(VALUE self, VALUE factor)
|
||||||
VALUE
|
VALUE
|
||||||
rb_thresh_bang(VALUE self, VALUE factor)
|
rb_thresh_bang(VALUE self, VALUE factor)
|
||||||
{
|
{
|
||||||
cvThreshHist(CVHISTOGRAM(self), NUM2DBL(factor));
|
try {
|
||||||
|
cvThreshHist(CVHISTOGRAM(self), NUM2DBL(factor));
|
||||||
|
}
|
||||||
|
catch (cv::Exception& e) {
|
||||||
|
raise_cverror(e);
|
||||||
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__NAMESPACE_END_CVHISTOGRAM
|
__NAMESPACE_END_CVHISTOGRAM
|
||||||
__NAMESPACE_END_OPENCV
|
__NAMESPACE_END_OPENCV
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
#include "opencv.h"
|
#include "opencv.h"
|
||||||
|
|
||||||
#define __NAMESPACE_BEGIN_CVHISTOGRAM namespace cCvHistogram{
|
#define __NAMESPACE_BEGIN_CVHISTOGRAM namespace cCvHistogram {
|
||||||
#define __NAMESPACE_END_CVHISTOGRAM }
|
#define __NAMESPACE_END_CVHISTOGRAM }
|
||||||
|
|
||||||
__NAMESPACE_BEGIN_OPENCV
|
__NAMESPACE_BEGIN_OPENCV
|
||||||
|
@ -38,8 +38,8 @@ VALUE rb_thresh_bang(VALUE self, VALUE factor);
|
||||||
|
|
||||||
__NAMESPACE_END_CVHISTOGRAM
|
__NAMESPACE_END_CVHISTOGRAM
|
||||||
|
|
||||||
inline CvHistogram
|
inline CvHistogram*
|
||||||
*CVHISTOGRAM(VALUE object)
|
CVHISTOGRAM(VALUE object)
|
||||||
{
|
{
|
||||||
CvHistogram *ptr;
|
CvHistogram *ptr;
|
||||||
Data_Get_Struct(object, CvHistogram, ptr);
|
Data_Get_Struct(object, CvHistogram, ptr);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue