因为竞争对手有界面,所以我们也要做界面.................
选择了qt做界面,毕竟Linux下可选的不多。
OpenCV 用来处理视频流,还好不用处理音频,不然还要加上FFmpeg了。
Qt使用QLabel显示图片,用定时器刷新。
中间遇到了图像显示扭曲,和颜色不正确问题。
OpenCV中颜色是BGR,Qt中是RGB 需要用cvtColor转换一下;
另一点是QImage初始化,要对齐
qimg = QImage((const uchar*)(mat.data), //(const unsigned char*)
mat.cols,mat.rows,
mat.cols*mat.channels(), //new add
QImage::Format_RGB888);
代码:
main.cpp
#include "mainwin.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWin w;
w.show();
return a.exec();
}
mainwin.cpp
#include "mainwin.h"
#include "ui_mainwin.h"
#include "iostream"
#include
using namespace cv;