資源簡介
Qt+Halcon封裝邁德威視相機
代碼片段和文件信息
#include?“capturethread.h“
#include?“mainwindow.h“
#include?
#include?
#include?“CameraApi.h“
//SDK使用
extern?int??????????????????g_hCamera;??????????//設備句柄
extern?unsigned?char????????*?g_pRawBuffer;?????//raw數據
extern?unsigned?char????????*?g_pRgbBuffer;?????//處理后數據緩存區
extern?tSdkframeHead????????g_tframeHead;???????//圖像幀頭信息
extern?tSdkCameraCapbility??g_tCapability;??????//設備描述信息
extern?Width_Height?????????g_W_H_INFO;?????????//顯示畫板到大小和圖像大小
extern?BYTE?????????????????*g_readBuf;?????????//顯示數據buffer
extern?int??????????????????g_read_fps;?????????//統計幀率
extern?int??????????????????g_SaveImage_type;???//保存圖像格式
CaptureThread::CaptureThread(Qobject?*parent)?:
????QThread(parent)
{
????pause_status?=?true;
????quit?=?false;
????for(int?i?=?0;?i?256;?i++)
????{
???????grayColourTable.append(qRgb(i?i?i));
????}
}
void?CaptureThread::run()
{
????forever
????{
????????if(!pause_status)
????????{
if(quit)?break;
????????????if?(CameraGetImageBuffer(g_hCamera&g_tframeHead&g_pRawBuffer2000)?==?CAMERA_STATUS_SUCCESS)
????????????{
????????????????CameraImageProcess(g_hCamerag_pRawBufferg_pRgbBuffer&g_tframeHead);
CameraReleaseImageBuffer(g_hCamerag_pRawBuffer);
????????????????if(g_tframeHead.uiMediaType==CAMERA_MEDIA_TYPE_MONO8){
????????????????????memcpy(g_readBufg_pRgbBufferg_W_H_INFO.buffer_size);
if(quit)?break;
????????????????????QImage?img(g_readBuf?g_W_H_INFO.sensor_width?g_W_H_INFO.sensor_heightQImage::Format_Indexed8);
????????????????????img.setColorTable(grayColourTable);
????????????????????emit?captured(img);
????????????????}else{
????????????????????memcpy(g_readBufg_pRgbBufferg_W_H_INFO.buffer_size*3);
if(quit)?break;
QImage?img?=?QImage((const?uchar*)g_readBuf?g_W_H_INFO.sensor_width??g_W_H_INFO.sensor_height?QImage::Format_RGB888);
????????????????????//QImage?img(g_readBuf?g_W_H_INFO.sensor_width?g_W_H_INFO.sensor_heightQImage::Format_RGB888);
????????????????????emit?captured(img);
????????????????}
????????????????g_read_fps++;//統計抓取幀率
????????????}else{
????????????????printf(“timeout?\n“);
????????????????usleep(1000);
????????????}
????????}?else?usleep(1000);
????????if(quit)?break;
????}
}
void?CaptureThread::stream()
{
????pause_status?=?false;
}
void?CaptureThread::pause()
{
????pause_status?=?true;
}
void?CaptureThread::stop()
{
????pause_status?=?false;
????quit?=?true;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-24?13:52??QT5\
?????目錄???????????0??2018-12-24?13:52??QT5\.vs\
?????目錄???????????0??2018-12-24?13:52??QT5\.vs\QT5Demo\
?????目錄???????????0??2018-12-24?13:52??QT5\.vs\QT5Demo\v14\
?????文件???????18944??2018-12-24?13:43??QT5\.vs\QT5Demo\v14\.suo
?????文件????????2541??2016-06-22?11:16??QT5\capturethread.cpp
?????文件?????????480??2016-06-22?11:17??QT5\capturethread.h
?????目錄???????????0??2018-12-24?13:52??QT5\Debug\
?????文件??????229478??2018-12-24?13:31??QT5\Debug\capturethread.obj
?????文件??????187991??2018-12-24?13:31??QT5\Debug\main.obj
?????文件??????738008??2018-12-24?13:31??QT5\Debug\mainwindow.obj
?????文件???????55945??2018-12-24?13:31??QT5\Debug\moc_capturethread.obj
?????文件??????201091??2018-12-24?13:31??QT5\Debug\moc_mainwindow.obj
?????文件????????2411??2018-12-24?13:31??QT5\Debug\QT5Demo.log
?????目錄???????????0??2018-12-24?13:52??QT5\Debug\QT5Demo.tlog\
?????文件????????5912??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\CL.command.1.tlog
?????文件??????322976??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\CL.read.1.tlog
?????文件????????2436??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\CL.write.1.tlog
?????文件????????2420??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\custombuild.command.1.tlog
?????文件?????????538??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\custombuild.read.1.tlog
?????文件?????????754??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\custombuild.write.1.tlog
?????文件????????2002??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\li
?????文件????????4634??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\li
?????文件?????????942??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\li
?????文件?????????168??2018-12-24?13:31??QT5\Debug\QT5Demo.tlog\QT5Demo.lastbuildstate
?????文件?????4165632??2018-12-24?13:31??QT5\Debug\vc140.pdb
?????目錄???????????0??2018-12-24?13:52??QT5\GeneratedFiles\
?????目錄???????????0??2018-12-24?13:52??QT5\GeneratedFiles\Debug\
?????文件????????4251??2018-12-24?13:31??QT5\GeneratedFiles\Debug\moc_capturethread.cpp
?????文件???????15261??2018-12-24?13:31??QT5\GeneratedFiles\Debug\moc_mainwindow.cpp
?????文件???????41494??2018-12-24?13:31??QT5\GeneratedFiles\ui_mainwindow.h
............此處省略699個文件信息
評論
共有 條評論