歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

基於Qt的圖像采集系統【附源碼】

硬件

Point Gray Camera

型號:FL3-U3-13S2C-CS

參數

Sony IMX035 CMOS, 1/3", 3.63 µm
Rolling Shutter
1328x1048 at 120 FPS

USB3.0

 

系統及環境

Windows 7 64bit

Qt 5.1

驅動:FlyCapture v2.5 Release 4 - Windows 64bit

 

硬件連接

將相機直接接到電腦的USB3.0接口上就可以了。

 

程序功能

調用攝像頭拍照,並在窗口中顯示結果拍照結果。

 

開發的過程中主要是參考官方的文檔,在sdk安裝的文件夾裡就有。

本文源碼下載:

下載在Linux公社的1號FTP服務器裡,下載地址:

FTP地址:ftp://ftp1.linuxidc.com

用戶名:www.6688.cc

密碼:www.linuxidc.com

在 2013年LinuxIDC.com\9月\基於Qt的圖像采集系統【附源碼】

下載方法見 http://www.linuxidc.net/thread-1187-1-1.html

-------------------------------分割線-------------------------------

代碼清單

代碼結構

很簡單,就一個類。

 

首先要在.pro文件中包含頭文件和庫

 INCLUDEPATH += "C:/Program Files/Point Grey Research/FlyCapture2/include"

LIBS += "C:\Program Files\Point Grey Research\FlyCapture2\lib64\FlyCapture2.lib"

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

初始化一個MainWindow,然後顯示,沒什麼好說的。

 

mainwindows.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <FlyCapture2.h>
#include <iostream>
#include <QLabel>
#include <QAction>
#include <QStatusBar>
#include <QMessageBox>
#include <QMenu>
#include <QMenuBar>
using namespace std;
using namespace FlyCapture2;
class MainWindow : public QMainWindow
{
    Q_OBJECT
   
public:
    MainWindow(QWidget *parent = 0);
    void printCameraInfo();
    ~MainWindow();
private:
    QLabel *imageLabel;
    QMenu *operationMenu;
    QMenu *aboutMenu;
    QMenu *cameraMenu;
    QAction *startAction;
    QAction *stopAction;
    QAction *aboutAction;
    QAction *cameraInfoAction;
    QLabel *msgLabel;
    QLabel *about;

    void createActions();
    void createMenus();
    void printError(Error e);
    void getCameraInfo();

    PGRGuid guid;
    Error error;
    Camera cam;
    CameraInfo camInfo;

public slots:
    void slotAbout();
    int slotStart();
    void slotStop();
    void slotShowCameraInfo();

};

#endif // MAINWINDOW_H

Copyright © Linux教程網 All Rights Reserved