• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cvConvertImage函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: cvLoadImage

GameScreen::GameScreen(void)
{

	IplImage* tempOrange = cvLoadImage("monster.png");
	IplImage* tempPurple = cvLoadImage("monster purple.jpg");
	IplImage* tempGreen = cvLoadImage("monster green.jpg");
	IplImage* tempWand = cvLoadImage("wand.jpg");
	orangeMonster = cvCreateImage(cvSize(tempOrange->width, tempOrange->height), 8, 3);
	purpleMonster = cvCreateImage(cvSize(tempPurple->width, tempPurple->height), 8, 3);
	greenMonster = cvCreateImage(cvSize(tempGreen->width, tempGreen->height), 8, 3);
	wand = cvCreateImage(cvSize(tempWand->width, tempWand->height), 8, 3);
	cvConvertImage(tempOrange, orangeMonster);
	cvConvertImage(tempPurple, purpleMonster);
	cvConvertImage(tempGreen, greenMonster);
	cvConvertImage(tempWand, wand);

	cvReleaseImage(&tempOrange);
	cvReleaseImage(&tempPurple);
	cvReleaseImage(&tempGreen);
	cvReleaseImage(&tempWand);

	CreateScene();


}
开发者ID:a627414850,项目名称:green-magic-wand,代码行数:25,代码来源:GameScreen.cpp


示例2: cvConvertImage

/* Process a frame
 */
void Frame::processFrame( long int run_id )
{

	for (int i=0;i<_nImages;i++) {
		cvConvertImage(_grab_img[i],_tmp_img[i],0);
		cvCopyImage( _rotated_img[i], _copy_img[i] );
		rotateCW(_tmp_img[i],_rotated_img[i]);

		// resize and convert from 4-channel to 3-channel
		// (Ladybug outputs 4-channel images by default)
		cvResize(_rotated_img[i],_display_img[i]);
		cvConvertImage(_tmp_img[i],_grayscale_img[i],CV_RGB2GRAY);

		// save the image for debug
		if ( run_id > 0 ) {
			LOG(LEVEL_INFO, "saving image in %d_%d.bmp", run_id, i );
			char filename[256];
			sprintf( filename, "synthetic/%d_%d.bmp", run_id, i );
			cvSaveImage( filename, _tmp_img[i] );
		}
	}

	flipHorizontal(_display_img[5],temp_img); // flip image horizontally
	cvConvertImage(temp_img,_flipped_img,1); // flip image vertically
}
开发者ID:oakfr,项目名称:omni3d,代码行数:27,代码来源:frame.cpp


示例3: cvGrabFrame

void Capture::update()
{
    cvGrabFrame(m_capture);
    IplImage *frame = cvRetrieveFrame(m_capture); 

    TmpBufferImage btmp(CV_8UC3);
    
    if ( frame != NULL )
    {
        CvMat *mat = cvCreateMat(frame->height, frame->width, CV_8UC3);
        if ( m_invert )
        {
            CvMat *tmp = btmp.getImage(frame->width, frame->height);        
            
            cvConvertImage(frame, tmp, CV_CVTIMG_SWAP_RB);
            InvertImage(tmp, mat);            
        }
        else
        {
            
            cvConvertImage(frame, mat, CV_CVTIMG_SWAP_RB);
        }
        
        m_wpipe.write(mat);                                          
    }
}
开发者ID:flair2005,项目名称:ThunderVision,代码行数:26,代码来源:captureproc.cpp


示例4: cvConvertImage

//--------------------------------------------------------------
void testApp::keyPressed(int key){
	if(key=='s')
	{
		cvConvertImage(disp,disp, CV_CVTIMG_SWAP_RB);
		cvSaveImage("data/save.bmp", disp);
		cvConvertImage(disp,disp, CV_CVTIMG_SWAP_RB);
	}
}
开发者ID:ntavish,项目名称:Quad,代码行数:9,代码来源:testApp.cpp


示例5: cvQueryFrame

IplImage *query_frame(CvCapture *video, IplImage **frame_buffer, IplImage *current_frame) {
  IplImage *frame = cvQueryFrame(video);

  if (frame) {
    cvConvertImage(frame, current_frame, 0);

    IplImage *temp = frame_buffer[0];
    frame_buffer[0] = frame_buffer[1];
    frame_buffer[1] = temp;
    cvConvertImage(frame, frame_buffer[0], 0);
  }

  return frame;
}
开发者ID:JamieMagee,项目名称:IIB-Project,代码行数:14,代码来源:lucas-kanade-opencv.c


示例6: printf

IplImage *AVILibrary::aviGrabNextFrame(string fileName)
{
    printf("Grabbing next frame from %s\n", fileName.c_str());

    if (captureAVIInitialized == false) {
        aviInitialize(fileName);
        frameNumber=0;
        captureAVIInitialized = true;
    }

    if (frameNumber < captureAVIFrames) {
        cvSetCaptureProperty(captureAVI, CV_CAP_PROP_POS_FRAMES, frameNumber);

        IplImage *temp = cvQueryFrame(captureAVI);

        // this comes in as BGR, we have to flip it to RGB
        IplImage *ret = cvCreateImage(cvSize(temp->width, temp->height), IPL_DEPTH_8U, 3);

        cvConvertImage(temp, ret, CV_CVTIMG_SWAP_RB);

        frameNumber++;

        return ret;

    } else {

        return NULL;

    }

} // end aviGrabFrame
开发者ID:caomw,项目名称:tactical-visual-servoing,代码行数:31,代码来源:AVILibrary.cpp


示例7: cvCreateImage

bool FindTagNumber::Execute(IplImage *image){
	//	convert and get only red pixel
	IplImage*	redPixel = cvCreateImage(cvSize(image->width,image->height),8,1);
	IplImage*   hsvImage = cvCreateImage(cvSize(image->width,image->height),8,3);
	cvConvertImage(image,hsvImage,CV_BGR2HSV);


	for(int y=0;y<image->height;y++)
		for(int x=0;x<image->width;x++)		
		{
			// H
			if( ( ((uchar*)(hsvImage->imageData + hsvImage->widthStep*y))[x*3] < hlower 
				|| ((uchar*)(hsvImage->imageData + hsvImage->widthStep*y))[x*3] >= hupper )
				&& ((uchar*)(hsvImage->imageData + hsvImage->widthStep*y))[x*3+1] > sthreshold 
				&& ((uchar*)(hsvImage->imageData + hsvImage->widthStep*y))[x*3+2] > 70 )// S 
				((uchar*)(redPixel->imageData + redPixel->widthStep*y))[x] = 0;			
			else
				((uchar*)(redPixel->imageData + redPixel->widthStep*y))[x] = 255;	
		}

	cvShowImage("red only",redPixel);

	cvReleaseImage(&redPixel);
	cvReleaseImage(&hsvImage);
	
	return true;
}
开发者ID:mabaw,项目名称:3DRobotArm,代码行数:27,代码来源:FindTagNumber.cpp


示例8: cvGetSize

void CvvImage::CopyOf( IplImage* img, int desired_color )
{
	try
	{
		if (HG_IS_IMAGE(img))
		{
			int color = desired_color;
			CvSize size = cvGetSize(img);

			if (color < 0)
				color = img->nChannels > 1;

			if (Create(size.width, size.height,
				(!color ? 1 : img->nChannels > 1 ? img->nChannels : 3) * 8,
				img->origin))
			{
				cvConvertImage(img, m_img, 0);
			}
		}
	}
	catch (cv::Exception &exc)
	{
		char szLog[300] = { 0 };
		sprintf_s(szLog, "CvvImage::CopyOf error. detail: %s\n\n", exc.msg);
		TRACE(szLog);
	}
	catch (...)
	{
		char szLog[300] = { 0 };
		sprintf_s(szLog, "CvvImage::CopyOf error2. Unknown error.\n\n");
		TRACE(szLog);
	}
}
开发者ID:jf4210,项目名称:src,代码行数:33,代码来源:CvvImage.cpp


示例9: cvCreateImage

// TESTING ONLY
bool Classifier::showRect(IplImage *image, CObject *rect, const vector<CvSURFPoint> *pts) {
    //char *WINDOW_NAME = "test";
    CvFont font;

    IplImage *frameCopy = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
    cvConvertImage(image, frameCopy);
        
    cvNamedWindow("test", CV_WINDOW_AUTOSIZE);
    cvInitFont(&font, CV_FONT_VECTOR0, 0.75, 0.75, 0.0f, 1, CV_AA);
    
    if (pts != NULL) {
        CvScalar color = CV_RGB(255, 255, 255);
        for (int i = 0; i < (int)pts->size(); ++i) {
            //printf("(%f %f)->(%d %d) ", (*pts)[i].x, (*pts)[i].y, frameCopy->width, frameCopy->height);
            cvRectangle(frameCopy, cvPoint((*pts)[i].pt.x, (*pts)[i].pt.y), 
                cvPoint((*pts)[i].pt.x + 3, (*pts)[i].pt.y + 3), color);
        }
    }
    
    rect->draw(frameCopy, CV_RGB(255, 0, 255), &font);
        
    cvShowImage("test", frameCopy);
    cvReleaseImage(&frameCopy);

    return cvWaitKey(10) != -1;
}
开发者ID:rlcook0,项目名称:Yttrium,代码行数:27,代码来源:classifier.cpp


示例10: cvCreateCameraCapture

void MyDisplay::camera_negatif()
{
    capture = cvCreateCameraCapture(CV_CAP_ANY);
    while (1){
        frame = cvQueryFrame(capture);
        img_nvg = cvCreateImage(cvGetSize(frame), frame->depth, 1);

        //conversion en niveau de gris
        cvConvertImage(frame, img_nvg, 0);

        stretch_histogram_NVG(img_nvg);
        negatif(img_nvg);

        //frame = negatif(frame);
        cvShowImage("test", img_nvg);
        int key = cvWaitKey(1);
        if (key == 'q')
        {
            break;
        }
        else {
            //nothing to do
        }
    }
    cvReleaseCapture(&capture);

}
开发者ID:estei-master,项目名称:segment_SOL,代码行数:27,代码来源:mydisplay.cpp


示例11: CV_FUNCNAME

bool CvVideoWriter_VFW::writeFrame( const IplImage* image )
{
    bool result = false;
    CV_FUNCNAME( "CvVideoWriter_VFW::writeFrame" );

    __BEGIN__;

    if( !image )
        EXIT;

    if( !compressed && !createStreams( cvGetSize(image), image->nChannels > 1 ))
        EXIT;

    if( image->width != tempFrame->width || image->height != tempFrame->height )
        CV_ERROR( CV_StsUnmatchedSizes,
            "image size is different from the currently set frame size" );

    if( image->nChannels != tempFrame->nChannels ||
        image->depth != tempFrame->depth ||
        image->origin == 0 ||
        image->widthStep != cvAlign(image->width*image->nChannels*((image->depth & 255)/8), 4))
    {
        cvConvertImage( image, tempFrame, image->origin == 0 ? CV_CVTIMG_FLIP : 0 );
        image = (const IplImage*)tempFrame;
    }

    result = AVIStreamWrite( compressed, pos++, 1, image->imageData,
                             image->imageSize, AVIIF_KEYFRAME, 0, 0 ) == AVIERR_OK;

    __END__;

    return result;
}
开发者ID:12rohanb,项目名称:opencv,代码行数:33,代码来源:cap_vfw.cpp


示例12: cvImageWidgetSetImage

void cvImageWidgetSetImage(CvImageWidget * widget, const CvArr *arr){
	CvMat * mat, stub;
	int origin=0;

	//printf("cvImageWidgetSetImage\n");

	if( CV_IS_IMAGE_HDR( arr ))
		origin = ((IplImage*)arr)->origin;

	mat = cvGetMat(arr, &stub);

	if(widget->original_image && !CV_ARE_SIZES_EQ(mat, widget->original_image)){
		cvReleaseMat( &widget->original_image );
	}
	if(!widget->original_image){
		widget->original_image = cvCreateMat( mat->rows, mat->cols, CV_8UC3 );
		gtk_widget_queue_resize( GTK_WIDGET( widget ) );
	}
	cvConvertImage( mat, widget->original_image,
			                (origin != 0 ? CV_CVTIMG_FLIP : 0) + CV_CVTIMG_SWAP_RB );
	if(widget->scaled_image){
		cvResize( widget->original_image, widget->scaled_image, CV_INTER_AREA );
	}

	// window does not refresh without this
	gtk_widget_queue_draw( GTK_WIDGET(widget) );
}
开发者ID:AlexandreFreitas,项目名称:danfreve-blinkdetection,代码行数:27,代码来源:window_gtk.cpp


示例13: invert_image

void invert_image( IplImage* source, IplImage* result )
{
	// TO DO:  Write code to invert all points in the source image (i.e. for each channel for each pixel in the result
	//        image the value should be 255 less the corresponding value in the source image).

	 int width_step=source->widthStep;
	 int pixel_step=source->widthStep/source->width;
	 int number_channels=source->nChannels;
	 cvZero( result );
	 int row=0,col=0;

	 IplImage* grayscale_image= cvCloneImage(source);
	 cvZero(grayscale_image);
	 cvConvertImage(source,grayscale_image);
	 
	 for (row=0; row < result->height; row++)
	 {
		  for (col=0; col < result->width; col++)
		  {
			   unsigned char* curr_point = GETPIXELPTRMACRO( grayscale_image, col, row, width_step, pixel_step );
			   unsigned char* curr_point_temp = GETPIXELPTRMACRO( result, col, row, width_step, pixel_step );
			   curr_point_temp[0] =255-curr_point[0] ; 		//invert the pixel value
		  }
	 }
}
开发者ID:hahalaugh,项目名称:ComputerVision,代码行数:25,代码来源:road_signs.cpp


示例14: cvCreateVideoWriter

bool CaptureManager::SaveMovie(const char* avi)
{
	bool resize = false;
	CvSize newsize = size;
	if ( Preferences::GetSavingSizeOverride() && !cvSizeEquals(Preferences::GetSavingSize(), size) ){
		resize = true;
		newsize = Preferences::GetSavingSize();
	}
	CvVideoWriter* writer = cvCreateVideoWriter(avi,
		Preferences::GetSavingCodec(),
		Preferences::GetSavingFpsOverride() || !fps ? Preferences::GetSavingFpsDefault() : fps,
		newsize, 1);
	IplImage *resized;
	if (resize)
		resized = cvCreateImage(newsize,8,3);
	IplImage *frame_flip = cvCreateImage(newsize,8,3);
	wxProgressDialog progressDlg(_T("Saving movie..."), wxString::Format(_T("Frame 0 of %d"), frameCount),frameCount, NULL, wxPD_APP_MODAL|wxPD_ELAPSED_TIME|wxPD_REMAINING_TIME|wxPD_AUTO_HIDE);
	for (int i=0; i<frameCount; i++) {
		progressDlg.Update(i+1, wxString::Format(_T("Frame %d of %d"), i+1, frameCount));
		if (resize)
			cvResize(book[i*offset]->ToIplImage(), resized);
		else
			resized = book[i*offset]->ToIplImage();
		cvConvertImage( resized, frame_flip, CV_CVTIMG_SWAP_RB );
		cvWriteFrame(writer, frame_flip);
	}
	cvReleaseVideoWriter(&writer);
	cvReleaseImage(&frame_flip);
	frame_flip = NULL;
	if (resize)
		cvReleaseImage(&resized);
	return true;
}
开发者ID:p1r4nh4,项目名称:CellTrack,代码行数:33,代码来源:CaptureManager.cpp


示例15: cvReleaseImage

// установка изображений для сравнения
void OpticalFlowLK::setA(IplImage* src)
{
	if(!src)
		return;
	if(imgA!=0)
	{
		cvReleaseImage(&imgA);
		imgA=0;
	}
	if(eig_image!=0)
	{
		cvReleaseImage(&eig_image);
		cvReleaseImage(&tmp_image);
		eig_image=0;
		tmp_image=0;
	}
	imgA = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
	eig_image = cvCreateImage(cvGetSize(src), IPL_DEPTH_32F, 1);
	tmp_image = cvCreateImage(cvGetSize(src), IPL_DEPTH_32F, 1);

	if(!imgA || !eig_image || !tmp_image)
	{
		fprintf(stderr, "[!][OpticalFlowLK] Error: cant allocate memory!\n");
		return;
	}

	cvConvertImage(src, imgA, CV_BGR2GRAY);
}
开发者ID:Aadi2110,项目名称:openrobovision,代码行数:29,代码来源:optical_flow.cpp


示例16: wg

TDV_NAMESPACE_BEGIN

bool ImageReader::update()
{
    WriteGuard<ReadWritePipe<CvMat*> > wg(m_wpipe);
    
    if ( m_cImg < m_filenames.size() )
    {
        const std::string &filename(m_filenames[m_cImg++]);
        IplImage *img = cvLoadImage(filename.c_str());
    
        if ( img != NULL )
        {   
#if 0
            CvMat *mat = cvCreateMatHeader(img->height, img->width, CV_8UC3);
            mat = cvGetMat(img, mat);        
#else
            CvMat *mat = cvCreateMat(img->height, img->width, CV_8UC3);
            cvConvertImage(img, mat, CV_CVTIMG_SWAP_RB);
            cvReleaseImage(&img);
#endif
            wg.write(mat);
        }
        else
        {
            throw Exception(boost::format("can't open image: %1%")
                            % filename);
        }                    
    }

    return wg.wasWrite();
}
开发者ID:flair2005,项目名称:ThunderVision,代码行数:32,代码来源:imagereader.cpp


示例17: bline_image_set_visible

void
bline_image_set_visible (BlineImage *self, IplImage *image)
{
  GdkPixbuf *pixbuf;
  IplImage  *rgbimage;

  if (image == NULL)
    {
      gtk_image_clear (GTK_IMAGE (self));
      return;
    }

  rgbimage = cvCreateImage (cvSize (image->width, image->height),
                            image->depth, 3);

  cvConvertImage (image, rgbimage, 0);

  pixbuf = gdk_pixbuf_new_from_data ((const guchar *) rgbimage->imageData,
                                     GDK_COLORSPACE_RGB,
                                     FALSE,
                                     rgbimage->depth,
                                     rgbimage->width,
                                     rgbimage->height,
                                     rgbimage->widthStep,
                                     bline_image_release_pixbuf_ipl_image,
                                     (gpointer) rgbimage);

  gtk_image_set_from_pixbuf (GTK_IMAGE (self), pixbuf);

  g_object_unref (G_OBJECT (pixbuf));
}
开发者ID:ravishi,项目名称:bline,代码行数:31,代码来源:bline-image.c


示例18: main

int main( int argc, char** argv ) {
	cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
	CvCapture* capture = cvCaptureFromCAM(-1);
	IplImage* frame, *simplifiedFrame = NULL, *simplifiedFrame2 = NULL, *frame2 = NULL;
	CvMemStorage* storage = cvCreateMemStorage(0);
	CvSeq* lines = NULL;
	int i;

	if (capture == NULL) {
		printf("Oooops .. I'm screwed :-(\n");
		exit(-1);
	}

	while(1) {
		frame = cvQueryFrame( capture );
		if( !frame ) break;

		if (simplifiedFrame == NULL) {
			simplifiedFrame = cvCreateImage(cvSize(frame->width, frame->height), IPL_DEPTH_8U, 1);
		}

		if (simplifiedFrame2 == NULL) {
			simplifiedFrame2 = cvCreateImage(cvSize(frame->width, frame->height), IPL_DEPTH_8U, 1);
		}

		if (frame2 == NULL) {
			frame2 = cvCreateImage(cvSize(frame->width, frame->height), frame->depth, frame->nChannels);
		}

		cvConvertImage(frame, simplifiedFrame, 0);
		cvCanny(simplifiedFrame, simplifiedFrame2, 300 * 7 * 7, 400 * 7 * 7, 7);
		cvConvertImage(simplifiedFrame2, frame2, 0);
		cvAdd(frame, frame2, frame);
		cvShowImage( "Example2", frame );
		char c = cvWaitKey(33);
		if( c == 27 ) break;

	}

	cvReleaseImage(&frame);
	cvReleaseImage(&frame2);
	cvReleaseImage(&simplifiedFrame);
	cvReleaseImage(&simplifiedFrame2);
	cvReleaseMemStorage( &storage );
	cvReleaseCapture( &capture );
	cvDestroyWindow( "Example2" );
}
开发者ID:aismail,项目名称:sedemo2011,代码行数:47,代码来源:view-webcam.c


示例19: GetMaxColor

CvScalar GetMaxColor(const IplImage* img)
{
	CvScalar scalar;
	IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
	cvConvertImage(img,gray,CV_BGR2GRAY);
	return scalar;
	//cvGetSi
}
开发者ID:songshine,项目名称:LicensePlateRecognition,代码行数:8,代码来源:LPRotate.cpp


示例20: camera

IplImage* CvCaptureCAM_CMU::retrieveFrame()
{
    C1394Camera* cmucam = camera();
    if( !cmucam )
        return 0;
    cmucam->getRGB((uchar*)image->imageData, image->imageSize);
    cvConvertImage( image, image, CV_CVTIMG_SWAP_RB );
    return image;
}
开发者ID:caomw,项目名称:tactical-visual-servoing,代码行数:9,代码来源:cvcap_cmu.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cvConvertScale函数代码示例发布时间:2022-05-30
下一篇:
C++ cvContourArea函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap