Ho questo segnale nel mio progetto;Impossibile emettere segnale in Android
void sendImage(cv::Mat &imgMat, QImage &imgQImage);
progetto compila sia Mingw e Visual Studio, ma quando provo a costruire per Android, ottengo "Errore: nessuna funzione di corrispondenza per chiamata a ImageReader :: sendImage (cv :: Mat &, QImage)" Errore .
Ho testato il mio file pro su un progetto diverso, provare clean/run qmake/clean/rebuild, rimuovere cv :: Mat dal segnale ma niente ha funzionato.
Quale può essere il problema?
Modifica;
#ifndef READERMANAGERQMLINTERFACE_H
#define READERMANAGERQMLINTERFACE_H
#include <QObject>
#include <QDebug>
#include "readermanager.h"
class ReaderManagerQMLInterface : public QObject
{
Q_OBJECT
public:
explicit ReaderManagerQMLInterface(QObject *parent = 0);
~ReaderManagerQMLInterface();
readerManager rManager;
private:
signals:
void reqIm();
public slots:
void sendImage(QImage &imgQImage);
};
#endif // READERMANAGERQMLINTERFACE_H
imageReader;
#ifndef IMAGEREADER_H
#define IMAGEREADER_H
#include <QObject>
#include <QImage>
#include <QDebug>
#include <QThread>
#include <QDir>
#include <QFile>
#include <opencv/cv.h>
class imageReader : public QObject
{
Q_OBJECT
public:
explicit imageReader(QObject *parent = 0);
~imageReader();
imgHelpers imHelpers;
signals:
void sendImage(QImage &imgQImage);
public slots:
void requestImage();
void setFrame(int frameID);
void loadImage(QString fileName);
}
sto emettendo segnali come questo; (nel caso in cui la mia funzione mat2Image causa il problema, ho provato entrambi)
void imageReader::requestImage()
{
images.at(currentImageID).copyTo(this->currentImage);
processImage(currentImage);
emit sendImage(imHelpers.mat2Image(this->currentImage));
//emit sendImage(QImage("d:/test.bmp"));
}
Potresti pubblicare il codice completo della definizione della classe? – Tay2510
@ Tay2510; Ho aggiornato con la definizione. – bmeric
Penso che 'imageReader' è la classe che dovresti fornire con il codice. – Tay2510