从网络摄像头重复捕获图像并使用FTP发送图像

时间:2014-06-11 15:18:47

标签: c++ linux opencv ftp qt4

我想创建一个设置为重复的功能,所以每当我执行该功能时,程序会捕获两个图像并通过FTP将图像发送到Android智能手机。当我再次执行时,程序会捕获两个新图像并发送它们。

捕获过程有效,可以根据需要成功捕获图像。问题是向Android发送过程。

以下是代码:

QString nama = QString("webcam_capture_%1.jpg") .arg(QString::number(x));
imwrite(nama.toStdString(),leftcam);
file->setFileName(nama);
file->open(QFile::ReadOnly);
file2->open(QFile::ReadOnly);
ftp->put(file2,"text.txt");
ftp->put(file,nama);

x++;

sleep(2);

cap>>leftcam;

nama = QString("webcam_capture_%1.jpg") .arg(QString::number(x));
imwrite(nama.toStdString(),leftcam);
file3->setFileName(nama);
file3->open(QFile::ReadOnly);
ftp->put(file3,nama);
x++;

这是工作代码,但我手动命名图片。

imwrite("webcam_capture_0.jpg",leftcam);
cout<<"sending"<<endl;
file->setFileName("webcam_capture_0.jpg");
file2->setFileName("warningxx.txt");
file->open(QFile::ReadOnly);
file2->open(QFile::ReadOnly);
ftp->put(file2,"text.txt");
ftp->put(file,"webcam_capture_0.jpg");

sleep(2);

cap>>leftcam;

imwrite("webcam_capture_1.jpg",leftcam);
file3->setFileName("webcam_capture_1.jpg");
file3->open(QFile::ReadOnly);
ftp->put(file3,"webcam_capture_1.jpg");

我的问题是,为什么第一个功能不起作用?该程序捕获图像但不将图像(和文本)发送到Android智能手机。基于此QFTP class reference

int put ( QIODevice * dev, const QString & file, TransferType type = Binary )
int put ( const QByteArray & data, const QString & file, TransferType type = Binary )

const QString &file,第一个函数的文件名已经在QString上。

我该如何解决问题?

我使用的是Qt 4.8.2。 Linux操作系统。 Cubieboard 2 ARM MiniPC。

0 个答案:

没有答案