最近想用qt做一个摄像头的界面,于是通过halcon调用摄像头,在导出到c++代码。
以下是导出的cpp文件的action函数
// Local iconic variables
HObject ho_Image;
// Local control variables
HTuple hv_AcqHandle;
//Image Acquisition 01: Code generated by Image Acquisition 01
OpenFramegrabber("DirectShow", 1, 1, 0, 0, 0, 0, "default", 8, "rgb", -1, "false",
"default", "[0] USB Camera", 0, -1, &hv_AcqHandle);
GrabImageStart(hv_AcqHandle, -1);
while (0 != 1)
{
GrabImageAsync(&ho_Image, hv_AcqHandle, -1);
//Image Acquisition 01: Do something
}
CloseFramegrabber(hv_AcqHandle);
将此代码复制进qt程序中,我们需要先配置qt的halcon环境,参考我的上一篇博客:
链接: https://blog.youkuaiyun.com/Philloasd/article/details/106366474
在Qt creator中新建一个label以及两个putton控件
mainwindow.h代码如下
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include"Halcon.h"
#include"cpp/HalconCpp.h"
#include"halconcpp\HalconCpp.h"
using namespace HalconCpp;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
// Local iconic variables
HObject ho_Image;
// Local control variables
HTuple hv_AcqHandle,hv_WindowHandle;
Hlong windID;
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow