OpenCVImage::OpenCVImage(int width, int height, Image::PixelFormat fmt) : m_own(true), m_data(0), m_img(0), m_fmt(fmt) { assert(width >= 1 && "Image can't have a negative or 0 width"); assert(height >= 1 && "Image can't have a negative or 0 height"); #ifdef RAM_POSIX // Assign the error handler if it hasn't been done static bool errHandlerInitialized = false; if (!errHandlerInitialized) { cvRedirectError(::cvErrorHandler); errHandlerInitialized = true; } #endif int depth = getFormatDepth(fmt); int channels = getFormatNumChannels(fmt); m_img = cvCreateImage(cvSize(width, height), depth, channels); assert(m_img && "Error creating OpenCV Image"); }
CvErrorCallback cveRedirectError(CvErrorCallback error_handler, void* userdata, void** prev_userdata) { return cvRedirectError(error_handler, userdata, prev_userdata); }
void Init_opencv() { cvRedirectError((CvErrorCallback)mOpenCV::error_callback); mOpenCV::init_ruby_module(); mOpenCV::cCvError::init_ruby_class(); mOpenCV::cCvPoint::init_ruby_class(); mOpenCV::cCvPoint2D32f::init_ruby_class(); mOpenCV::cCvPoint3D32f::init_ruby_class(); mOpenCV::cCvSize::init_ruby_class(); mOpenCV::cCvSize2D32f::init_ruby_class(); mOpenCV::cCvRect::init_ruby_class(); mOpenCV::cCvScalar::init_ruby_class(); mOpenCV::cCvSlice::init_ruby_class(); mOpenCV::cCvTermCriteria::init_ruby_class(); mOpenCV::cCvBox2D::init_ruby_class(); mOpenCV::cCvFont::init_ruby_class(); mOpenCV::cIplConvKernel::init_ruby_class(); mOpenCV::cCvMoments::init_ruby_class(); mOpenCV::cCvHuMoments::init_ruby_class(); mOpenCV::cCvConvexityDefect::init_ruby_class(); mOpenCV::cCvSURFPoint::init_ruby_class(); mOpenCV::cCvSURFParams::init_ruby_class(); mOpenCV::cCvMemStorage::init_ruby_class(); mOpenCV::cCvSeq::init_ruby_class(); mOpenCV::mCurve::init_ruby_module(); mOpenCV::mPointSet::init_ruby_module(); mOpenCV::cCvChain::init_ruby_class(); mOpenCV::cCvContour::init_ruby_class(); mOpenCV::cCvContourTree::init_ruby_class(); mOpenCV::cCvMat::init_ruby_class(); mOpenCV::cIplImage::init_ruby_class(); mOpenCV::cCvHistogram::init_ruby_class(); mOpenCV::cCvCapture::init_ruby_class(); mOpenCV::cCvVideoWriter::init_ruby_class(); mOpenCV::cCvLine::init_ruby_class(); mOpenCV::cCvTwoPoints::init_ruby_class(); mOpenCV::cCvCircle32f::init_ruby_class(); mOpenCV::cCvFeatureTree::init_ruby_class(); mOpenCV::cCvConnectedComp::init_ruby_class(); mOpenCV::cCvAvgComp::init_ruby_class(); mOpenCV::cCvHaarClassifierCascade::init_ruby_class(); mOpenCV::cAlgorithm::init_ruby_class(); mOpenCV::cFaceRecognizer::init_ruby_class(); mOpenCV::cEigenFaces::init_ruby_class(); mOpenCV::cFisherFaces::init_ruby_class(); mOpenCV::cLBPH::init_ruby_class(); mOpenCV::mGUI::init_ruby_module(); mOpenCV::mGUI::cWindow::init_ruby_class(); mOpenCV::mGUI::cTrackbar::init_ruby_class(); mOpenCV::mGUI::cMouseEvent::init_ruby_class(); #ifdef HAVE_ML_H /* feature support. mOpenCV::mMachineLearning::init_ruby_module(); */ #endif #ifdef HAVE_OPENCV2_NONFREE_NONFREE_HPP cv::initModule_nonfree(); #endif }