当前位置: 首页>>代码示例>>C++>>正文


C++ cvLoad函数代码示例

本文整理汇总了C++中cvLoad函数的典型用法代码示例。如果您正苦于以下问题:C++ cvLoad函数的具体用法?C++ cvLoad怎么用?C++ cvLoad使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cvLoad函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: camera_control_read_calibration

void
camera_control_read_calibration(CameraControl* cc,
        char* intrinsicsFile, char* distortionFile)
{
    CvMat *intrinsic = (CvMat*) cvLoad(intrinsicsFile, 0, 0, 0);
    CvMat *distortion = (CvMat*) cvLoad(distortionFile, 0, 0, 0);

    if (cc->mapx) {
        cvReleaseImage(&cc->mapx);
    }
    if (cc->mapy) {
        cvReleaseImage(&cc->mapy);
    }

    if (intrinsic && distortion) {
        if (!cc->frame3chUndistort) {
            cc->frame3chUndistort = cvCloneImage(
                    camera_control_query_frame(cc));
        }

        int width, height;
        get_metrics(&width, &height);

        cc->mapx = cvCreateImage(cvSize(width, height), IPL_DEPTH_32F, 1);
        cc->mapy = cvCreateImage(cvSize(width, height), IPL_DEPTH_32F, 1);

        cvInitUndistortMap(intrinsic, distortion, cc->mapx, cc->mapy);

        // TODO: Shouldn't we free intrinsic and distortion here?
    } else {
        fprintf(stderr, "Warning: No lens calibration files found.\n");
    }
}
开发者ID:fredoliveira,项目名称:psmoveapi,代码行数:33,代码来源:camera_control.c

示例2: printf

// инициализация данных для устранения дисторсии
void BaseVideoCapture::initUndistortion(const char* _intrinsics, const char* _distortion)
{
	if(!frame)
		return;

	if(!_intrinsics || !_distortion)
	{
		printf("[!][BaseVideoCapture] Error: empty filename!\n");
		return;
	}
	
	//
	// загрузка из файлов 
	//
	// калибровочные коэффициенты
	intrinsic = (CvMat*)cvLoad( _intrinsics );
	// коэффициенты дисторсии
	distortion = (CvMat*)cvLoad( _distortion );

	mapx = cvCreateImage( cvGetSize( frame ), IPL_DEPTH_32F, 1 );
	mapy = cvCreateImage( cvGetSize( frame ), IPL_DEPTH_32F, 1 );
	//
	// создание карты для устранения дисторсии
	cvInitUndistortMap( intrinsic, distortion, mapx, mapy );

	// картинка для сохранения исправленной картинки
	undist = cvCloneImage(frame);
}
开发者ID:Aadi2110,项目名称:openrobovision,代码行数:29,代码来源:video_capture.cpp

示例3: cvReleaseMat

bool ProjectionModel::loadData()
{
    if(intrinsic_matrix != 0)
    {
        cvReleaseMat(&intrinsic_matrix);
    }

    if(distortion_coeffs != 0)
    {
        cvReleaseMat(&distortion_coeffs);
    }

    string intrinsicsPath = path;
    intrinsicsPath.append("intrinsics.xml");

    string distortionPath = path;
    distortionPath.append("distortion.xml");

    intrinsic_matrix = (CvMat*)cvLoad(intrinsicsPath.c_str());
    distortion_coeffs = (CvMat*)cvLoad(distortionPath.c_str());

    if(intrinsic_matrix == 0)
    {
        cout << path.append("intrinsics.xml").c_str() << " not found" << endl;
        return false;
    }

    if(distortion_coeffs == 0)
    {
        cout << path.append("distortion.xml").c_str() << " not found" << endl;
        return false;
    }

    return true;
}
开发者ID:mp3guy,项目名称:PAC7302,代码行数:35,代码来源:ProjectionModel.cpp

示例4: main

int main(int argc, char* argv[]) {

	CvHaarClassifierCascade *pCascadeFrontal = 0, *pCascadeProfile = 0;	
	CvMemStorage *pStorage = 0;	
	CvSeq *pFaceRectSeq;
	int i;

	IplImage *pInpImg = cvLoadImage("D:/²âÊÔ/test6.2/6.jpg", CV_LOAD_IMAGE_COLOR);
	pStorage = cvCreateMemStorage(0);

	pCascadeFrontal = (CvHaarClassifierCascade *) cvLoad ("D:/²âÊÔ/test6.2/haarcascade/haarcascade_frontalface_default.xml",0,0,0);
	pCascadeProfile = (CvHaarClassifierCascade *) cvLoad ("D:/²âÊÔ/test6.2/haarcascade/haarcascade_profileface.xml",0,0,0);

	if (!pInpImg || !pStorage || !pCascadeFrontal || !pCascadeProfile) {
		printf("L'initilisation a echoue");
		exit(-1);
	}

	cvNamedWindow("Fenetre de Haar", CV_WINDOW_NORMAL);
	cvShowImage("Fenetre de Haar", pInpImg);
	cvWaitKey(50);

	pFaceRectSeq = cvHaarDetectObjects
		(pInpImg, pCascadeFrontal, pStorage,1.1,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(0, 0));	

	for (i=0 ; i < (pFaceRectSeq ? pFaceRectSeq->total : 0) ; i++) {
		CvRect* r = (CvRect*)cvGetSeqElem(pFaceRectSeq, i);
		CvPoint pt1 = { r->x, r->y };
		CvPoint pt2 = { r->x + r->width, r->y + r->height };
		cvRectangle(pInpImg, pt1, pt2, CV_RGB(0,255,0), 3, 4, 0);
		cvSetImageROI(pInpImg, *r);
		cvSmooth(pInpImg, pInpImg, CV_GAUSSIAN, 5, 3);
		cvResetImageROI(pInpImg);
	}
	cvShowImage("Fenetre de Haar", pInpImg);
	cvWaitKey(1);
	//²àÁ³
	pFaceRectSeq = cvHaarDetectObjects
		(pInpImg, pCascadeProfile, pStorage,
		1.4,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(0, 0));

	for (i=0 ; i < (pFaceRectSeq ? pFaceRectSeq->total : 0) ; i++) {
		CvRect* r = (CvRect*)cvGetSeqElem(pFaceRectSeq, i);
		CvPoint pt1 = { r->x, r->y };
		CvPoint pt2 = { r->x + r->width, r->y + r->height };
		cvRectangle(pInpImg, pt1, pt2, CV_RGB(255,165,0), 3, 4, 0);
		cvSetImageROI(pInpImg, *r);
		cvSmooth(pInpImg, pInpImg, CV_GAUSSIAN, 5, 3);
		cvResetImageROI(pInpImg);
	}

	cvShowImage("Fenetre de Haar", pInpImg);
	cvWaitKey(0);
	cvDestroyWindow("Fenetre de Haar");

	cvReleaseImage(&pInpImg);
	if (pCascadeFrontal) cvReleaseHaarClassifierCascade(&pCascadeFrontal);
	if (pCascadeProfile) cvReleaseHaarClassifierCascade(&pCascadeProfile);
	if (pStorage) cvReleaseMemStorage(&pStorage);
}
开发者ID:Mrzhy,项目名称:test6.2,代码行数:60,代码来源:test6.2.cpp

示例5: camera_control_read_calibration

void
camera_control_read_calibration(CameraControl* cc,
        char* intrinsicsFile, char* distortionFile)
{
    CvMat *intrinsic = (CvMat*) cvLoad(intrinsicsFile, 0, 0, 0);
    CvMat *distortion = (CvMat*) cvLoad(distortionFile, 0, 0, 0);

    if (cc->mapx) {
        cvReleaseImage(&cc->mapx);
    }
    if (cc->mapy) {
        cvReleaseImage(&cc->mapy);
    }

    if (intrinsic && distortion) {
        if (!cc->frame3chUndistort) {
            enum PSMove_Bool new_frame;
            cc->frame3chUndistort = cvCloneImage(
                    camera_control_query_frame(cc, NULL, NULL, &new_frame));
        }
        int width, height;
        get_metrics(&width, &height);
        cc->mapx = cvCreateImage(cvSize(width, height), IPL_DEPTH_32F, 1);
        cc->mapy = cvCreateImage(cvSize(width, height), IPL_DEPTH_32F, 1);
        cvInitUndistortMap(intrinsic, distortion, cc->mapx, cc->mapy);
        cc->focl_x = CV_MAT_ELEM(*intrinsic, float, 0, 0);
        cc->focl_y = CV_MAT_ELEM(*intrinsic, float, 1, 1);

        // TODO: Shouldn't we free intrinsic and distortion here?
    } else {
开发者ID:bagobor,项目名称:psmoveapi,代码行数:30,代码来源:camera_control.c

示例6: verbose_

CCamera::CCamera(std::string &img_path, bool color, int imgIdx, std::string &intrinsic, std::string &distortion, std::string &imgext)
  : verbose_(false)
  , cam_type_(CAM_SEQ)
{
  // load saved images from disk
  m_strImgPath  = img_path;
  color_        = color;
  m_nImgIdx     = imgIdx+1;
  intrinsic_    = (CvMat*)cvLoad(intrinsic.c_str());
  distortion_   = (CvMat*)cvLoad(distortion.c_str());
  img_ext_      = imgext;

  // Check the image resolution and save it
  std::stringstream ss;
  ss << m_strImgPath << "/" << /*"img" << */std::setw(4) << std::setfill('0') << m_nImgIdx << "." << img_ext_;
  std::cout<<ss.str().c_str()<<std::endl;
  IplImage* image = cvLoadImage(ss.str().c_str(), color_ ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE);
  width_ = image->width;
  height_ = image->height;
  std::cout << "image resolution: (" << width_ << ", " << height_ << ")" << std::endl;

  img_mapx_ = NULL;
  img_mapy_ = NULL;
  img_input_ = NULL;
}
开发者ID:Barbakas,项目名称:object_tracking_2D,代码行数:25,代码来源:Camera.cpp

示例7: cvCreateMemStorage

ReturnType IPEL_Haar2FaceEyeDetectionComp::onStart()
{
	_cascade_f = 0;
	_cascade_e = 0;
	_storage = 0;

	if( !_cascade_f ) {
		_cascade_f = (CvHaarClassifierCascade*)cvLoad( cascade_face_name, 0, 0, 0 );
		if(!_cascade_f) printf("Can not load %s\n",cascade_face_name);
	}
	if( !_cascade_e ) {
		_cascade_e = (CvHaarClassifierCascade*)cvLoad( cascade_eye_name, 0, 0, 0 );
		if(!_cascade_e) printf("Can not load %s\n",cascade_eye_name);
	}
	if( !_storage ) {
		_storage = cvCreateMemStorage(0);	
	}

	if( !_cascade_f || !_cascade_e || !_storage )
		return OPROS_CALLER_ERROR;


	PrintMessage ("SUCCESS : IPEL_Haar2FaceEyeDetectionComp::onStart()\n");
	return OPROS_SUCCESS;
}
开发者ID:opros-wiki,项目名称:OPRoS_v1_Components,代码行数:25,代码来源:IPEL_Haar2FaceEyeDetectionComp.cpp

示例8: init

bool vpProcess::init()
{
	haarLeft = (CvHaarClassifierCascade*)cvLoad(VP_EYEHAARL, 0, 0, 0);
	haarRight = (CvHaarClassifierCascade*)cvLoad(VP_EYEHAARR, 0, 0, 0);
	haarBoth = (CvHaarClassifierCascade*)cvLoad(VP_EYEHAARB, 0, 0, 0);

	storage = cvCreateMemStorage(0);

	return (haarLeft != NULL && haarRight != NULL && haarBoth != NULL);
}
开发者ID:tszalay,项目名称:viewpad,代码行数:10,代码来源:vpProcess.cpp

示例9: setCascadeName

int faceDetector::setCascadeName(char *name)
{
  if( !(cvLoad( name, 0, 0, 0 )) )
    return -1;

  cascadeName = name;
  cascade = (CvHaarClassifierCascade*)cvLoad( cascadeName, 0, 0, 0 );

  return 0;
}
开发者ID:cou929,项目名称:pointing,代码行数:10,代码来源:faceDetector.cpp

示例10: sprintf

bool CalibrationLoader::loadAllCalibrationFiles(){
	char temp[1024];
	CvMat* tempMat;
	string calibPath = BEINGTHERE_ROOT_DIR + "resources/multi-cam/calib";
	//string calibPath = "C:/Logs/PCL/data/calib";

	for(int i = 0; i < NUM_CAM; i++) {
		sprintf(temp, "%s/cam_rgb_k%s.xml",calibPath.c_str(), kinect[i].c_str());

		tempMat = (CvMat*)cvLoad(temp, NULL, NULL, NULL);
		intrinMat[i] = cv::Mat(tempMat);

		intrisic[i].fx = intrinMat[i].at<float>(0, 0);
		intrisic[i].fy = intrinMat[i].at<float>(1, 1);
		intrisic[i].cx = intrinMat[i].at<float>(0, 2);
		intrisic[i].cy = intrinMat[i].at<float>(1, 2);

		//Load Distortion
		sprintf(temp, "%s/distort_rgb_k%s.xml",calibPath.c_str(), kinect[i].c_str());

		tempMat = (CvMat*)cvLoad(temp, NULL, NULL, NULL);
		distortMat[i] = cv::Mat(tempMat);
	} 

	//Load Extrinsic Params
	for(int i=0; i<NUM_CAM; ++i){
		if(kinect_parent[i].compare("-1") != 0) {

			sprintf(temp, "%s/rot_k%s_k%s.xml", calibPath.c_str(), kinect_parent[i].c_str(), kinect[i].c_str());
			tempMat = (CvMat*)cvLoad(temp, NULL, NULL, NULL);
			extrinMatR[i] = cv::Mat(tempMat);

			//Convert To Mat33 Types
			for(int x = 0; x < 3; x++){
				extrinsicR[i].data[x].x = extrinMatR[i].at<float>(x, 0);
				extrinsicR[i].data[x].y = extrinMatR[i].at<float>(x, 1);
				extrinsicR[i].data[x].z = extrinMatR[i].at<float>(x, 2);
			}

			//Load Extrinsic T To cv::Mat
			sprintf(temp, "%s/trans_k%s_k%s.xml",calibPath.c_str(), kinect_parent[i].c_str(), kinect[i].c_str());
			tempMat = (CvMat*)cvLoad(temp, NULL, NULL, NULL);
			extrinMatT[i] = cv::Mat(tempMat);
			extrinMatT[i] /= 100.f;

			//Convert cv::Mat to float3
			extrinsicT[i].x = extrinMatT[i].at<float>(0);
			extrinsicT[i].y = extrinMatT[i].at<float>(1);
			extrinsicT[i].z = extrinMatT[i].at<float>(2);
		}
	}

	return true;
}
开发者ID:hiepkhach7488,项目名称:BeingThere,代码行数:54,代码来源:calibration_loader.cpp

示例11: kmeans

bool Classifier::kmeans(DataSet *data) 
{
    cout << "------------------------------------------" << endl;
    cout << "\t\tK-Means" << endl;
    
    if (kmeans_load)
    {
        cout << "Loading..." << endl;
        
        centers = (CvMat *)cvLoad("centers.dat");
        data->samples = (CvMat *)cvLoad("samples.dat");
        data->responses = (CvMat *)cvLoad("responses.dat");
        data->centers = centers;
        
        cout << "Loaded Successfully" << endl;
        return true;
    }
    
    CvMat *desc = data->kmeans_input();
    data->clusters = cvCreateMat(data->num_samples, 1, CV_32SC1);
    centers = cvCreateMat(num_clusters, SURF_SIZE, CV_32FC1);
    data->centers = centers;
    
    cout << "Running with k = " << num_clusters << endl;
    flush(cout);
    
    cvKMeans2(
        desc,           // samples
        num_clusters,   // clusters
        data->clusters, // labels
        cvTermCriteria(
            CV_TERMCRIT_EPS|CV_TERMCRIT_ITER, // End criteria
            10,                               // Max iter
            0.1),                             //accuracy
        1,              // attempts
        &rng,           //rng
        0,              // flags
        centers,        // centers
        NULL            // compactness
    );
    
    if (kmeans_save) 
    {
        cvSave("centers.dat", centers);
        cvSave("samples.dat", data->cluster_samples() );
        cvSave("responses.dat", data->cluster_responses() );
        cout << "Saved!" << endl;
    }
    
    cvReleaseMat(&desc);
    data->to_kmeans = NULL;
    
    return true;
}
开发者ID:rlcook0,项目名称:Yttrium,代码行数:54,代码来源:classifier.cpp

示例12: cvCreateMemStorage

ObjectDetect::ObjectDetect(const char *haarCascadePath)
{
	m_objects = NULL;
	m_image = NULL;
	storage = cvCreateMemStorage(0);

	if (!haarCascadePath) {
        m_haarCascade = (CvHaarClassifierCascade *) cvLoad(HAARCASCADE);
	} else {
		m_haarCascade = (CvHaarClassifierCascade *) cvLoad(haarCascadePath);
	}
}
开发者ID:rbbrnc,项目名称:krbkACD,代码行数:12,代码来源:ObjectDetect.cpp

示例13: printf

void Camera::loadHomography(const char* homographyFile,
		const char* inverseFile)
{
    if((homography = (CvMat*) cvLoad(homographyFile)) == NULL)
    {
        printf("Error loading %s\n", homographyFile);
    }
    if((inverse = (CvMat*) cvLoad(inverseFile)) == NULL)
    {
        printf("Error loading %s\n", inverseFile);
    }
}
开发者ID:joshuaeckroth,项目名称:AgileIntelligence,代码行数:12,代码来源:Camera.cpp

示例14: Calibrator

  Calibrator() : ROS_Slave()
  {
    register_sink(image_in = new FlowImage("image_in"), ROS_CALLBACK(Calibrator, image_received));
    codec_in = new ImageCodec<FlowImage>(image_in);

    register_source(image_out = new FlowImage("image_out"));
    codec_out = new ImageCodec<FlowImage>(image_out);

    register_sink(observe = new FlowPTZActuatorNoSub("observe"), ROS_CALLBACK(Calibrator, ptz_received));
    register_source(control = new FlowPTZActuatorNoSub("control"));
    register_sink(key = new FlowSDLKeyEvent("key"), ROS_CALLBACK(Calibrator, key_received));

    register_with_master();

    cvimage_in = cvCreateMatHeader(480, 704, CV_8UC3);
    cvimage_out = cvCreateMatHeader(480, 704, CV_8UC3);

    cvimage_bgr = cvCreateMat(480, 704, CV_8UC3);
    cvimage_undistort = cvCreateMat(480, 704, CV_8UC3);

    if ((intrinsic_matrix = (CvMat*)cvLoad("intrinsic.dat")) == 0) {
      intrinsic_matrix  = cvCreateMat( 3, 3, CV_32FC1 );
    }

    if ((distortion_coeffs = (CvMat*)cvLoad("distortion.dat")) == 0) {
      distortion_coeffs = cvCreateMat( 4, 1, CV_32FC1 );
    }

    matToScreen(intrinsic_matrix, "intrinsic");
    matToScreen(distortion_coeffs, "distortion");    

    calibrated = false;
    undistort = false;
    centering = false;
    take_pic = false;
    img_cnt = 0;

    time_t rawtime;
    struct tm* timeinfo;
    time(&rawtime);
    timeinfo = localtime(&rawtime);

    sprintf(dir_name, "images/%.2d%.2d%.2d_%.2d%.2d%.2d", timeinfo->tm_mon + 1, timeinfo->tm_mday,timeinfo->tm_year - 100,timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);

    if (mkdir(dir_name, 0755)) {
      std::cout << "Failed to make directory: " << dir_name;
    }

    last_corners = new CvPoint2D32f[12*12];
    
  }
开发者ID:goretkin,项目名称:kwc-ros-pkg,代码行数:51,代码来源:calibrator.cpp

示例15: cascade_name

ImgProcessing::ImgProcessing() : cascade_name("haarcascade_frontalface.xml") {
	// Load classifier for face detection
	cascade = (CvHaarClassifierCascade*)cvLoad(cascade_name, 0, 0, 0 );

	// Allocate the memory storage
	storage = cvCreateMemStorage(0);
}
开发者ID:HVisionSensing,项目名称:Emotion_Recognition,代码行数:7,代码来源:imgProcessing.cpp


注:本文中的cvLoad函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。