不保存任何图像。保存视频帧时
doesn't save any image.. when saving frames of a video
可能重复:
无法使用OpenCV 保存图像
我试过下面的代码,请看看这个,告诉我我做错了什么。但没有编译错误。运行程序后,它不会保存任何图像。
#include"stdafx.h"
#include<cv.h>
#include<highgui.h>
#include<cxcore.h>
int main(int argc, char* argv[]) {
int c=1;
IplImage* img=0;
char buffer[1000];
CvCapture* cv_cap=cvCaptureFromCAM(-1);
cvNamedWindow("Video",CV_WINDOW_AUTOSIZE);
while(1) {
img=cvQueryFrame(cv_cap);
cvShowImage("Video",img);
sprintf(buffer,"D:/image%u.jpg",c);
cvSaveImage(buffer,img);
c++;
if (cvWaitKey(100)== 27) break;
}
cvDestroyWindow("Video");
return 0;
}
你能告诉我如何保存图像吗?上面的程序不保存任何图像。请给我你的建议。谢谢。
IplImage *destination = cvCreateImage(cvSize( img->width, img->height ), IPL_DEPTH_8U,1);
cvCvtColor( img, destination, CV_RGB2GRAY );
cvSaveImage( "C:/Users/SP/Desktop/sample.jpg", destination );
它转换为灰色图像;根据需要使用它。
希望这能奏效。
可能是权限问题,只有管理员才能写入顶级文件夹
尝试创建一个子目录并写入例如sprintf(buffer,"D:/data/image%u.jpg",c);
我将在这些OpenCV帖子中第100次这样说:通过检查调用的返回来安全地代码。cvSaveImage()
保存图像失败返回0:
if (!(cvSaveImage(buffer,img))
{
std::cout << "!!! Failed to save image" << std::endl;
}
如果您看到显示的错误消息,您应该检查目标目录是否存在,以及您的用户是否有权在其中创建文件。
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 如何使用Qt多媒体和C++将.mp4视频从OpenGL纹理中保存出来
- Opencv 保存视频
- 使用 LIBVLC 保存视频
- 保存OpenGL物理模拟作为视频
- 在Ubuntu中使用VideOwriter(OpenCV)保存视频作为MP4时出错
- OpenCV 4.0 无法保存视频
- 视频编写器功能不会使用 OpenCV-3.0.0 保存文件
- 将视频文件的帧总数保存到.txt文件中
- OpenCV将视频保存到文件
- 如何将视频帧保存到缓冲区中
- 视频捕获并使用OpenCV保存
- visual如何在C++中将捕获的流媒体视频保存到avi文件中
- 保存帧时冻结视频程序
- 不保存任何图像。保存视频帧时
- 如何保存视频的任何帧