opencv1.0+vc++图像处理CV_IMWRITE_JPEG_QUALITY没定义?

问题描述

opencv1.0+vc++图像处理CV_IMWRITE_JPEG_QUALITY没定义?

在做图像处理时,保存图片时显示出错,没定义,代码如下:
#include "stdafx.h"
#include "highgui.h"
#include "cxcore.h"
#include "cv.h"
#include "iostream.h"

int main()

{

CvCapture* capture = cvCaptureFromCAM(0);

CvVideoWriter* video = NULL;

IplImage* frame = NULL;

IplImage* pSaveFrame = NULL;

char filename[20];
int i = 0;
int p[3];
p[0] = CV_IMWRITE_JPEG_QUALITY;
p[1] = 255;  //质量值
p[2] = 255;  

int n;
if (!capture) //如果不能打开摄像头给出警告
{
    cout << "Can not open the camera." << endl;
    return -1;
}
else
{
    frame = cvQueryFrame(capture); //首先取得摄像头中的一帧
    video = cvCreateVideoWriter("camera.avi",
        CV_FOURCC('X','V','I','D'),
        25,
        cvSize(frame->width, frame->height)); //创建CvVideoWriter对象并分配空间  

    //保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32
    if (video) //如果能创建CvVideoWriter对象则表明成功
    {
        cout << "VideoWriter has created." << endl;
    }
    cvNamedWindow("Camera Video", 1); //新建一个窗口
    while (i<200)
    {
        frame = cvQueryFrame(capture); //从CvCapture中获得一帧  

        if (!frame)
        {
            cout << "Can not get frame from the capture." << endl;
            break;
        }  

        n = cvWriteFrame(video, frame); //判断是否写入成功,如果返回的是1,表示写入成功
        cout << n << endl;  

        cvShowImage("Camera Video", frame); //显示视频内容的图片  

        pSaveFrame = cvCreateImage(cvSize(frame->width, frame->height),
            frame->depth,
            frame->nChannels);
        sprintf(filename, "%d.jpg", i);
        i++;
        cvResize(frame, pSaveFrame, CV_INTER_LINEAR);
        cvSaveImage("F://zhao.jpg", pSaveFrame);
        cvReleaseImage(&pSaveFrame);  

        if (cvWaitKey(1)>0) break; //有其他键盘响应,则退出
    }
    cvReleaseVideoWriter(&video);
    cvReleaseCapture(&capture);
    cvDestroyWindow("Camera Video");
}
return 0;
    求大神帮忙

解决方案

p[0] = CV_IMWRITE_JPEG_QUALITY;

p[1] = 255; //质量值

p[2] = 255;

这三个东西你在哪里用到的?

时间: 2025-01-27 16:49:17

opencv1.0+vc++图像处理CV_IMWRITE_JPEG_QUALITY没定义?的相关文章

OPENCV1.0配置VS2010有没有一劳永逸的方法呢?

问题描述 OPENCV1.0配置VS2010有没有一劳永逸的方法呢? OPENCV1.0配置VS2010有没有一劳永逸的方法呢?,每次新建个项目都要重新配置好麻烦,求一种一次配置长久使用的方法 解决方案 创建VS的工程property sheet配置文件,然后配置好opencv,以后的工程都从这个模板继承

c语言问题-大家好,下面这段程序在vc6.0中编译时没错误,但却运行不起来。麻烦帮看一下

问题描述 大家好,下面这段程序在vc6.0中编译时没错误,但却运行不起来.麻烦帮看一下 #include #include int main() { int shu,shang,i,yushu; int a[16]={0}; clrscr(); printf("shu ru yi ge shu shi jin zhin "); scanf("%d",shu); for(i=0;i { yushu=shu%2; shang=shu/2; a[i]=yushu; shu

mfc opencv-MFC中使用opencv1.0同时打开三个摄像头时出错

问题描述 MFC中使用opencv1.0同时打开三个摄像头时出错 可以同时打开两个,但是当打开第三个的时候,就会发生错误,显示的错误信息(XP上)是:程序出错,需要进行调试.开始以为是三个摄像头的设备号(PID/VID)相同导致,采用的解决方案是在注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlusbflags中添加,GlobalDisableSerNumGen=hex:01和IgnoreHWSerNum=hex:01两项,但是问题依然无法解

在vc.net2005中如何定义一个抽象类?

问题描述 我在vc.net2005中定义了一个Node抽象类,并定义了一个ProgramNode类继承这个Node类,在ProgramNode中实现了display()方法,但是一编译就提示一堆错误,希望高手解答publicrefclassNode{public:virtualvoiddisplay()=0;};#include"Node.h"refclassProgramNode:publicNode{public:ProgramNode(void){}overridevoiddis

Scilab Image Processing Toolbox 0.6.0发布 图像处理工具

Scilab Image Processing Toolbox 是一款为SciLab提供了图像处理.http://www.aliyun.com/zixun/aggregation/12097.html">模式识别和计算机视觉程序的工具箱,类似于Matlab的矩阵面向对象编程环境.它能够读取/写入大约90多个主要格式的图像,包括JPEG,PNG,BMP,GIF,FITS和TIFF.其一般功能还包括过滤,分割,边缘检测,形态学,曲率,分形维数,距离变换,多尺度骨架,等等. Scilab Ima

Aspose.Imaging for .NET 1.5.0发布 图像处理组件

Aspose.Imaging for http://www.aliyun.com/zixun/aggregation/13480.html">.NET 是一款图像处理组件,它能够在.NET 应用程序中创建.编辑.绘制或图像转换.它支持将图像文件转换成PSD.BMP.JPEG.PNG.TIFF和GIF格式. Aspose.Imaging for .NET 使用一套画笔和字体来绘制图像或添加新的元素和文字到现有的图像中,支持Web和Windows应用程序,以及Silverlight平台. As

Scilab Image Processing Toolbox 0.8.0发布 图像处理工具

Scilab Image Processing Toolbox 是一款为SciLab提供了图像处理.http://www.aliyun.com/zixun/aggregation/12097.html">模式识别和计算机视觉程序的工具箱,类似于Matlab的矩阵面向对象编程环境.它能够读取/写入大约90多个主要格式的图像,包括JPEG,PNG,BMP,GIF,FITS和TIFF.其一般功能还包括过滤,分割,边缘检测,形态学,曲率,分形维数,距离变换,多尺度骨架,等等. Scilab Ima

PHP 5.0对象模型深度探索之定义一个类

当你声明一个类,你需要列出对象应有的所有变量和所有函数-被称为属性和方法.列表1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数.列表2中显示了如何在一个类中定义三个属性和两个方法. 列表1 class Name extends Another Class { Access Variable Declaration Access Function Declaration } 列表2 //定义一个跟踪用户的类 class User { //属性 public $name; pr

从“XX\Microsoft Visual Studio 9.0\VC\bin\cl.exe”返回)

问题描述 从"XXMicrosoft Visual Studio 9.0VCincl.exe"返回) 我原来有一个项目是使用VS2005开发的,现在转换成使用vs2008,但是编译的时候一直报: 错误的结果 1 (从"C:Program FilesMicrosoft Visual Studio 9.0VCincl.exe"返回) 这个错误,别的转换项目不会报这个错误,有没有大神指导一下! 解决方案 (从"C://Program Files//Microso