本文整理汇总了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;未经允许,请勿转载。 |
请发表评论