diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.cpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.cpp deleted file mode 100644 index 830aa790..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.cpp +++ /dev/null @@ -1,491 +0,0 @@ -#include "CaptureThreadHIK.h" -#include -#include "PLCDevice.h" -#include "common.h" -#include -extern bool g_debug_mode; //ģʽģʽͣ״̬ܴ -extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras]; -extern PLCDevice * m_PLCDevice; -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) -void __stdcall LossCallBack1(unsigned int pData, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - SingleCamInfo[CaptureThreadHIKptr->Local_Num].OffLine = true; - CaptureThreadHIKptr->terminate(); -} -void __stdcall FallingGpioEvent1(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - - int unit_count = CaptureThreadHIKptr->p_unit_queue->count(); - if (unit_count > 0) - { - cv::Mat long_image; - for (int i = 0; i < unit_count; i++) - { - cv::Mat image; - CaptureThreadHIKptr->p_unit_queue->take(image); - if (0 == i) - { - long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type()); - } - cv::Rect r(0, i * image.rows, image.cols, image.rows); - cv::Mat roi = long_image(r); - image.copyTo(roi); - } - CaptureThreadHIKptr->p_image_queue->put(std::make_pair(unit_count, long_image)); - CaptureThreadHIKptr->p_shooted_queue->put(true); - } - CaptureThreadHIKptr->p_unit_queue->clear(); - -} -void __stdcall RisingGpioEvent1(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - -#ifdef IMM_FEED_BACK//ǰ - if (CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - } -//ǰ -#elif defined ONE_TIME_SHIFT//Ӻһ - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } -//Ӻһ -//Ӻ -#else - if(CaptureThreadHIKptr->p_result_wait_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_result_wait_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - CaptureThreadHIKptr->p_result_wait_queue->put(true); - } -//Ӻ -#endif - -} -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) -void __stdcall LossCallBack2(unsigned int pData, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - SingleCamInfo[CaptureThreadHIKptr->Local_Num].OffLine = true; - CaptureThreadHIKptr->terminate(); -} -void __stdcall FallingGpioEvent2(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - - int unit_count = CaptureThreadHIKptr->p_unit_queue->count(); - if (unit_count > 0) - { - cv::Mat long_image; - for (int i = 0; i < unit_count; i++) - { - cv::Mat image; - CaptureThreadHIKptr->p_unit_queue->take(image); - if (0 == i) - { - long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type()); - } - cv::Rect r(0, i * image.rows, image.cols, image.rows); - cv::Mat roi = long_image(r); - image.copyTo(roi); - } - CaptureThreadHIKptr->p_image_queue->put(std::make_pair(unit_count, long_image)); - CaptureThreadHIKptr->p_shooted_queue->put(true); - } - CaptureThreadHIKptr->p_unit_queue->clear(); - -} -void __stdcall RisingGpioEvent2(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - -#ifdef IMM_FEED_BACK - if (CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - } -#elif defined ONE_TIME_SHIFT - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } -#else - if(CaptureThreadHIKptr->p_result_wait_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_result_wait_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - CaptureThreadHIKptr->p_result_wait_queue->put(true); - } -#endif - -} -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) -void __stdcall LossCallBack3(unsigned int pData, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - SingleCamInfo[CaptureThreadHIKptr->Local_Num].OffLine = true; - CaptureThreadHIKptr->terminate(); -} -void __stdcall FallingGpioEvent3(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - - int unit_count = CaptureThreadHIKptr->p_unit_queue->count(); - if (unit_count > 0) - { - cv::Mat long_image; - for (int i = 0; i < unit_count; i++) - { - cv::Mat image; - CaptureThreadHIKptr->p_unit_queue->take(image); - if (0 == i) - { - long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type()); - } - cv::Rect r(0, i * image.rows, image.cols, image.rows); - cv::Mat roi = long_image(r); - image.copyTo(roi); - } - CaptureThreadHIKptr->p_image_queue->put(std::make_pair(unit_count, long_image)); - CaptureThreadHIKptr->p_shooted_queue->put(true); - } - CaptureThreadHIKptr->p_unit_queue->clear(); - -} -void __stdcall RisingGpioEvent3(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - -#ifdef IMM_FEED_BACK - if (CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - } -#elif defined ONE_TIME_SHIFT - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } -#else - if(CaptureThreadHIKptr->p_result_wait_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_result_wait_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - CaptureThreadHIKptr->p_result_wait_queue->put(true); - } -#endif - -} -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) -void __stdcall LossCallBack4(unsigned int pData, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - SingleCamInfo[CaptureThreadHIKptr->Local_Num].OffLine = true; - CaptureThreadHIKptr->terminate(); -} -void __stdcall FallingGpioEvent4(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - - int unit_count = CaptureThreadHIKptr->p_unit_queue->count(); - if (unit_count > 0) - { - cv::Mat long_image; - for (int i = 0; i < unit_count; i++) - { - cv::Mat image; - CaptureThreadHIKptr->p_unit_queue->take(image); - if (0 == i) - { - long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type()); - } - cv::Rect r(0, i * image.rows, image.cols, image.rows); - cv::Mat roi = long_image(r); - image.copyTo(roi); - } - CaptureThreadHIKptr->p_image_queue->put(std::make_pair(unit_count, long_image)); - CaptureThreadHIKptr->p_shooted_queue->put(true); - } - CaptureThreadHIKptr->p_unit_queue->clear(); - -} -void __stdcall RisingGpioEvent4(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) -{ - CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; - -#ifdef IMM_FEED_BACK - if (CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - } -#elif defined ONE_TIME_SHIFT - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } -#else - if(CaptureThreadHIKptr->p_result_wait_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_result_wait_queue->take(temp); - if (CaptureThreadHIKptr->p_result_queue->count() > 0) - { - bool result; - CaptureThreadHIKptr->p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CaptureThreadHIKptr->CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CaptureThreadHIKptr->CamHandle, "LineTriggerSoftware"); - } - } - } - if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) - { - bool temp; - CaptureThreadHIKptr->p_shooted_queue->take(temp); - CaptureThreadHIKptr->p_result_wait_queue->put(true); - } -#endif - -} -#endif - -void(*LossCallBack[NumberOfSupportedCameras])(unsigned int pData, void* pUser) = { -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - LossCallBack1 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - ,LossCallBack2 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - ,LossCallBack3 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - ,LossCallBack4 -#endif -}; -void(*FallingGpioEvent[NumberOfSupportedCameras])(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) = { -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - FallingGpioEvent1 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - ,FallingGpioEvent2 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - ,FallingGpioEvent3 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - ,FallingGpioEvent4 -#endif -}; -void(*RisingGpioEvent[NumberOfSupportedCameras])(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) = { -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - RisingGpioEvent1 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - ,RisingGpioEvent2 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - ,RisingGpioEvent3 -#endif -#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - ,RisingGpioEvent4 -#endif -}; -void CaptureThreadHIK::fpsTimeout(void) -{ - uint64_t delta = m_cntGrabbedImages - m_cntLastGrabbedImages; - m_cntLastGrabbedImages = m_cntGrabbedImages; - QString data = QString("%1").arg(delta); - emit updateStatistics(data.left(4), Local_Num); -} - -//----------------------------------------------------------------------------- -CaptureThreadHIK::CaptureThreadHIK(void *camhandle, bool boTerminated,int Num) : - CamHandle( camhandle ), boTerminated_( boTerminated ),Local_Num(Num) -//----------------------------------------------------------------------------- -{ - p_unit_queue = new ASyncQueue(Unit_Queue_Size); - g_pImage_buf = (unsigned char*)malloc(3000 * 3000 * 3); -} -CaptureThreadHIK::~CaptureThreadHIK() -{ - delete p_unit_queue; - free(g_pImage_buf); -} -//----------------------------------------------------------------------------- -void CaptureThreadHIK::process( void ) -//----------------------------------------------------------------------------- -{ - int nRet = MV_OK, nnRet = MV_OK; - - nRet = MV_CC_SetEnumValueByString(CamHandle, "EventSelector", "Line0FallingEdge"); - if (nRet) { std::cout << "can not set EventSelector" << std::endl; nnRet = nRet; } - - nRet = MV_CC_SetEnumValueByString(CamHandle, "EventNotification", "On"); - if (nRet) { std::cout << "can not set EventNotification" << std::endl; nnRet = nRet; } - - nRet = MV_CC_SetEnumValueByString(CamHandle, "EventSelector", "Line0RisingEdge"); - if (nRet) { std::cout << "can not set EventSelector" << std::endl; nnRet = nRet; } - - nRet = MV_CC_SetEnumValueByString(CamHandle, "EventNotification", "On"); - if (nRet) { std::cout << "can not set EventNotification" << std::endl; nnRet = nRet; } - - nRet = MV_CC_RegisterExceptionCallBack(CamHandle, LossCallBack[Local_Num], this); - if (nRet) { std::cout << "can not register loss callback" << std::endl; nnRet = nRet; } - - nRet = MV_CC_RegisterEventCallBackEx(CamHandle, "Line0FallingEdge", FallingGpioEvent[Local_Num], this); - if (nRet) { std::cout << "can not register GPIO callback" << std::endl; nnRet = nRet; } - - nRet = MV_CC_RegisterEventCallBackEx(CamHandle, "Line0RisingEdge", RisingGpioEvent[Local_Num], this); - if (nRet) { std::cout << "can not register GPIO callback" << std::endl; nnRet = nRet; } - - m_Timer = new QTimer(); - connect(m_Timer, SIGNAL(timeout()), this, SLOT(fpsTimeout())); - m_Timer->start(1000); - - unsigned int nDataSize; - MVCC_INTVALUE_EX stIntValue = { 0 }; - nRet = MV_CC_GetIntValueEx(CamHandle, "PayloadSize", &stIntValue); - if (nRet) { std::cout << "Get PayloadSize error" << std::endl; } - nDataSize = stIntValue.nCurValue; - MV_CC_StartGrabbing(CamHandle); - Ready = true; - while(!boTerminated_) - { - nRet = MV_CC_GetOneFrameTimeout(CamHandle, g_pImage_buf, nDataSize, &stFrameInfo, 200); - if (MV_OK == nRet) - { - m_cntGrabbedImages++; - - cv::Mat openCVImage(stFrameInfo.nHeight, stFrameInfo.nWidth, CV_8UC1, g_pImage_buf); - cv::Mat image_clone = openCVImage.clone(); - if (!g_debug_mode) - { - p_unit_queue->put(image_clone); //ʱ - } - else - { - p_debug_queue->put(image_clone); //Զ - } - } -#ifdef IMM_FEED_BACK - if (p_result_queue->count() > 0) - { - bool result; - p_result_queue->take(result); - if (!result) - { - MV_CC_SetEnumValue(CamHandle, "LineSelector", 1); - MV_CC_SetCommandValue(CamHandle, "LineTriggerSoftware"); - } - } -#endif - QCoreApplication::processEvents();//Make sure the timer is triggered - } - MV_CC_StopGrabbing(CamHandle); - MV_CC_CloseDevice(CamHandle); - delete m_Timer; -} -//----------------------------------------------------------------------------- diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp deleted file mode 100644 index 2749927b..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +++ /dev/null @@ -1,602 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP -#error "Invalid usage" -#endif - -// generated by parser_clblas.py -#define clblasCaxpy clblasCaxpy_ -#define clblasCcopy clblasCcopy_ -#define clblasCdotc clblasCdotc_ -#define clblasCdotu clblasCdotu_ -#define clblasCgbmv clblasCgbmv_ -#define clblasCgemm clblasCgemm_ -#define clblasCgemv clblasCgemv_ -#define clblasCgerc clblasCgerc_ -#define clblasCgeru clblasCgeru_ -#define clblasChbmv clblasChbmv_ -#define clblasChemm clblasChemm_ -#define clblasChemv clblasChemv_ -#define clblasCher clblasCher_ -#define clblasCher2 clblasCher2_ -#define clblasCher2k clblasCher2k_ -#define clblasCherk clblasCherk_ -#define clblasChpmv clblasChpmv_ -#define clblasChpr clblasChpr_ -#define clblasChpr2 clblasChpr2_ -#define clblasCrotg clblasCrotg_ -#define clblasCscal clblasCscal_ -#define clblasCsrot clblasCsrot_ -#define clblasCsscal clblasCsscal_ -#define clblasCswap clblasCswap_ -#define clblasCsymm clblasCsymm_ -#define clblasCsyr2k clblasCsyr2k_ -#define clblasCsyrk clblasCsyrk_ -#define clblasCtbmv clblasCtbmv_ -#define clblasCtbsv clblasCtbsv_ -#define clblasCtpmv clblasCtpmv_ -#define clblasCtpsv clblasCtpsv_ -#define clblasCtrmm clblasCtrmm_ -#define clblasCtrmv clblasCtrmv_ -#define clblasCtrsm clblasCtrsm_ -#define clblasCtrsv clblasCtrsv_ -#define clblasDasum clblasDasum_ -#define clblasDaxpy clblasDaxpy_ -#define clblasDcopy clblasDcopy_ -#define clblasDdot clblasDdot_ -#define clblasDgbmv clblasDgbmv_ -#define clblasDgemm clblasDgemm_ -#define clblasDgemv clblasDgemv_ -#define clblasDger clblasDger_ -#define clblasDnrm2 clblasDnrm2_ -#define clblasDrot clblasDrot_ -#define clblasDrotg clblasDrotg_ -#define clblasDrotm clblasDrotm_ -#define clblasDrotmg clblasDrotmg_ -#define clblasDsbmv clblasDsbmv_ -#define clblasDscal clblasDscal_ -#define clblasDspmv clblasDspmv_ -#define clblasDspr clblasDspr_ -#define clblasDspr2 clblasDspr2_ -#define clblasDswap clblasDswap_ -#define clblasDsymm clblasDsymm_ -#define clblasDsymv clblasDsymv_ -#define clblasDsyr clblasDsyr_ -#define clblasDsyr2 clblasDsyr2_ -#define clblasDsyr2k clblasDsyr2k_ -#define clblasDsyrk clblasDsyrk_ -#define clblasDtbmv clblasDtbmv_ -#define clblasDtbsv clblasDtbsv_ -#define clblasDtpmv clblasDtpmv_ -#define clblasDtpsv clblasDtpsv_ -#define clblasDtrmm clblasDtrmm_ -#define clblasDtrmv clblasDtrmv_ -#define clblasDtrsm clblasDtrsm_ -#define clblasDtrsv clblasDtrsv_ -#define clblasDzasum clblasDzasum_ -#define clblasDznrm2 clblasDznrm2_ -#define clblasGetVersion clblasGetVersion_ -#define clblasSasum clblasSasum_ -#define clblasSaxpy clblasSaxpy_ -#define clblasScasum clblasScasum_ -#define clblasScnrm2 clblasScnrm2_ -#define clblasScopy clblasScopy_ -#define clblasSdot clblasSdot_ -#define clblasSetup clblasSetup_ -#define clblasSgbmv clblasSgbmv_ -#define clblasSgemm clblasSgemm_ -#define clblasSgemv clblasSgemv_ -#define clblasSger clblasSger_ -#define clblasSnrm2 clblasSnrm2_ -#define clblasSrot clblasSrot_ -#define clblasSrotg clblasSrotg_ -#define clblasSrotm clblasSrotm_ -#define clblasSrotmg clblasSrotmg_ -#define clblasSsbmv clblasSsbmv_ -#define clblasSscal clblasSscal_ -#define clblasSspmv clblasSspmv_ -#define clblasSspr clblasSspr_ -#define clblasSspr2 clblasSspr2_ -#define clblasSswap clblasSswap_ -#define clblasSsymm clblasSsymm_ -#define clblasSsymv clblasSsymv_ -#define clblasSsyr clblasSsyr_ -#define clblasSsyr2 clblasSsyr2_ -#define clblasSsyr2k clblasSsyr2k_ -#define clblasSsyrk clblasSsyrk_ -#define clblasStbmv clblasStbmv_ -#define clblasStbsv clblasStbsv_ -#define clblasStpmv clblasStpmv_ -#define clblasStpsv clblasStpsv_ -#define clblasStrmm clblasStrmm_ -#define clblasStrmv clblasStrmv_ -#define clblasStrsm clblasStrsm_ -#define clblasStrsv clblasStrsv_ -#define clblasTeardown clblasTeardown_ -#define clblasZaxpy clblasZaxpy_ -#define clblasZcopy clblasZcopy_ -#define clblasZdotc clblasZdotc_ -#define clblasZdotu clblasZdotu_ -#define clblasZdrot clblasZdrot_ -#define clblasZdscal clblasZdscal_ -#define clblasZgbmv clblasZgbmv_ -#define clblasZgemm clblasZgemm_ -#define clblasZgemv clblasZgemv_ -#define clblasZgerc clblasZgerc_ -#define clblasZgeru clblasZgeru_ -#define clblasZhbmv clblasZhbmv_ -#define clblasZhemm clblasZhemm_ -#define clblasZhemv clblasZhemv_ -#define clblasZher clblasZher_ -#define clblasZher2 clblasZher2_ -#define clblasZher2k clblasZher2k_ -#define clblasZherk clblasZherk_ -#define clblasZhpmv clblasZhpmv_ -#define clblasZhpr clblasZhpr_ -#define clblasZhpr2 clblasZhpr2_ -#define clblasZrotg clblasZrotg_ -#define clblasZscal clblasZscal_ -#define clblasZswap clblasZswap_ -#define clblasZsymm clblasZsymm_ -#define clblasZsyr2k clblasZsyr2k_ -#define clblasZsyrk clblasZsyrk_ -#define clblasZtbmv clblasZtbmv_ -#define clblasZtbsv clblasZtbsv_ -#define clblasZtpmv clblasZtpmv_ -#define clblasZtpsv clblasZtpsv_ -#define clblasZtrmm clblasZtrmm_ -#define clblasZtrmv clblasZtrmv_ -#define clblasZtrsm clblasZtrsm_ -#define clblasZtrsv clblasZtrsv_ -#define clblasiCamax clblasiCamax_ -#define clblasiDamax clblasiDamax_ -#define clblasiSamax clblasiSamax_ -#define clblasiZamax clblasiZamax_ - -#include - -// generated by parser_clblas.py -#undef clblasCaxpy -//#define clblasCaxpy clblasCaxpy_pfn -#undef clblasCcopy -//#define clblasCcopy clblasCcopy_pfn -#undef clblasCdotc -//#define clblasCdotc clblasCdotc_pfn -#undef clblasCdotu -//#define clblasCdotu clblasCdotu_pfn -#undef clblasCgbmv -//#define clblasCgbmv clblasCgbmv_pfn -#undef clblasCgemm -#define clblasCgemm clblasCgemm_pfn -#undef clblasCgemv -//#define clblasCgemv clblasCgemv_pfn -#undef clblasCgerc -//#define clblasCgerc clblasCgerc_pfn -#undef clblasCgeru -//#define clblasCgeru clblasCgeru_pfn -#undef clblasChbmv -//#define clblasChbmv clblasChbmv_pfn -#undef clblasChemm -//#define clblasChemm clblasChemm_pfn -#undef clblasChemv -//#define clblasChemv clblasChemv_pfn -#undef clblasCher -//#define clblasCher clblasCher_pfn -#undef clblasCher2 -//#define clblasCher2 clblasCher2_pfn -#undef clblasCher2k -//#define clblasCher2k clblasCher2k_pfn -#undef clblasCherk -//#define clblasCherk clblasCherk_pfn -#undef clblasChpmv -//#define clblasChpmv clblasChpmv_pfn -#undef clblasChpr -//#define clblasChpr clblasChpr_pfn -#undef clblasChpr2 -//#define clblasChpr2 clblasChpr2_pfn -#undef clblasCrotg -//#define clblasCrotg clblasCrotg_pfn -#undef clblasCscal -//#define clblasCscal clblasCscal_pfn -#undef clblasCsrot -//#define clblasCsrot clblasCsrot_pfn -#undef clblasCsscal -//#define clblasCsscal clblasCsscal_pfn -#undef clblasCswap -//#define clblasCswap clblasCswap_pfn -#undef clblasCsymm -//#define clblasCsymm clblasCsymm_pfn -#undef clblasCsyr2k -//#define clblasCsyr2k clblasCsyr2k_pfn -#undef clblasCsyrk -//#define clblasCsyrk clblasCsyrk_pfn -#undef clblasCtbmv -//#define clblasCtbmv clblasCtbmv_pfn -#undef clblasCtbsv -//#define clblasCtbsv clblasCtbsv_pfn -#undef clblasCtpmv -//#define clblasCtpmv clblasCtpmv_pfn -#undef clblasCtpsv -//#define clblasCtpsv clblasCtpsv_pfn -#undef clblasCtrmm -//#define clblasCtrmm clblasCtrmm_pfn -#undef clblasCtrmv -//#define clblasCtrmv clblasCtrmv_pfn -#undef clblasCtrsm -//#define clblasCtrsm clblasCtrsm_pfn -#undef clblasCtrsv -//#define clblasCtrsv clblasCtrsv_pfn -#undef clblasDasum -//#define clblasDasum clblasDasum_pfn -#undef clblasDaxpy -//#define clblasDaxpy clblasDaxpy_pfn -#undef clblasDcopy -//#define clblasDcopy clblasDcopy_pfn -#undef clblasDdot -//#define clblasDdot clblasDdot_pfn -#undef clblasDgbmv -//#define clblasDgbmv clblasDgbmv_pfn -#undef clblasDgemm -#define clblasDgemm clblasDgemm_pfn -#undef clblasDgemv -//#define clblasDgemv clblasDgemv_pfn -#undef clblasDger -//#define clblasDger clblasDger_pfn -#undef clblasDnrm2 -//#define clblasDnrm2 clblasDnrm2_pfn -#undef clblasDrot -//#define clblasDrot clblasDrot_pfn -#undef clblasDrotg -//#define clblasDrotg clblasDrotg_pfn -#undef clblasDrotm -//#define clblasDrotm clblasDrotm_pfn -#undef clblasDrotmg -//#define clblasDrotmg clblasDrotmg_pfn -#undef clblasDsbmv -//#define clblasDsbmv clblasDsbmv_pfn -#undef clblasDscal -//#define clblasDscal clblasDscal_pfn -#undef clblasDspmv -//#define clblasDspmv clblasDspmv_pfn -#undef clblasDspr -//#define clblasDspr clblasDspr_pfn -#undef clblasDspr2 -//#define clblasDspr2 clblasDspr2_pfn -#undef clblasDswap -//#define clblasDswap clblasDswap_pfn -#undef clblasDsymm -//#define clblasDsymm clblasDsymm_pfn -#undef clblasDsymv -//#define clblasDsymv clblasDsymv_pfn -#undef clblasDsyr -//#define clblasDsyr clblasDsyr_pfn -#undef clblasDsyr2 -//#define clblasDsyr2 clblasDsyr2_pfn -#undef clblasDsyr2k -//#define clblasDsyr2k clblasDsyr2k_pfn -#undef clblasDsyrk -//#define clblasDsyrk clblasDsyrk_pfn -#undef clblasDtbmv -//#define clblasDtbmv clblasDtbmv_pfn -#undef clblasDtbsv -//#define clblasDtbsv clblasDtbsv_pfn -#undef clblasDtpmv -//#define clblasDtpmv clblasDtpmv_pfn -#undef clblasDtpsv -//#define clblasDtpsv clblasDtpsv_pfn -#undef clblasDtrmm -//#define clblasDtrmm clblasDtrmm_pfn -#undef clblasDtrmv -//#define clblasDtrmv clblasDtrmv_pfn -#undef clblasDtrsm -//#define clblasDtrsm clblasDtrsm_pfn -#undef clblasDtrsv -//#define clblasDtrsv clblasDtrsv_pfn -#undef clblasDzasum -//#define clblasDzasum clblasDzasum_pfn -#undef clblasDznrm2 -//#define clblasDznrm2 clblasDznrm2_pfn -#undef clblasGetVersion -//#define clblasGetVersion clblasGetVersion_pfn -#undef clblasSasum -//#define clblasSasum clblasSasum_pfn -#undef clblasSaxpy -//#define clblasSaxpy clblasSaxpy_pfn -#undef clblasScasum -//#define clblasScasum clblasScasum_pfn -#undef clblasScnrm2 -//#define clblasScnrm2 clblasScnrm2_pfn -#undef clblasScopy -//#define clblasScopy clblasScopy_pfn -#undef clblasSdot -//#define clblasSdot clblasSdot_pfn -#undef clblasSetup -#define clblasSetup clblasSetup_pfn -#undef clblasSgbmv -//#define clblasSgbmv clblasSgbmv_pfn -#undef clblasSgemm -#define clblasSgemm clblasSgemm_pfn -#undef clblasSgemv -//#define clblasSgemv clblasSgemv_pfn -#undef clblasSger -//#define clblasSger clblasSger_pfn -#undef clblasSnrm2 -//#define clblasSnrm2 clblasSnrm2_pfn -#undef clblasSrot -//#define clblasSrot clblasSrot_pfn -#undef clblasSrotg -//#define clblasSrotg clblasSrotg_pfn -#undef clblasSrotm -//#define clblasSrotm clblasSrotm_pfn -#undef clblasSrotmg -//#define clblasSrotmg clblasSrotmg_pfn -#undef clblasSsbmv -//#define clblasSsbmv clblasSsbmv_pfn -#undef clblasSscal -//#define clblasSscal clblasSscal_pfn -#undef clblasSspmv -//#define clblasSspmv clblasSspmv_pfn -#undef clblasSspr -//#define clblasSspr clblasSspr_pfn -#undef clblasSspr2 -//#define clblasSspr2 clblasSspr2_pfn -#undef clblasSswap -//#define clblasSswap clblasSswap_pfn -#undef clblasSsymm -//#define clblasSsymm clblasSsymm_pfn -#undef clblasSsymv -//#define clblasSsymv clblasSsymv_pfn -#undef clblasSsyr -//#define clblasSsyr clblasSsyr_pfn -#undef clblasSsyr2 -//#define clblasSsyr2 clblasSsyr2_pfn -#undef clblasSsyr2k -//#define clblasSsyr2k clblasSsyr2k_pfn -#undef clblasSsyrk -//#define clblasSsyrk clblasSsyrk_pfn -#undef clblasStbmv -//#define clblasStbmv clblasStbmv_pfn -#undef clblasStbsv -//#define clblasStbsv clblasStbsv_pfn -#undef clblasStpmv -//#define clblasStpmv clblasStpmv_pfn -#undef clblasStpsv -//#define clblasStpsv clblasStpsv_pfn -#undef clblasStrmm -//#define clblasStrmm clblasStrmm_pfn -#undef clblasStrmv -//#define clblasStrmv clblasStrmv_pfn -#undef clblasStrsm -//#define clblasStrsm clblasStrsm_pfn -#undef clblasStrsv -//#define clblasStrsv clblasStrsv_pfn -#undef clblasTeardown -#define clblasTeardown clblasTeardown_pfn -#undef clblasZaxpy -//#define clblasZaxpy clblasZaxpy_pfn -#undef clblasZcopy -//#define clblasZcopy clblasZcopy_pfn -#undef clblasZdotc -//#define clblasZdotc clblasZdotc_pfn -#undef clblasZdotu -//#define clblasZdotu clblasZdotu_pfn -#undef clblasZdrot -//#define clblasZdrot clblasZdrot_pfn -#undef clblasZdscal -//#define clblasZdscal clblasZdscal_pfn -#undef clblasZgbmv -//#define clblasZgbmv clblasZgbmv_pfn -#undef clblasZgemm -#define clblasZgemm clblasZgemm_pfn -#undef clblasZgemv -//#define clblasZgemv clblasZgemv_pfn -#undef clblasZgerc -//#define clblasZgerc clblasZgerc_pfn -#undef clblasZgeru -//#define clblasZgeru clblasZgeru_pfn -#undef clblasZhbmv -//#define clblasZhbmv clblasZhbmv_pfn -#undef clblasZhemm -//#define clblasZhemm clblasZhemm_pfn -#undef clblasZhemv -//#define clblasZhemv clblasZhemv_pfn -#undef clblasZher -//#define clblasZher clblasZher_pfn -#undef clblasZher2 -//#define clblasZher2 clblasZher2_pfn -#undef clblasZher2k -//#define clblasZher2k clblasZher2k_pfn -#undef clblasZherk -//#define clblasZherk clblasZherk_pfn -#undef clblasZhpmv -//#define clblasZhpmv clblasZhpmv_pfn -#undef clblasZhpr -//#define clblasZhpr clblasZhpr_pfn -#undef clblasZhpr2 -//#define clblasZhpr2 clblasZhpr2_pfn -#undef clblasZrotg -//#define clblasZrotg clblasZrotg_pfn -#undef clblasZscal -//#define clblasZscal clblasZscal_pfn -#undef clblasZswap -//#define clblasZswap clblasZswap_pfn -#undef clblasZsymm -//#define clblasZsymm clblasZsymm_pfn -#undef clblasZsyr2k -//#define clblasZsyr2k clblasZsyr2k_pfn -#undef clblasZsyrk -//#define clblasZsyrk clblasZsyrk_pfn -#undef clblasZtbmv -//#define clblasZtbmv clblasZtbmv_pfn -#undef clblasZtbsv -//#define clblasZtbsv clblasZtbsv_pfn -#undef clblasZtpmv -//#define clblasZtpmv clblasZtpmv_pfn -#undef clblasZtpsv -//#define clblasZtpsv clblasZtpsv_pfn -#undef clblasZtrmm -//#define clblasZtrmm clblasZtrmm_pfn -#undef clblasZtrmv -//#define clblasZtrmv clblasZtrmv_pfn -#undef clblasZtrsm -//#define clblasZtrsm clblasZtrsm_pfn -#undef clblasZtrsv -//#define clblasZtrsv clblasZtrsv_pfn -#undef clblasiCamax -//#define clblasiCamax clblasiCamax_pfn -#undef clblasiDamax -//#define clblasiDamax clblasiDamax_pfn -#undef clblasiSamax -//#define clblasiSamax clblasiSamax_pfn -#undef clblasiZamax -//#define clblasiZamax clblasiZamax_pfn - -// generated by parser_clblas.py -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCaxpy)(size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCcopy)(size_t N, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCdotc)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCdotu)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCgbmv)(clblasOrder order, clblasTranspose trans, size_t M, size_t N, size_t KL, size_t KU, cl_float2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_float2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT clblasStatus (*clblasCgemm)(clblasOrder order, clblasTranspose transA, clblasTranspose transB, size_t M, size_t N, size_t K, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, FloatComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCgemv)(clblasOrder order, clblasTranspose transA, size_t M, size_t N, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, FloatComplex beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCgerc)(clblasOrder order, size_t M, size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCgeru)(clblasOrder order, size_t M, size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChbmv)(clblasOrder order, clblasUplo uplo, size_t N, size_t K, cl_float2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_float2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChemm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_float2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_float2 beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChemv)(clblasOrder order, clblasUplo uplo, size_t N, FloatComplex alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, FloatComplex beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCher)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCher2)(clblasOrder order, clblasUplo uplo, size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCher2k)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, size_t N, size_t K, FloatComplex alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_float beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCherk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, float alpha, const cl_mem A, size_t offa, size_t lda, float beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChpmv)(clblasOrder order, clblasUplo uplo, size_t N, cl_float2 alpha, const cl_mem AP, size_t offa, const cl_mem X, size_t offx, int incx, cl_float2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChpr)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasChpr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_float2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCrotg)(cl_mem CA, size_t offCA, cl_mem CB, size_t offCB, cl_mem C, size_t offC, cl_mem S, size_t offS, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCscal)(size_t N, cl_float2 alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCsrot)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_float C, cl_float S, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCsscal)(size_t N, cl_float alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCswap)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCsymm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_float2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_float2 beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCsyr2k)(clblasOrder order, clblasUplo uplo, clblasTranspose transAB, size_t N, size_t K, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, FloatComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCsyrk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, FloatComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtbmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtbsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtpmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem AP, size_t offa, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtpsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtrmm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtrmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtrsm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, FloatComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasCtrsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDasum)(size_t N, cl_mem asum, size_t offAsum, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDaxpy)(size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDcopy)(size_t N, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDdot)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDgbmv)(clblasOrder order, clblasTranspose trans, size_t M, size_t N, size_t KL, size_t KU, cl_double alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_double beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT clblasStatus (*clblasDgemm)(clblasOrder order, clblasTranspose transA, clblasTranspose transB, size_t M, size_t N, size_t K, cl_double alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, cl_double beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDgemv)(clblasOrder order, clblasTranspose transA, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_double beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDger)(clblasOrder order, size_t M, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDnrm2)(size_t N, cl_mem NRM2, size_t offNRM2, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDrot)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_double C, cl_double S, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDrotg)(cl_mem DA, size_t offDA, cl_mem DB, size_t offDB, cl_mem C, size_t offC, cl_mem S, size_t offS, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDrotm)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, const cl_mem DPARAM, size_t offDparam, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDrotmg)(cl_mem DD1, size_t offDD1, cl_mem DD2, size_t offDD2, cl_mem DX1, size_t offDX1, const cl_mem DY1, size_t offDY1, cl_mem DPARAM, size_t offDparam, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsbmv)(clblasOrder order, clblasUplo uplo, size_t N, size_t K, cl_double alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_double beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDscal)(size_t N, cl_double alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDspmv)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem AP, size_t offa, const cl_mem X, size_t offx, int incx, cl_double beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDspr)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDspr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDswap)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsymm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_double beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsymv)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_double beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsyr)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsyr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsyr2k)(clblasOrder order, clblasUplo uplo, clblasTranspose transAB, size_t N, size_t K, cl_double alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, cl_double beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDsyrk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, cl_double alpha, const cl_mem A, size_t offA, size_t lda, cl_double beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtbmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtbsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtpmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem AP, size_t offa, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtpsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtrmm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtrmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtrsm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_double alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDtrsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDzasum)(size_t N, cl_mem asum, size_t offAsum, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasDznrm2)(size_t N, cl_mem NRM2, size_t offNRM2, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasGetVersion)(cl_uint* major, cl_uint* minor, cl_uint* patch); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSasum)(size_t N, cl_mem asum, size_t offAsum, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSaxpy)(size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasScasum)(size_t N, cl_mem asum, size_t offAsum, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasScnrm2)(size_t N, cl_mem NRM2, size_t offNRM2, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasScopy)(size_t N, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSdot)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT clblasStatus (*clblasSetup)(); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSgbmv)(clblasOrder order, clblasTranspose trans, size_t M, size_t N, size_t KL, size_t KU, cl_float alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_float beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT clblasStatus (*clblasSgemm)(clblasOrder order, clblasTranspose transA, clblasTranspose transB, size_t M, size_t N, size_t K, cl_float alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, cl_float beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSgemv)(clblasOrder order, clblasTranspose transA, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_float beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSger)(clblasOrder order, size_t M, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSnrm2)(size_t N, cl_mem NRM2, size_t offNRM2, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSrot)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_float C, cl_float S, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSrotg)(cl_mem SA, size_t offSA, cl_mem SB, size_t offSB, cl_mem C, size_t offC, cl_mem S, size_t offS, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSrotm)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, const cl_mem SPARAM, size_t offSparam, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSrotmg)(cl_mem SD1, size_t offSD1, cl_mem SD2, size_t offSD2, cl_mem SX1, size_t offSX1, const cl_mem SY1, size_t offSY1, cl_mem SPARAM, size_t offSparam, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsbmv)(clblasOrder order, clblasUplo uplo, size_t N, size_t K, cl_float alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_float beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSscal)(size_t N, cl_float alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSspmv)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem AP, size_t offa, const cl_mem X, size_t offx, int incx, cl_float beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSspr)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSspr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSswap)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsymm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_float beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsymv)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, cl_float beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsyr)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsyr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_float alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsyr2k)(clblasOrder order, clblasUplo uplo, clblasTranspose transAB, size_t N, size_t K, cl_float alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, cl_float beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasSsyrk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, cl_float alpha, const cl_mem A, size_t offA, size_t lda, cl_float beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStbmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStbsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStpmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem AP, size_t offa, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStpsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStrmm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStrmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStrsm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, cl_float alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasStrsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT void (*clblasTeardown)(); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZaxpy)(size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZcopy)(size_t N, const cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZdotc)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZdotu)(size_t N, cl_mem dotProduct, size_t offDP, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZdrot)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_double C, cl_double S, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZdscal)(size_t N, cl_double alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZgbmv)(clblasOrder order, clblasTranspose trans, size_t M, size_t N, size_t KL, size_t KU, cl_double2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_double2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -extern CL_RUNTIME_EXPORT clblasStatus (*clblasZgemm)(clblasOrder order, clblasTranspose transA, clblasTranspose transB, size_t M, size_t N, size_t K, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, DoubleComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZgemv)(clblasOrder order, clblasTranspose transA, size_t M, size_t N, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem x, size_t offx, int incx, DoubleComplex beta, cl_mem y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZgerc)(clblasOrder order, size_t M, size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZgeru)(clblasOrder order, size_t M, size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhbmv)(clblasOrder order, clblasUplo uplo, size_t N, size_t K, cl_double2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, cl_double2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhemm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_double2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_double2 beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhemv)(clblasOrder order, clblasUplo uplo, size_t N, DoubleComplex alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem X, size_t offx, int incx, DoubleComplex beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZher)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZher2)(clblasOrder order, clblasUplo uplo, size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem A, size_t offa, size_t lda, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZher2k)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, size_t N, size_t K, DoubleComplex alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_double beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZherk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, double alpha, const cl_mem A, size_t offa, size_t lda, double beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhpmv)(clblasOrder order, clblasUplo uplo, size_t N, cl_double2 alpha, const cl_mem AP, size_t offa, const cl_mem X, size_t offx, int incx, cl_double2 beta, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhpr)(clblasOrder order, clblasUplo uplo, size_t N, cl_double alpha, const cl_mem X, size_t offx, int incx, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZhpr2)(clblasOrder order, clblasUplo uplo, size_t N, cl_double2 alpha, const cl_mem X, size_t offx, int incx, const cl_mem Y, size_t offy, int incy, cl_mem AP, size_t offa, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZrotg)(cl_mem CA, size_t offCA, cl_mem CB, size_t offCB, cl_mem C, size_t offC, cl_mem S, size_t offS, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZscal)(size_t N, cl_double2 alpha, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZswap)(size_t N, cl_mem X, size_t offx, int incx, cl_mem Y, size_t offy, int incy, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZsymm)(clblasOrder order, clblasSide side, clblasUplo uplo, size_t M, size_t N, cl_double2 alpha, const cl_mem A, size_t offa, size_t lda, const cl_mem B, size_t offb, size_t ldb, cl_double2 beta, cl_mem C, size_t offc, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZsyr2k)(clblasOrder order, clblasUplo uplo, clblasTranspose transAB, size_t N, size_t K, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, const cl_mem B, size_t offB, size_t ldb, DoubleComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZsyrk)(clblasOrder order, clblasUplo uplo, clblasTranspose transA, size_t N, size_t K, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, DoubleComplex beta, cl_mem C, size_t offC, size_t ldc, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtbmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtbsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, size_t K, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtpmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem AP, size_t offa, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtpsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtrmm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtrmv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtrsm)(clblasOrder order, clblasSide side, clblasUplo uplo, clblasTranspose transA, clblasDiag diag, size_t M, size_t N, DoubleComplex alpha, const cl_mem A, size_t offA, size_t lda, cl_mem B, size_t offB, size_t ldb, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasZtrsv)(clblasOrder order, clblasUplo uplo, clblasTranspose trans, clblasDiag diag, size_t N, const cl_mem A, size_t offa, size_t lda, cl_mem X, size_t offx, int incx, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasiCamax)(size_t N, cl_mem iMax, size_t offiMax, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasiDamax)(size_t N, cl_mem iMax, size_t offiMax, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasiSamax)(size_t N, cl_mem iMax, size_t offiMax, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); -//extern CL_RUNTIME_EXPORT clblasStatus (*clblasiZamax)(size_t N, cl_mem iMax, size_t offiMax, const cl_mem X, size_t offx, int incx, cl_mem scratchBuff, cl_uint numCommandQueues, cl_command_queue* commandQueues, cl_uint numEventsInWaitList, const cl_event* eventWaitList, cl_event* events); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp deleted file mode 100644 index dff3b406..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP -#error "Invalid usage" -#endif - -// generated by parser_clfft.py -#define clfftBakePlan clfftBakePlan_ -#define clfftCopyPlan clfftCopyPlan_ -#define clfftCreateDefaultPlan clfftCreateDefaultPlan_ -#define clfftDestroyPlan clfftDestroyPlan_ -#define clfftEnqueueTransform clfftEnqueueTransform_ -#define clfftGetLayout clfftGetLayout_ -#define clfftGetPlanBatchSize clfftGetPlanBatchSize_ -#define clfftGetPlanContext clfftGetPlanContext_ -#define clfftGetPlanDim clfftGetPlanDim_ -#define clfftGetPlanDistance clfftGetPlanDistance_ -#define clfftGetPlanInStride clfftGetPlanInStride_ -#define clfftGetPlanLength clfftGetPlanLength_ -#define clfftGetPlanOutStride clfftGetPlanOutStride_ -#define clfftGetPlanPrecision clfftGetPlanPrecision_ -#define clfftGetPlanScale clfftGetPlanScale_ -#define clfftGetPlanTransposeResult clfftGetPlanTransposeResult_ -#define clfftGetResultLocation clfftGetResultLocation_ -#define clfftGetTmpBufSize clfftGetTmpBufSize_ -#define clfftGetVersion clfftGetVersion_ -#define clfftSetLayout clfftSetLayout_ -#define clfftSetPlanBatchSize clfftSetPlanBatchSize_ -#define clfftSetPlanCallback clfftSetPlanCallback_ -#define clfftSetPlanDim clfftSetPlanDim_ -#define clfftSetPlanDistance clfftSetPlanDistance_ -#define clfftSetPlanInStride clfftSetPlanInStride_ -#define clfftSetPlanLength clfftSetPlanLength_ -#define clfftSetPlanOutStride clfftSetPlanOutStride_ -#define clfftSetPlanPrecision clfftSetPlanPrecision_ -#define clfftSetPlanScale clfftSetPlanScale_ -#define clfftSetPlanTransposeResult clfftSetPlanTransposeResult_ -#define clfftSetResultLocation clfftSetResultLocation_ -#define clfftSetup clfftSetup_ -#define clfftTeardown clfftTeardown_ - -#include - -// generated by parser_clfft.py -#undef clfftBakePlan -#define clfftBakePlan clfftBakePlan_pfn -#undef clfftCopyPlan -//#define clfftCopyPlan clfftCopyPlan_pfn -#undef clfftCreateDefaultPlan -#define clfftCreateDefaultPlan clfftCreateDefaultPlan_pfn -#undef clfftDestroyPlan -#define clfftDestroyPlan clfftDestroyPlan_pfn -#undef clfftEnqueueTransform -#define clfftEnqueueTransform clfftEnqueueTransform_pfn -#undef clfftGetLayout -//#define clfftGetLayout clfftGetLayout_pfn -#undef clfftGetPlanBatchSize -//#define clfftGetPlanBatchSize clfftGetPlanBatchSize_pfn -#undef clfftGetPlanContext -//#define clfftGetPlanContext clfftGetPlanContext_pfn -#undef clfftGetPlanDim -//#define clfftGetPlanDim clfftGetPlanDim_pfn -#undef clfftGetPlanDistance -//#define clfftGetPlanDistance clfftGetPlanDistance_pfn -#undef clfftGetPlanInStride -//#define clfftGetPlanInStride clfftGetPlanInStride_pfn -#undef clfftGetPlanLength -//#define clfftGetPlanLength clfftGetPlanLength_pfn -#undef clfftGetPlanOutStride -//#define clfftGetPlanOutStride clfftGetPlanOutStride_pfn -#undef clfftGetPlanPrecision -//#define clfftGetPlanPrecision clfftGetPlanPrecision_pfn -#undef clfftGetPlanScale -//#define clfftGetPlanScale clfftGetPlanScale_pfn -#undef clfftGetPlanTransposeResult -//#define clfftGetPlanTransposeResult clfftGetPlanTransposeResult_pfn -#undef clfftGetResultLocation -//#define clfftGetResultLocation clfftGetResultLocation_pfn -#undef clfftGetTmpBufSize -#define clfftGetTmpBufSize clfftGetTmpBufSize_pfn -#undef clfftGetVersion -#define clfftGetVersion clfftGetVersion_pfn -#undef clfftSetLayout -#define clfftSetLayout clfftSetLayout_pfn -#undef clfftSetPlanBatchSize -#define clfftSetPlanBatchSize clfftSetPlanBatchSize_pfn -#undef clfftSetPlanCallback -//#define clfftSetPlanCallback clfftSetPlanCallback_pfn -#undef clfftSetPlanDim -//#define clfftSetPlanDim clfftSetPlanDim_pfn -#undef clfftSetPlanDistance -#define clfftSetPlanDistance clfftSetPlanDistance_pfn -#undef clfftSetPlanInStride -#define clfftSetPlanInStride clfftSetPlanInStride_pfn -#undef clfftSetPlanLength -//#define clfftSetPlanLength clfftSetPlanLength_pfn -#undef clfftSetPlanOutStride -#define clfftSetPlanOutStride clfftSetPlanOutStride_pfn -#undef clfftSetPlanPrecision -#define clfftSetPlanPrecision clfftSetPlanPrecision_pfn -#undef clfftSetPlanScale -#define clfftSetPlanScale clfftSetPlanScale_pfn -#undef clfftSetPlanTransposeResult -//#define clfftSetPlanTransposeResult clfftSetPlanTransposeResult_pfn -#undef clfftSetResultLocation -#define clfftSetResultLocation clfftSetResultLocation_pfn -#undef clfftSetup -#define clfftSetup clfftSetup_pfn -#undef clfftTeardown -#define clfftTeardown clfftTeardown_pfn - -// generated by parser_clfft.py -extern CL_RUNTIME_EXPORT clfftStatus (*clfftBakePlan)(clfftPlanHandle plHandle, cl_uint numQueues, cl_command_queue* commQueueFFT, void (CL_CALLBACK* pfn_notify) (clfftPlanHandle plHandle, void* user_data), void* user_data); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftCopyPlan)(clfftPlanHandle* out_plHandle, cl_context new_context, clfftPlanHandle in_plHandle); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftCreateDefaultPlan)(clfftPlanHandle* plHandle, cl_context context, const clfftDim dim, const size_t* clLengths); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftDestroyPlan)(clfftPlanHandle* plHandle); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftEnqueueTransform)(clfftPlanHandle plHandle, clfftDirection dir, cl_uint numQueuesAndEvents, cl_command_queue* commQueues, cl_uint numWaitEvents, const cl_event* waitEvents, cl_event* outEvents, cl_mem* inputBuffers, cl_mem* outputBuffers, cl_mem tmpBuffer); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetLayout)(const clfftPlanHandle plHandle, clfftLayout* iLayout, clfftLayout* oLayout); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanBatchSize)(const clfftPlanHandle plHandle, size_t* batchSize); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanContext)(const clfftPlanHandle plHandle, cl_context* context); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanDim)(const clfftPlanHandle plHandle, clfftDim* dim, cl_uint* size); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanDistance)(const clfftPlanHandle plHandle, size_t* iDist, size_t* oDist); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanInStride)(const clfftPlanHandle plHandle, const clfftDim dim, size_t* clStrides); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanLength)(const clfftPlanHandle plHandle, const clfftDim dim, size_t* clLengths); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanOutStride)(const clfftPlanHandle plHandle, const clfftDim dim, size_t* clStrides); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanPrecision)(const clfftPlanHandle plHandle, clfftPrecision* precision); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanScale)(const clfftPlanHandle plHandle, clfftDirection dir, cl_float* scale); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetPlanTransposeResult)(const clfftPlanHandle plHandle, clfftResultTransposed* transposed); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetResultLocation)(const clfftPlanHandle plHandle, clfftResultLocation* placeness); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetTmpBufSize)(const clfftPlanHandle plHandle, size_t* buffersize); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftGetVersion)(cl_uint* major, cl_uint* minor, cl_uint* patch); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetLayout)(clfftPlanHandle plHandle, clfftLayout iLayout, clfftLayout oLayout); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanBatchSize)(clfftPlanHandle plHandle, size_t batchSize); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanCallback)(clfftPlanHandle plHandle, const char* funcName, const char* funcString, int localMemSize, clfftCallbackType callbackType, cl_mem* userdata, int numUserdataBuffers); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanDim)(clfftPlanHandle plHandle, const clfftDim dim); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanDistance)(clfftPlanHandle plHandle, size_t iDist, size_t oDist); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanInStride)(clfftPlanHandle plHandle, const clfftDim dim, size_t* clStrides); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanLength)(clfftPlanHandle plHandle, const clfftDim dim, const size_t* clLengths); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanOutStride)(clfftPlanHandle plHandle, const clfftDim dim, size_t* clStrides); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanPrecision)(clfftPlanHandle plHandle, clfftPrecision precision); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanScale)(clfftPlanHandle plHandle, clfftDirection dir, cl_float scale); -//extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetPlanTransposeResult)(clfftPlanHandle plHandle, clfftResultTransposed transposed); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetResultLocation)(clfftPlanHandle plHandle, clfftResultLocation placeness); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftSetup)(const clfftSetupData* setupData); -extern CL_RUNTIME_EXPORT clfftStatus (*clfftTeardown)(); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp deleted file mode 100644 index 28618a1f..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +++ /dev/null @@ -1,371 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_CORE_HPP -#error "Invalid usage" -#endif - -// generated by parser_cl.py -#define clBuildProgram clBuildProgram_ -#define clCompileProgram clCompileProgram_ -#define clCreateBuffer clCreateBuffer_ -#define clCreateCommandQueue clCreateCommandQueue_ -#define clCreateContext clCreateContext_ -#define clCreateContextFromType clCreateContextFromType_ -#define clCreateImage clCreateImage_ -#define clCreateImage2D clCreateImage2D_ -#define clCreateImage3D clCreateImage3D_ -#define clCreateKernel clCreateKernel_ -#define clCreateKernelsInProgram clCreateKernelsInProgram_ -#define clCreateProgramWithBinary clCreateProgramWithBinary_ -#define clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels_ -#define clCreateProgramWithSource clCreateProgramWithSource_ -#define clCreateSampler clCreateSampler_ -#define clCreateSubBuffer clCreateSubBuffer_ -#define clCreateSubDevices clCreateSubDevices_ -#define clCreateUserEvent clCreateUserEvent_ -#define clEnqueueBarrier clEnqueueBarrier_ -#define clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList_ -#define clEnqueueCopyBuffer clEnqueueCopyBuffer_ -#define clEnqueueCopyBufferRect clEnqueueCopyBufferRect_ -#define clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage_ -#define clEnqueueCopyImage clEnqueueCopyImage_ -#define clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer_ -#define clEnqueueFillBuffer clEnqueueFillBuffer_ -#define clEnqueueFillImage clEnqueueFillImage_ -#define clEnqueueMapBuffer clEnqueueMapBuffer_ -#define clEnqueueMapImage clEnqueueMapImage_ -#define clEnqueueMarker clEnqueueMarker_ -#define clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList_ -#define clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects_ -#define clEnqueueNDRangeKernel clEnqueueNDRangeKernel_ -#define clEnqueueNativeKernel clEnqueueNativeKernel_ -#define clEnqueueReadBuffer clEnqueueReadBuffer_ -#define clEnqueueReadBufferRect clEnqueueReadBufferRect_ -#define clEnqueueReadImage clEnqueueReadImage_ -#define clEnqueueTask clEnqueueTask_ -#define clEnqueueUnmapMemObject clEnqueueUnmapMemObject_ -#define clEnqueueWaitForEvents clEnqueueWaitForEvents_ -#define clEnqueueWriteBuffer clEnqueueWriteBuffer_ -#define clEnqueueWriteBufferRect clEnqueueWriteBufferRect_ -#define clEnqueueWriteImage clEnqueueWriteImage_ -#define clFinish clFinish_ -#define clFlush clFlush_ -#define clGetCommandQueueInfo clGetCommandQueueInfo_ -#define clGetContextInfo clGetContextInfo_ -#define clGetDeviceIDs clGetDeviceIDs_ -#define clGetDeviceInfo clGetDeviceInfo_ -#define clGetEventInfo clGetEventInfo_ -#define clGetEventProfilingInfo clGetEventProfilingInfo_ -#define clGetExtensionFunctionAddress clGetExtensionFunctionAddress_ -#define clGetExtensionFunctionAddressForPlatform clGetExtensionFunctionAddressForPlatform_ -#define clGetImageInfo clGetImageInfo_ -#define clGetKernelArgInfo clGetKernelArgInfo_ -#define clGetKernelInfo clGetKernelInfo_ -#define clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo_ -#define clGetMemObjectInfo clGetMemObjectInfo_ -#define clGetPlatformIDs clGetPlatformIDs_ -#define clGetPlatformInfo clGetPlatformInfo_ -#define clGetProgramBuildInfo clGetProgramBuildInfo_ -#define clGetProgramInfo clGetProgramInfo_ -#define clGetSamplerInfo clGetSamplerInfo_ -#define clGetSupportedImageFormats clGetSupportedImageFormats_ -#define clLinkProgram clLinkProgram_ -#define clReleaseCommandQueue clReleaseCommandQueue_ -#define clReleaseContext clReleaseContext_ -#define clReleaseDevice clReleaseDevice_ -#define clReleaseEvent clReleaseEvent_ -#define clReleaseKernel clReleaseKernel_ -#define clReleaseMemObject clReleaseMemObject_ -#define clReleaseProgram clReleaseProgram_ -#define clReleaseSampler clReleaseSampler_ -#define clRetainCommandQueue clRetainCommandQueue_ -#define clRetainContext clRetainContext_ -#define clRetainDevice clRetainDevice_ -#define clRetainEvent clRetainEvent_ -#define clRetainKernel clRetainKernel_ -#define clRetainMemObject clRetainMemObject_ -#define clRetainProgram clRetainProgram_ -#define clRetainSampler clRetainSampler_ -#define clSetEventCallback clSetEventCallback_ -#define clSetKernelArg clSetKernelArg_ -#define clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback_ -#define clSetUserEventStatus clSetUserEventStatus_ -#define clUnloadCompiler clUnloadCompiler_ -#define clUnloadPlatformCompiler clUnloadPlatformCompiler_ -#define clWaitForEvents clWaitForEvents_ - -#if defined __APPLE__ -#define CL_SILENCE_DEPRECATION -#include -#else -#include -#endif - -// generated by parser_cl.py -#undef clBuildProgram -#define clBuildProgram clBuildProgram_pfn -#undef clCompileProgram -#define clCompileProgram clCompileProgram_pfn -#undef clCreateBuffer -#define clCreateBuffer clCreateBuffer_pfn -#undef clCreateCommandQueue -#define clCreateCommandQueue clCreateCommandQueue_pfn -#undef clCreateContext -#define clCreateContext clCreateContext_pfn -#undef clCreateContextFromType -#define clCreateContextFromType clCreateContextFromType_pfn -#undef clCreateImage -#define clCreateImage clCreateImage_pfn -#undef clCreateImage2D -#define clCreateImage2D clCreateImage2D_pfn -#undef clCreateImage3D -#define clCreateImage3D clCreateImage3D_pfn -#undef clCreateKernel -#define clCreateKernel clCreateKernel_pfn -#undef clCreateKernelsInProgram -#define clCreateKernelsInProgram clCreateKernelsInProgram_pfn -#undef clCreateProgramWithBinary -#define clCreateProgramWithBinary clCreateProgramWithBinary_pfn -#undef clCreateProgramWithBuiltInKernels -#define clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels_pfn -#undef clCreateProgramWithSource -#define clCreateProgramWithSource clCreateProgramWithSource_pfn -#undef clCreateSampler -#define clCreateSampler clCreateSampler_pfn -#undef clCreateSubBuffer -#define clCreateSubBuffer clCreateSubBuffer_pfn -#undef clCreateSubDevices -#define clCreateSubDevices clCreateSubDevices_pfn -#undef clCreateUserEvent -#define clCreateUserEvent clCreateUserEvent_pfn -#undef clEnqueueBarrier -#define clEnqueueBarrier clEnqueueBarrier_pfn -#undef clEnqueueBarrierWithWaitList -#define clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList_pfn -#undef clEnqueueCopyBuffer -#define clEnqueueCopyBuffer clEnqueueCopyBuffer_pfn -#undef clEnqueueCopyBufferRect -#define clEnqueueCopyBufferRect clEnqueueCopyBufferRect_pfn -#undef clEnqueueCopyBufferToImage -#define clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage_pfn -#undef clEnqueueCopyImage -#define clEnqueueCopyImage clEnqueueCopyImage_pfn -#undef clEnqueueCopyImageToBuffer -#define clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer_pfn -#undef clEnqueueFillBuffer -#define clEnqueueFillBuffer clEnqueueFillBuffer_pfn -#undef clEnqueueFillImage -#define clEnqueueFillImage clEnqueueFillImage_pfn -#undef clEnqueueMapBuffer -#define clEnqueueMapBuffer clEnqueueMapBuffer_pfn -#undef clEnqueueMapImage -#define clEnqueueMapImage clEnqueueMapImage_pfn -#undef clEnqueueMarker -#define clEnqueueMarker clEnqueueMarker_pfn -#undef clEnqueueMarkerWithWaitList -#define clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList_pfn -#undef clEnqueueMigrateMemObjects -#define clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects_pfn -#undef clEnqueueNDRangeKernel -#define clEnqueueNDRangeKernel clEnqueueNDRangeKernel_pfn -#undef clEnqueueNativeKernel -#define clEnqueueNativeKernel clEnqueueNativeKernel_pfn -#undef clEnqueueReadBuffer -#define clEnqueueReadBuffer clEnqueueReadBuffer_pfn -#undef clEnqueueReadBufferRect -#define clEnqueueReadBufferRect clEnqueueReadBufferRect_pfn -#undef clEnqueueReadImage -#define clEnqueueReadImage clEnqueueReadImage_pfn -#undef clEnqueueTask -#define clEnqueueTask clEnqueueTask_pfn -#undef clEnqueueUnmapMemObject -#define clEnqueueUnmapMemObject clEnqueueUnmapMemObject_pfn -#undef clEnqueueWaitForEvents -#define clEnqueueWaitForEvents clEnqueueWaitForEvents_pfn -#undef clEnqueueWriteBuffer -#define clEnqueueWriteBuffer clEnqueueWriteBuffer_pfn -#undef clEnqueueWriteBufferRect -#define clEnqueueWriteBufferRect clEnqueueWriteBufferRect_pfn -#undef clEnqueueWriteImage -#define clEnqueueWriteImage clEnqueueWriteImage_pfn -#undef clFinish -#define clFinish clFinish_pfn -#undef clFlush -#define clFlush clFlush_pfn -#undef clGetCommandQueueInfo -#define clGetCommandQueueInfo clGetCommandQueueInfo_pfn -#undef clGetContextInfo -#define clGetContextInfo clGetContextInfo_pfn -#undef clGetDeviceIDs -#define clGetDeviceIDs clGetDeviceIDs_pfn -#undef clGetDeviceInfo -#define clGetDeviceInfo clGetDeviceInfo_pfn -#undef clGetEventInfo -#define clGetEventInfo clGetEventInfo_pfn -#undef clGetEventProfilingInfo -#define clGetEventProfilingInfo clGetEventProfilingInfo_pfn -#undef clGetExtensionFunctionAddress -#define clGetExtensionFunctionAddress clGetExtensionFunctionAddress_pfn -#undef clGetExtensionFunctionAddressForPlatform -#define clGetExtensionFunctionAddressForPlatform clGetExtensionFunctionAddressForPlatform_pfn -#undef clGetImageInfo -#define clGetImageInfo clGetImageInfo_pfn -#undef clGetKernelArgInfo -#define clGetKernelArgInfo clGetKernelArgInfo_pfn -#undef clGetKernelInfo -#define clGetKernelInfo clGetKernelInfo_pfn -#undef clGetKernelWorkGroupInfo -#define clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo_pfn -#undef clGetMemObjectInfo -#define clGetMemObjectInfo clGetMemObjectInfo_pfn -#undef clGetPlatformIDs -#define clGetPlatformIDs clGetPlatformIDs_pfn -#undef clGetPlatformInfo -#define clGetPlatformInfo clGetPlatformInfo_pfn -#undef clGetProgramBuildInfo -#define clGetProgramBuildInfo clGetProgramBuildInfo_pfn -#undef clGetProgramInfo -#define clGetProgramInfo clGetProgramInfo_pfn -#undef clGetSamplerInfo -#define clGetSamplerInfo clGetSamplerInfo_pfn -#undef clGetSupportedImageFormats -#define clGetSupportedImageFormats clGetSupportedImageFormats_pfn -#undef clLinkProgram -#define clLinkProgram clLinkProgram_pfn -#undef clReleaseCommandQueue -#define clReleaseCommandQueue clReleaseCommandQueue_pfn -#undef clReleaseContext -#define clReleaseContext clReleaseContext_pfn -#undef clReleaseDevice -#define clReleaseDevice clReleaseDevice_pfn -#undef clReleaseEvent -#define clReleaseEvent clReleaseEvent_pfn -#undef clReleaseKernel -#define clReleaseKernel clReleaseKernel_pfn -#undef clReleaseMemObject -#define clReleaseMemObject clReleaseMemObject_pfn -#undef clReleaseProgram -#define clReleaseProgram clReleaseProgram_pfn -#undef clReleaseSampler -#define clReleaseSampler clReleaseSampler_pfn -#undef clRetainCommandQueue -#define clRetainCommandQueue clRetainCommandQueue_pfn -#undef clRetainContext -#define clRetainContext clRetainContext_pfn -#undef clRetainDevice -#define clRetainDevice clRetainDevice_pfn -#undef clRetainEvent -#define clRetainEvent clRetainEvent_pfn -#undef clRetainKernel -#define clRetainKernel clRetainKernel_pfn -#undef clRetainMemObject -#define clRetainMemObject clRetainMemObject_pfn -#undef clRetainProgram -#define clRetainProgram clRetainProgram_pfn -#undef clRetainSampler -#define clRetainSampler clRetainSampler_pfn -#undef clSetEventCallback -#define clSetEventCallback clSetEventCallback_pfn -#undef clSetKernelArg -#define clSetKernelArg clSetKernelArg_pfn -#undef clSetMemObjectDestructorCallback -#define clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback_pfn -#undef clSetUserEventStatus -#define clSetUserEventStatus clSetUserEventStatus_pfn -#undef clUnloadCompiler -#define clUnloadCompiler clUnloadCompiler_pfn -#undef clUnloadPlatformCompiler -#define clUnloadPlatformCompiler clUnloadPlatformCompiler_pfn -#undef clWaitForEvents -#define clWaitForEvents clWaitForEvents_pfn - -// generated by parser_cl.py -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clBuildProgram)(cl_program, cl_uint, const cl_device_id*, const char*, void (CL_CALLBACK*) (cl_program, void*), void*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clCompileProgram)(cl_program, cl_uint, const cl_device_id*, const char*, cl_uint, const cl_program*, const char**, void (CL_CALLBACK*) (cl_program, void*), void*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateBuffer)(cl_context, cl_mem_flags, size_t, void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_command_queue (CL_API_CALL*clCreateCommandQueue)(cl_context, cl_device_id, cl_command_queue_properties, cl_int*); -extern CL_RUNTIME_EXPORT cl_context (CL_API_CALL*clCreateContext)(const cl_context_properties*, cl_uint, const cl_device_id*, void (CL_CALLBACK*) (const char*, const void*, size_t, void*), void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_context (CL_API_CALL*clCreateContextFromType)(const cl_context_properties*, cl_device_type, void (CL_CALLBACK*) (const char*, const void*, size_t, void*), void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateImage)(cl_context, cl_mem_flags, const cl_image_format*, const cl_image_desc*, void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateImage2D)(cl_context, cl_mem_flags, const cl_image_format*, size_t, size_t, size_t, void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateImage3D)(cl_context, cl_mem_flags, const cl_image_format*, size_t, size_t, size_t, size_t, size_t, void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_kernel (CL_API_CALL*clCreateKernel)(cl_program, const char*, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clCreateKernelsInProgram)(cl_program, cl_uint, cl_kernel*, cl_uint*); -extern CL_RUNTIME_EXPORT cl_program (CL_API_CALL*clCreateProgramWithBinary)(cl_context, cl_uint, const cl_device_id*, const size_t*, const unsigned char**, cl_int*, cl_int*); -extern CL_RUNTIME_EXPORT cl_program (CL_API_CALL*clCreateProgramWithBuiltInKernels)(cl_context, cl_uint, const cl_device_id*, const char*, cl_int*); -extern CL_RUNTIME_EXPORT cl_program (CL_API_CALL*clCreateProgramWithSource)(cl_context, cl_uint, const char**, const size_t*, cl_int*); -extern CL_RUNTIME_EXPORT cl_sampler (CL_API_CALL*clCreateSampler)(cl_context, cl_bool, cl_addressing_mode, cl_filter_mode, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateSubBuffer)(cl_mem, cl_mem_flags, cl_buffer_create_type, const void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clCreateSubDevices)(cl_device_id, const cl_device_partition_property*, cl_uint, cl_device_id*, cl_uint*); -extern CL_RUNTIME_EXPORT cl_event (CL_API_CALL*clCreateUserEvent)(cl_context, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueBarrier)(cl_command_queue); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueBarrierWithWaitList)(cl_command_queue, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueCopyBuffer)(cl_command_queue, cl_mem, cl_mem, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueCopyBufferRect)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, const size_t*, size_t, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueCopyBufferToImage)(cl_command_queue, cl_mem, cl_mem, size_t, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueCopyImage)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueCopyImageToBuffer)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, size_t, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueFillBuffer)(cl_command_queue, cl_mem, const void*, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueFillImage)(cl_command_queue, cl_mem, const void*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT void* (CL_API_CALL*clEnqueueMapBuffer)(cl_command_queue, cl_mem, cl_bool, cl_map_flags, size_t, size_t, cl_uint, const cl_event*, cl_event*, cl_int*); -extern CL_RUNTIME_EXPORT void* (CL_API_CALL*clEnqueueMapImage)(cl_command_queue, cl_mem, cl_bool, cl_map_flags, const size_t*, const size_t*, size_t*, size_t*, cl_uint, const cl_event*, cl_event*, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueMarker)(cl_command_queue, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueMarkerWithWaitList)(cl_command_queue, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueMigrateMemObjects)(cl_command_queue, cl_uint, const cl_mem*, cl_mem_migration_flags, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueNDRangeKernel)(cl_command_queue, cl_kernel, cl_uint, const size_t*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueNativeKernel)(cl_command_queue, void (CL_CALLBACK*) (void*), void*, size_t, cl_uint, const cl_mem*, const void**, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueReadBuffer)(cl_command_queue, cl_mem, cl_bool, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueReadBufferRect)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, const size_t*, size_t, size_t, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueReadImage)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueTask)(cl_command_queue, cl_kernel, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueUnmapMemObject)(cl_command_queue, cl_mem, void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueWaitForEvents)(cl_command_queue, cl_uint, const cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueWriteBuffer)(cl_command_queue, cl_mem, cl_bool, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueWriteBufferRect)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, const size_t*, size_t, size_t, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueWriteImage)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clFinish)(cl_command_queue); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clFlush)(cl_command_queue); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetCommandQueueInfo)(cl_command_queue, cl_command_queue_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetContextInfo)(cl_context, cl_context_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetDeviceIDs)(cl_platform_id, cl_device_type, cl_uint, cl_device_id*, cl_uint*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetDeviceInfo)(cl_device_id, cl_device_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetEventInfo)(cl_event, cl_event_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetEventProfilingInfo)(cl_event, cl_profiling_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT void* (CL_API_CALL*clGetExtensionFunctionAddress)(const char*); -extern CL_RUNTIME_EXPORT void* (CL_API_CALL*clGetExtensionFunctionAddressForPlatform)(cl_platform_id, const char*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetImageInfo)(cl_mem, cl_image_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetKernelArgInfo)(cl_kernel, cl_uint, cl_kernel_arg_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetKernelInfo)(cl_kernel, cl_kernel_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetKernelWorkGroupInfo)(cl_kernel, cl_device_id, cl_kernel_work_group_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetMemObjectInfo)(cl_mem, cl_mem_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetPlatformIDs)(cl_uint, cl_platform_id*, cl_uint*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetPlatformInfo)(cl_platform_id, cl_platform_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetProgramBuildInfo)(cl_program, cl_device_id, cl_program_build_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetProgramInfo)(cl_program, cl_program_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetSamplerInfo)(cl_sampler, cl_sampler_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetSupportedImageFormats)(cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, cl_image_format*, cl_uint*); -extern CL_RUNTIME_EXPORT cl_program (CL_API_CALL*clLinkProgram)(cl_context, cl_uint, const cl_device_id*, const char*, cl_uint, const cl_program*, void (CL_CALLBACK*) (cl_program, void*), void*, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseCommandQueue)(cl_command_queue); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseContext)(cl_context); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseDevice)(cl_device_id); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseEvent)(cl_event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseKernel)(cl_kernel); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseMemObject)(cl_mem); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseProgram)(cl_program); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseSampler)(cl_sampler); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainCommandQueue)(cl_command_queue); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainContext)(cl_context); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainDevice)(cl_device_id); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainEvent)(cl_event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainKernel)(cl_kernel); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainMemObject)(cl_mem); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainProgram)(cl_program); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clRetainSampler)(cl_sampler); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clSetEventCallback)(cl_event, cl_int, void (CL_CALLBACK*) (cl_event, cl_int, void*), void*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clSetKernelArg)(cl_kernel, cl_uint, size_t, const void*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clSetMemObjectDestructorCallback)(cl_mem, void (CL_CALLBACK*) (cl_mem, void*), void*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clSetUserEventStatus)(cl_event, cl_int); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clUnloadCompiler)(); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clUnloadPlatformCompiler)(cl_platform_id); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clWaitForEvents)(cl_uint, const cl_event*); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp deleted file mode 100644 index 216b22b8..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +++ /dev/null @@ -1,272 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP -#error "Invalid usage" -#endif - -// generated by parser_cl.py -#undef clBuildProgram -#define clBuildProgram clBuildProgram_fn -inline cl_int clBuildProgram(cl_program p0, cl_uint p1, const cl_device_id* p2, const char* p3, void (CL_CALLBACK*p4) (cl_program, void*), void* p5) { return clBuildProgram_pfn(p0, p1, p2, p3, p4, p5); } -#undef clCompileProgram -#define clCompileProgram clCompileProgram_fn -inline cl_int clCompileProgram(cl_program p0, cl_uint p1, const cl_device_id* p2, const char* p3, cl_uint p4, const cl_program* p5, const char** p6, void (CL_CALLBACK*p7) (cl_program, void*), void* p8) { return clCompileProgram_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clCreateBuffer -#define clCreateBuffer clCreateBuffer_fn -inline cl_mem clCreateBuffer(cl_context p0, cl_mem_flags p1, size_t p2, void* p3, cl_int* p4) { return clCreateBuffer_pfn(p0, p1, p2, p3, p4); } -#undef clCreateCommandQueue -#define clCreateCommandQueue clCreateCommandQueue_fn -inline cl_command_queue clCreateCommandQueue(cl_context p0, cl_device_id p1, cl_command_queue_properties p2, cl_int* p3) { return clCreateCommandQueue_pfn(p0, p1, p2, p3); } -#undef clCreateContext -#define clCreateContext clCreateContext_fn -inline cl_context clCreateContext(const cl_context_properties* p0, cl_uint p1, const cl_device_id* p2, void (CL_CALLBACK*p3) (const char*, const void*, size_t, void*), void* p4, cl_int* p5) { return clCreateContext_pfn(p0, p1, p2, p3, p4, p5); } -#undef clCreateContextFromType -#define clCreateContextFromType clCreateContextFromType_fn -inline cl_context clCreateContextFromType(const cl_context_properties* p0, cl_device_type p1, void (CL_CALLBACK*p2) (const char*, const void*, size_t, void*), void* p3, cl_int* p4) { return clCreateContextFromType_pfn(p0, p1, p2, p3, p4); } -#undef clCreateImage -#define clCreateImage clCreateImage_fn -inline cl_mem clCreateImage(cl_context p0, cl_mem_flags p1, const cl_image_format* p2, const cl_image_desc* p3, void* p4, cl_int* p5) { return clCreateImage_pfn(p0, p1, p2, p3, p4, p5); } -#undef clCreateImage2D -#define clCreateImage2D clCreateImage2D_fn -inline cl_mem clCreateImage2D(cl_context p0, cl_mem_flags p1, const cl_image_format* p2, size_t p3, size_t p4, size_t p5, void* p6, cl_int* p7) { return clCreateImage2D_pfn(p0, p1, p2, p3, p4, p5, p6, p7); } -#undef clCreateImage3D -#define clCreateImage3D clCreateImage3D_fn -inline cl_mem clCreateImage3D(cl_context p0, cl_mem_flags p1, const cl_image_format* p2, size_t p3, size_t p4, size_t p5, size_t p6, size_t p7, void* p8, cl_int* p9) { return clCreateImage3D_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } -#undef clCreateKernel -#define clCreateKernel clCreateKernel_fn -inline cl_kernel clCreateKernel(cl_program p0, const char* p1, cl_int* p2) { return clCreateKernel_pfn(p0, p1, p2); } -#undef clCreateKernelsInProgram -#define clCreateKernelsInProgram clCreateKernelsInProgram_fn -inline cl_int clCreateKernelsInProgram(cl_program p0, cl_uint p1, cl_kernel* p2, cl_uint* p3) { return clCreateKernelsInProgram_pfn(p0, p1, p2, p3); } -#undef clCreateProgramWithBinary -#define clCreateProgramWithBinary clCreateProgramWithBinary_fn -inline cl_program clCreateProgramWithBinary(cl_context p0, cl_uint p1, const cl_device_id* p2, const size_t* p3, const unsigned char** p4, cl_int* p5, cl_int* p6) { return clCreateProgramWithBinary_pfn(p0, p1, p2, p3, p4, p5, p6); } -#undef clCreateProgramWithBuiltInKernels -#define clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels_fn -inline cl_program clCreateProgramWithBuiltInKernels(cl_context p0, cl_uint p1, const cl_device_id* p2, const char* p3, cl_int* p4) { return clCreateProgramWithBuiltInKernels_pfn(p0, p1, p2, p3, p4); } -#undef clCreateProgramWithSource -#define clCreateProgramWithSource clCreateProgramWithSource_fn -inline cl_program clCreateProgramWithSource(cl_context p0, cl_uint p1, const char** p2, const size_t* p3, cl_int* p4) { return clCreateProgramWithSource_pfn(p0, p1, p2, p3, p4); } -#undef clCreateSampler -#define clCreateSampler clCreateSampler_fn -inline cl_sampler clCreateSampler(cl_context p0, cl_bool p1, cl_addressing_mode p2, cl_filter_mode p3, cl_int* p4) { return clCreateSampler_pfn(p0, p1, p2, p3, p4); } -#undef clCreateSubBuffer -#define clCreateSubBuffer clCreateSubBuffer_fn -inline cl_mem clCreateSubBuffer(cl_mem p0, cl_mem_flags p1, cl_buffer_create_type p2, const void* p3, cl_int* p4) { return clCreateSubBuffer_pfn(p0, p1, p2, p3, p4); } -#undef clCreateSubDevices -#define clCreateSubDevices clCreateSubDevices_fn -inline cl_int clCreateSubDevices(cl_device_id p0, const cl_device_partition_property* p1, cl_uint p2, cl_device_id* p3, cl_uint* p4) { return clCreateSubDevices_pfn(p0, p1, p2, p3, p4); } -#undef clCreateUserEvent -#define clCreateUserEvent clCreateUserEvent_fn -inline cl_event clCreateUserEvent(cl_context p0, cl_int* p1) { return clCreateUserEvent_pfn(p0, p1); } -#undef clEnqueueBarrier -#define clEnqueueBarrier clEnqueueBarrier_fn -inline cl_int clEnqueueBarrier(cl_command_queue p0) { return clEnqueueBarrier_pfn(p0); } -#undef clEnqueueBarrierWithWaitList -#define clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList_fn -inline cl_int clEnqueueBarrierWithWaitList(cl_command_queue p0, cl_uint p1, const cl_event* p2, cl_event* p3) { return clEnqueueBarrierWithWaitList_pfn(p0, p1, p2, p3); } -#undef clEnqueueCopyBuffer -#define clEnqueueCopyBuffer clEnqueueCopyBuffer_fn -inline cl_int clEnqueueCopyBuffer(cl_command_queue p0, cl_mem p1, cl_mem p2, size_t p3, size_t p4, size_t p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueCopyBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueCopyBufferRect -#define clEnqueueCopyBufferRect clEnqueueCopyBufferRect_fn -inline cl_int clEnqueueCopyBufferRect(cl_command_queue p0, cl_mem p1, cl_mem p2, const size_t* p3, const size_t* p4, const size_t* p5, size_t p6, size_t p7, size_t p8, size_t p9, cl_uint p10, const cl_event* p11, cl_event* p12) { return clEnqueueCopyBufferRect_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } -#undef clEnqueueCopyBufferToImage -#define clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage_fn -inline cl_int clEnqueueCopyBufferToImage(cl_command_queue p0, cl_mem p1, cl_mem p2, size_t p3, const size_t* p4, const size_t* p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueCopyBufferToImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueCopyImage -#define clEnqueueCopyImage clEnqueueCopyImage_fn -inline cl_int clEnqueueCopyImage(cl_command_queue p0, cl_mem p1, cl_mem p2, const size_t* p3, const size_t* p4, const size_t* p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueCopyImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueCopyImageToBuffer -#define clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer_fn -inline cl_int clEnqueueCopyImageToBuffer(cl_command_queue p0, cl_mem p1, cl_mem p2, const size_t* p3, const size_t* p4, size_t p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueCopyImageToBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueFillBuffer -#define clEnqueueFillBuffer clEnqueueFillBuffer_fn -inline cl_int clEnqueueFillBuffer(cl_command_queue p0, cl_mem p1, const void* p2, size_t p3, size_t p4, size_t p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueFillBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueFillImage -#define clEnqueueFillImage clEnqueueFillImage_fn -inline cl_int clEnqueueFillImage(cl_command_queue p0, cl_mem p1, const void* p2, const size_t* p3, const size_t* p4, cl_uint p5, const cl_event* p6, cl_event* p7) { return clEnqueueFillImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7); } -#undef clEnqueueMapBuffer -#define clEnqueueMapBuffer clEnqueueMapBuffer_fn -inline void* clEnqueueMapBuffer(cl_command_queue p0, cl_mem p1, cl_bool p2, cl_map_flags p3, size_t p4, size_t p5, cl_uint p6, const cl_event* p7, cl_event* p8, cl_int* p9) { return clEnqueueMapBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } -#undef clEnqueueMapImage -#define clEnqueueMapImage clEnqueueMapImage_fn -inline void* clEnqueueMapImage(cl_command_queue p0, cl_mem p1, cl_bool p2, cl_map_flags p3, const size_t* p4, const size_t* p5, size_t* p6, size_t* p7, cl_uint p8, const cl_event* p9, cl_event* p10, cl_int* p11) { return clEnqueueMapImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); } -#undef clEnqueueMarker -#define clEnqueueMarker clEnqueueMarker_fn -inline cl_int clEnqueueMarker(cl_command_queue p0, cl_event* p1) { return clEnqueueMarker_pfn(p0, p1); } -#undef clEnqueueMarkerWithWaitList -#define clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList_fn -inline cl_int clEnqueueMarkerWithWaitList(cl_command_queue p0, cl_uint p1, const cl_event* p2, cl_event* p3) { return clEnqueueMarkerWithWaitList_pfn(p0, p1, p2, p3); } -#undef clEnqueueMigrateMemObjects -#define clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects_fn -inline cl_int clEnqueueMigrateMemObjects(cl_command_queue p0, cl_uint p1, const cl_mem* p2, cl_mem_migration_flags p3, cl_uint p4, const cl_event* p5, cl_event* p6) { return clEnqueueMigrateMemObjects_pfn(p0, p1, p2, p3, p4, p5, p6); } -#undef clEnqueueNDRangeKernel -#define clEnqueueNDRangeKernel clEnqueueNDRangeKernel_fn -inline cl_int clEnqueueNDRangeKernel(cl_command_queue p0, cl_kernel p1, cl_uint p2, const size_t* p3, const size_t* p4, const size_t* p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueNDRangeKernel_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueNativeKernel -#define clEnqueueNativeKernel clEnqueueNativeKernel_fn -inline cl_int clEnqueueNativeKernel(cl_command_queue p0, void (CL_CALLBACK*p1) (void*), void* p2, size_t p3, cl_uint p4, const cl_mem* p5, const void** p6, cl_uint p7, const cl_event* p8, cl_event* p9) { return clEnqueueNativeKernel_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } -#undef clEnqueueReadBuffer -#define clEnqueueReadBuffer clEnqueueReadBuffer_fn -inline cl_int clEnqueueReadBuffer(cl_command_queue p0, cl_mem p1, cl_bool p2, size_t p3, size_t p4, void* p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueReadBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueReadBufferRect -#define clEnqueueReadBufferRect clEnqueueReadBufferRect_fn -inline cl_int clEnqueueReadBufferRect(cl_command_queue p0, cl_mem p1, cl_bool p2, const size_t* p3, const size_t* p4, const size_t* p5, size_t p6, size_t p7, size_t p8, size_t p9, void* p10, cl_uint p11, const cl_event* p12, cl_event* p13) { return clEnqueueReadBufferRect_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); } -#undef clEnqueueReadImage -#define clEnqueueReadImage clEnqueueReadImage_fn -inline cl_int clEnqueueReadImage(cl_command_queue p0, cl_mem p1, cl_bool p2, const size_t* p3, const size_t* p4, size_t p5, size_t p6, void* p7, cl_uint p8, const cl_event* p9, cl_event* p10) { return clEnqueueReadImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } -#undef clEnqueueTask -#define clEnqueueTask clEnqueueTask_fn -inline cl_int clEnqueueTask(cl_command_queue p0, cl_kernel p1, cl_uint p2, const cl_event* p3, cl_event* p4) { return clEnqueueTask_pfn(p0, p1, p2, p3, p4); } -#undef clEnqueueUnmapMemObject -#define clEnqueueUnmapMemObject clEnqueueUnmapMemObject_fn -inline cl_int clEnqueueUnmapMemObject(cl_command_queue p0, cl_mem p1, void* p2, cl_uint p3, const cl_event* p4, cl_event* p5) { return clEnqueueUnmapMemObject_pfn(p0, p1, p2, p3, p4, p5); } -#undef clEnqueueWaitForEvents -#define clEnqueueWaitForEvents clEnqueueWaitForEvents_fn -inline cl_int clEnqueueWaitForEvents(cl_command_queue p0, cl_uint p1, const cl_event* p2) { return clEnqueueWaitForEvents_pfn(p0, p1, p2); } -#undef clEnqueueWriteBuffer -#define clEnqueueWriteBuffer clEnqueueWriteBuffer_fn -inline cl_int clEnqueueWriteBuffer(cl_command_queue p0, cl_mem p1, cl_bool p2, size_t p3, size_t p4, const void* p5, cl_uint p6, const cl_event* p7, cl_event* p8) { return clEnqueueWriteBuffer_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clEnqueueWriteBufferRect -#define clEnqueueWriteBufferRect clEnqueueWriteBufferRect_fn -inline cl_int clEnqueueWriteBufferRect(cl_command_queue p0, cl_mem p1, cl_bool p2, const size_t* p3, const size_t* p4, const size_t* p5, size_t p6, size_t p7, size_t p8, size_t p9, const void* p10, cl_uint p11, const cl_event* p12, cl_event* p13) { return clEnqueueWriteBufferRect_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); } -#undef clEnqueueWriteImage -#define clEnqueueWriteImage clEnqueueWriteImage_fn -inline cl_int clEnqueueWriteImage(cl_command_queue p0, cl_mem p1, cl_bool p2, const size_t* p3, const size_t* p4, size_t p5, size_t p6, const void* p7, cl_uint p8, const cl_event* p9, cl_event* p10) { return clEnqueueWriteImage_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } -#undef clFinish -#define clFinish clFinish_fn -inline cl_int clFinish(cl_command_queue p0) { return clFinish_pfn(p0); } -#undef clFlush -#define clFlush clFlush_fn -inline cl_int clFlush(cl_command_queue p0) { return clFlush_pfn(p0); } -#undef clGetCommandQueueInfo -#define clGetCommandQueueInfo clGetCommandQueueInfo_fn -inline cl_int clGetCommandQueueInfo(cl_command_queue p0, cl_command_queue_info p1, size_t p2, void* p3, size_t* p4) { return clGetCommandQueueInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetContextInfo -#define clGetContextInfo clGetContextInfo_fn -inline cl_int clGetContextInfo(cl_context p0, cl_context_info p1, size_t p2, void* p3, size_t* p4) { return clGetContextInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetDeviceIDs -#define clGetDeviceIDs clGetDeviceIDs_fn -inline cl_int clGetDeviceIDs(cl_platform_id p0, cl_device_type p1, cl_uint p2, cl_device_id* p3, cl_uint* p4) { return clGetDeviceIDs_pfn(p0, p1, p2, p3, p4); } -#undef clGetDeviceInfo -#define clGetDeviceInfo clGetDeviceInfo_fn -inline cl_int clGetDeviceInfo(cl_device_id p0, cl_device_info p1, size_t p2, void* p3, size_t* p4) { return clGetDeviceInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetEventInfo -#define clGetEventInfo clGetEventInfo_fn -inline cl_int clGetEventInfo(cl_event p0, cl_event_info p1, size_t p2, void* p3, size_t* p4) { return clGetEventInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetEventProfilingInfo -#define clGetEventProfilingInfo clGetEventProfilingInfo_fn -inline cl_int clGetEventProfilingInfo(cl_event p0, cl_profiling_info p1, size_t p2, void* p3, size_t* p4) { return clGetEventProfilingInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetExtensionFunctionAddress -#define clGetExtensionFunctionAddress clGetExtensionFunctionAddress_fn -inline void* clGetExtensionFunctionAddress(const char* p0) { return clGetExtensionFunctionAddress_pfn(p0); } -#undef clGetExtensionFunctionAddressForPlatform -#define clGetExtensionFunctionAddressForPlatform clGetExtensionFunctionAddressForPlatform_fn -inline void* clGetExtensionFunctionAddressForPlatform(cl_platform_id p0, const char* p1) { return clGetExtensionFunctionAddressForPlatform_pfn(p0, p1); } -#undef clGetImageInfo -#define clGetImageInfo clGetImageInfo_fn -inline cl_int clGetImageInfo(cl_mem p0, cl_image_info p1, size_t p2, void* p3, size_t* p4) { return clGetImageInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetKernelArgInfo -#define clGetKernelArgInfo clGetKernelArgInfo_fn -inline cl_int clGetKernelArgInfo(cl_kernel p0, cl_uint p1, cl_kernel_arg_info p2, size_t p3, void* p4, size_t* p5) { return clGetKernelArgInfo_pfn(p0, p1, p2, p3, p4, p5); } -#undef clGetKernelInfo -#define clGetKernelInfo clGetKernelInfo_fn -inline cl_int clGetKernelInfo(cl_kernel p0, cl_kernel_info p1, size_t p2, void* p3, size_t* p4) { return clGetKernelInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetKernelWorkGroupInfo -#define clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo_fn -inline cl_int clGetKernelWorkGroupInfo(cl_kernel p0, cl_device_id p1, cl_kernel_work_group_info p2, size_t p3, void* p4, size_t* p5) { return clGetKernelWorkGroupInfo_pfn(p0, p1, p2, p3, p4, p5); } -#undef clGetMemObjectInfo -#define clGetMemObjectInfo clGetMemObjectInfo_fn -inline cl_int clGetMemObjectInfo(cl_mem p0, cl_mem_info p1, size_t p2, void* p3, size_t* p4) { return clGetMemObjectInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetPlatformIDs -#define clGetPlatformIDs clGetPlatformIDs_fn -inline cl_int clGetPlatformIDs(cl_uint p0, cl_platform_id* p1, cl_uint* p2) { return clGetPlatformIDs_pfn(p0, p1, p2); } -#undef clGetPlatformInfo -#define clGetPlatformInfo clGetPlatformInfo_fn -inline cl_int clGetPlatformInfo(cl_platform_id p0, cl_platform_info p1, size_t p2, void* p3, size_t* p4) { return clGetPlatformInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetProgramBuildInfo -#define clGetProgramBuildInfo clGetProgramBuildInfo_fn -inline cl_int clGetProgramBuildInfo(cl_program p0, cl_device_id p1, cl_program_build_info p2, size_t p3, void* p4, size_t* p5) { return clGetProgramBuildInfo_pfn(p0, p1, p2, p3, p4, p5); } -#undef clGetProgramInfo -#define clGetProgramInfo clGetProgramInfo_fn -inline cl_int clGetProgramInfo(cl_program p0, cl_program_info p1, size_t p2, void* p3, size_t* p4) { return clGetProgramInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetSamplerInfo -#define clGetSamplerInfo clGetSamplerInfo_fn -inline cl_int clGetSamplerInfo(cl_sampler p0, cl_sampler_info p1, size_t p2, void* p3, size_t* p4) { return clGetSamplerInfo_pfn(p0, p1, p2, p3, p4); } -#undef clGetSupportedImageFormats -#define clGetSupportedImageFormats clGetSupportedImageFormats_fn -inline cl_int clGetSupportedImageFormats(cl_context p0, cl_mem_flags p1, cl_mem_object_type p2, cl_uint p3, cl_image_format* p4, cl_uint* p5) { return clGetSupportedImageFormats_pfn(p0, p1, p2, p3, p4, p5); } -#undef clLinkProgram -#define clLinkProgram clLinkProgram_fn -inline cl_program clLinkProgram(cl_context p0, cl_uint p1, const cl_device_id* p2, const char* p3, cl_uint p4, const cl_program* p5, void (CL_CALLBACK*p6) (cl_program, void*), void* p7, cl_int* p8) { return clLinkProgram_pfn(p0, p1, p2, p3, p4, p5, p6, p7, p8); } -#undef clReleaseCommandQueue -#define clReleaseCommandQueue clReleaseCommandQueue_fn -inline cl_int clReleaseCommandQueue(cl_command_queue p0) { return clReleaseCommandQueue_pfn(p0); } -#undef clReleaseContext -#define clReleaseContext clReleaseContext_fn -inline cl_int clReleaseContext(cl_context p0) { return clReleaseContext_pfn(p0); } -#undef clReleaseDevice -#define clReleaseDevice clReleaseDevice_fn -inline cl_int clReleaseDevice(cl_device_id p0) { return clReleaseDevice_pfn(p0); } -#undef clReleaseEvent -#define clReleaseEvent clReleaseEvent_fn -inline cl_int clReleaseEvent(cl_event p0) { return clReleaseEvent_pfn(p0); } -#undef clReleaseKernel -#define clReleaseKernel clReleaseKernel_fn -inline cl_int clReleaseKernel(cl_kernel p0) { return clReleaseKernel_pfn(p0); } -#undef clReleaseMemObject -#define clReleaseMemObject clReleaseMemObject_fn -inline cl_int clReleaseMemObject(cl_mem p0) { return clReleaseMemObject_pfn(p0); } -#undef clReleaseProgram -#define clReleaseProgram clReleaseProgram_fn -inline cl_int clReleaseProgram(cl_program p0) { return clReleaseProgram_pfn(p0); } -#undef clReleaseSampler -#define clReleaseSampler clReleaseSampler_fn -inline cl_int clReleaseSampler(cl_sampler p0) { return clReleaseSampler_pfn(p0); } -#undef clRetainCommandQueue -#define clRetainCommandQueue clRetainCommandQueue_fn -inline cl_int clRetainCommandQueue(cl_command_queue p0) { return clRetainCommandQueue_pfn(p0); } -#undef clRetainContext -#define clRetainContext clRetainContext_fn -inline cl_int clRetainContext(cl_context p0) { return clRetainContext_pfn(p0); } -#undef clRetainDevice -#define clRetainDevice clRetainDevice_fn -inline cl_int clRetainDevice(cl_device_id p0) { return clRetainDevice_pfn(p0); } -#undef clRetainEvent -#define clRetainEvent clRetainEvent_fn -inline cl_int clRetainEvent(cl_event p0) { return clRetainEvent_pfn(p0); } -#undef clRetainKernel -#define clRetainKernel clRetainKernel_fn -inline cl_int clRetainKernel(cl_kernel p0) { return clRetainKernel_pfn(p0); } -#undef clRetainMemObject -#define clRetainMemObject clRetainMemObject_fn -inline cl_int clRetainMemObject(cl_mem p0) { return clRetainMemObject_pfn(p0); } -#undef clRetainProgram -#define clRetainProgram clRetainProgram_fn -inline cl_int clRetainProgram(cl_program p0) { return clRetainProgram_pfn(p0); } -#undef clRetainSampler -#define clRetainSampler clRetainSampler_fn -inline cl_int clRetainSampler(cl_sampler p0) { return clRetainSampler_pfn(p0); } -#undef clSetEventCallback -#define clSetEventCallback clSetEventCallback_fn -inline cl_int clSetEventCallback(cl_event p0, cl_int p1, void (CL_CALLBACK*p2) (cl_event, cl_int, void*), void* p3) { return clSetEventCallback_pfn(p0, p1, p2, p3); } -#undef clSetKernelArg -#define clSetKernelArg clSetKernelArg_fn -inline cl_int clSetKernelArg(cl_kernel p0, cl_uint p1, size_t p2, const void* p3) { return clSetKernelArg_pfn(p0, p1, p2, p3); } -#undef clSetMemObjectDestructorCallback -#define clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback_fn -inline cl_int clSetMemObjectDestructorCallback(cl_mem p0, void (CL_CALLBACK*p1) (cl_mem, void*), void* p2) { return clSetMemObjectDestructorCallback_pfn(p0, p1, p2); } -#undef clSetUserEventStatus -#define clSetUserEventStatus clSetUserEventStatus_fn -inline cl_int clSetUserEventStatus(cl_event p0, cl_int p1) { return clSetUserEventStatus_pfn(p0, p1); } -#undef clUnloadCompiler -#define clUnloadCompiler clUnloadCompiler_fn -inline cl_int clUnloadCompiler() { return clUnloadCompiler_pfn(); } -#undef clUnloadPlatformCompiler -#define clUnloadPlatformCompiler clUnloadPlatformCompiler_fn -inline cl_int clUnloadPlatformCompiler(cl_platform_id p0) { return clUnloadPlatformCompiler_pfn(p0); } -#undef clWaitForEvents -#define clWaitForEvents clWaitForEvents_fn -inline cl_int clWaitForEvents(cl_uint p0, const cl_event* p1) { return clWaitForEvents_pfn(p0, p1); } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp deleted file mode 100644 index 0b12aed6..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP -#error "Invalid usage" -#endif - -// generated by parser_cl.py -#define clCreateFromGLBuffer clCreateFromGLBuffer_ -#define clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer_ -#define clCreateFromGLTexture clCreateFromGLTexture_ -#define clCreateFromGLTexture2D clCreateFromGLTexture2D_ -#define clCreateFromGLTexture3D clCreateFromGLTexture3D_ -#define clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects_ -#define clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects_ -#define clGetGLContextInfoKHR clGetGLContextInfoKHR_ -#define clGetGLObjectInfo clGetGLObjectInfo_ -#define clGetGLTextureInfo clGetGLTextureInfo_ - -#if defined __APPLE__ -#include -#else -#include -#endif - -// generated by parser_cl.py -#undef clCreateFromGLBuffer -#define clCreateFromGLBuffer clCreateFromGLBuffer_pfn -#undef clCreateFromGLRenderbuffer -#define clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer_pfn -#undef clCreateFromGLTexture -#define clCreateFromGLTexture clCreateFromGLTexture_pfn -#undef clCreateFromGLTexture2D -#define clCreateFromGLTexture2D clCreateFromGLTexture2D_pfn -#undef clCreateFromGLTexture3D -#define clCreateFromGLTexture3D clCreateFromGLTexture3D_pfn -#undef clEnqueueAcquireGLObjects -#define clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects_pfn -#undef clEnqueueReleaseGLObjects -#define clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects_pfn -#undef clGetGLContextInfoKHR -#define clGetGLContextInfoKHR clGetGLContextInfoKHR_pfn -#undef clGetGLObjectInfo -#define clGetGLObjectInfo clGetGLObjectInfo_pfn -#undef clGetGLTextureInfo -#define clGetGLTextureInfo clGetGLTextureInfo_pfn - -#ifdef cl_khr_gl_sharing - -// generated by parser_cl.py -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateFromGLBuffer)(cl_context, cl_mem_flags, cl_GLuint, int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateFromGLRenderbuffer)(cl_context, cl_mem_flags, cl_GLuint, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateFromGLTexture)(cl_context, cl_mem_flags, cl_GLenum, cl_GLint, cl_GLuint, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateFromGLTexture2D)(cl_context, cl_mem_flags, cl_GLenum, cl_GLint, cl_GLuint, cl_int*); -extern CL_RUNTIME_EXPORT cl_mem (CL_API_CALL*clCreateFromGLTexture3D)(cl_context, cl_mem_flags, cl_GLenum, cl_GLint, cl_GLuint, cl_int*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueAcquireGLObjects)(cl_command_queue, cl_uint, const cl_mem*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clEnqueueReleaseGLObjects)(cl_command_queue, cl_uint, const cl_mem*, cl_uint, const cl_event*, cl_event*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetGLContextInfoKHR)(const cl_context_properties*, cl_gl_context_info, size_t, void*, size_t*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetGLObjectInfo)(cl_mem, cl_gl_object_type*, cl_GLuint*); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clGetGLTextureInfo)(cl_mem, cl_gl_texture_info, size_t, void*, size_t*); - -#endif // cl_khr_gl_sharing diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp deleted file mode 100644 index 12f342b2..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// -// AUTOGENERATED, DO NOT EDIT -// -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP -#error "Invalid usage" -#endif - -#ifdef cl_khr_gl_sharing - -// generated by parser_cl.py -#undef clCreateFromGLBuffer -#define clCreateFromGLBuffer clCreateFromGLBuffer_fn -inline cl_mem clCreateFromGLBuffer(cl_context p0, cl_mem_flags p1, cl_GLuint p2, int* p3) { return clCreateFromGLBuffer_pfn(p0, p1, p2, p3); } -#undef clCreateFromGLRenderbuffer -#define clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer_fn -inline cl_mem clCreateFromGLRenderbuffer(cl_context p0, cl_mem_flags p1, cl_GLuint p2, cl_int* p3) { return clCreateFromGLRenderbuffer_pfn(p0, p1, p2, p3); } -#undef clCreateFromGLTexture -#define clCreateFromGLTexture clCreateFromGLTexture_fn -inline cl_mem clCreateFromGLTexture(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture_pfn(p0, p1, p2, p3, p4, p5); } -#undef clCreateFromGLTexture2D -#define clCreateFromGLTexture2D clCreateFromGLTexture2D_fn -inline cl_mem clCreateFromGLTexture2D(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture2D_pfn(p0, p1, p2, p3, p4, p5); } -#undef clCreateFromGLTexture3D -#define clCreateFromGLTexture3D clCreateFromGLTexture3D_fn -inline cl_mem clCreateFromGLTexture3D(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture3D_pfn(p0, p1, p2, p3, p4, p5); } -#undef clEnqueueAcquireGLObjects -#define clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects_fn -inline cl_int clEnqueueAcquireGLObjects(cl_command_queue p0, cl_uint p1, const cl_mem* p2, cl_uint p3, const cl_event* p4, cl_event* p5) { return clEnqueueAcquireGLObjects_pfn(p0, p1, p2, p3, p4, p5); } -#undef clEnqueueReleaseGLObjects -#define clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects_fn -inline cl_int clEnqueueReleaseGLObjects(cl_command_queue p0, cl_uint p1, const cl_mem* p2, cl_uint p3, const cl_event* p4, cl_event* p5) { return clEnqueueReleaseGLObjects_pfn(p0, p1, p2, p3, p4, p5); } -#undef clGetGLContextInfoKHR -#define clGetGLContextInfoKHR clGetGLContextInfoKHR_fn -inline cl_int clGetGLContextInfoKHR(const cl_context_properties* p0, cl_gl_context_info p1, size_t p2, void* p3, size_t* p4) { return clGetGLContextInfoKHR_pfn(p0, p1, p2, p3, p4); } -#undef clGetGLObjectInfo -#define clGetGLObjectInfo clGetGLObjectInfo_fn -inline cl_int clGetGLObjectInfo(cl_mem p0, cl_gl_object_type* p1, cl_GLuint* p2) { return clGetGLObjectInfo_pfn(p0, p1, p2); } -#undef clGetGLTextureInfo -#define clGetGLTextureInfo clGetGLTextureInfo_fn -inline cl_int clGetGLTextureInfo(cl_mem p0, cl_gl_texture_info p1, size_t p2, void* p3, size_t* p4) { return clGetGLTextureInfo_pfn(p0, p1, p2, p3, p4); } - -#endif // cl_khr_gl_sharing diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clblas.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clblas.hpp deleted file mode 100644 index ccddf8f7..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP -#define OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP - -#ifdef HAVE_CLAMDBLAS - -#include "opencl_core.hpp" - -#include "autogenerated/opencl_clblas.hpp" - -#endif // HAVE_CLAMDBLAS - -#endif // OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clfft.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clfft.hpp deleted file mode 100644 index 7f4af5e6..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP -#define OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP - -#ifdef HAVE_CLAMDFFT - -#include "opencl_core.hpp" - -#include "autogenerated/opencl_clfft.hpp" - -#endif // HAVE_CLAMDFFT - -#endif // OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core.hpp deleted file mode 100644 index 0404b317..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_CORE_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_CORE_HPP - -#ifdef HAVE_OPENCL - -#ifndef CL_RUNTIME_EXPORT -#if (defined(BUILD_SHARED_LIBS) || defined(OPENCV_CORE_SHARED)) && (defined _WIN32 || defined WINCE) && \ - !(defined(__OPENCV_BUILD) && defined(OPENCV_MODULE_IS_PART_OF_WORLD)) -#define CL_RUNTIME_EXPORT __declspec(dllimport) -#else -#define CL_RUNTIME_EXPORT -#endif -#endif - -#ifdef HAVE_OPENCL_SVM -#define clSVMAlloc clSVMAlloc_ -#define clSVMFree clSVMFree_ -#define clSetKernelArgSVMPointer clSetKernelArgSVMPointer_ -#define clSetKernelExecInfo clSetKernelExecInfo_ -#define clEnqueueSVMFree clEnqueueSVMFree_ -#define clEnqueueSVMMemcpy clEnqueueSVMMemcpy_ -#define clEnqueueSVMMemFill clEnqueueSVMMemFill_ -#define clEnqueueSVMMap clEnqueueSVMMap_ -#define clEnqueueSVMUnmap clEnqueueSVMUnmap_ -#endif - -#include "autogenerated/opencl_core.hpp" - -#ifndef CL_DEVICE_DOUBLE_FP_CONFIG -#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 -#endif - -#ifndef CL_DEVICE_HALF_FP_CONFIG -#define CL_DEVICE_HALF_FP_CONFIG 0x1033 -#endif - -#ifndef CL_VERSION_1_2 -#define CV_REQUIRE_OPENCL_1_2_ERROR CV_Error(cv::Error::OpenCLApiCallError, "OpenCV compiled without OpenCL v1.2 support, so we can't use functionality from OpenCL v1.2") -#endif - -#endif // HAVE_OPENCL - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_CORE_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp deleted file mode 100644 index 38fcae99..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP - -#include "autogenerated/opencl_core_wrappers.hpp" - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl.hpp deleted file mode 100644 index 659c7d80..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP - -#if defined HAVE_OPENCL && defined HAVE_OPENGL - -#include "opencl_core.hpp" - -#include "autogenerated/opencl_gl.hpp" - -#endif // defined HAVE_OPENCL && defined HAVE_OPENGL - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp deleted file mode 100644 index 9700004c..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the OpenCV Foundation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP - -#include "autogenerated/opencl_gl_wrappers.hpp" - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp deleted file mode 100644 index 9636b19b..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/* See LICENSE file in the root OpenCV directory */ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP - -#if defined(HAVE_OPENCL_SVM) -#include "opencl_core.hpp" - -#include "opencl_svm_definitions.hpp" - -#undef clSVMAlloc -#define clSVMAlloc clSVMAlloc_pfn -#undef clSVMFree -#define clSVMFree clSVMFree_pfn -#undef clSetKernelArgSVMPointer -#define clSetKernelArgSVMPointer clSetKernelArgSVMPointer_pfn -#undef clSetKernelExecInfo -//#define clSetKernelExecInfo clSetKernelExecInfo_pfn -#undef clEnqueueSVMFree -//#define clEnqueueSVMFree clEnqueueSVMFree_pfn -#undef clEnqueueSVMMemcpy -#define clEnqueueSVMMemcpy clEnqueueSVMMemcpy_pfn -#undef clEnqueueSVMMemFill -#define clEnqueueSVMMemFill clEnqueueSVMMemFill_pfn -#undef clEnqueueSVMMap -#define clEnqueueSVMMap clEnqueueSVMMap_pfn -#undef clEnqueueSVMUnmap -#define clEnqueueSVMUnmap clEnqueueSVMUnmap_pfn - -extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSVMAlloc)(cl_context context, cl_svm_mem_flags flags, size_t size, unsigned int alignment); -extern CL_RUNTIME_EXPORT void (CL_API_CALL *clSVMFree)(cl_context context, void* svm_pointer); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clSetKernelArgSVMPointer)(cl_kernel kernel, cl_uint arg_index, const void* arg_value); -//extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSetKernelExecInfo)(cl_kernel kernel, cl_kernel_exec_info param_name, size_t param_value_size, const void* param_value); -//extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMFree)(cl_command_queue command_queue, cl_uint num_svm_pointers, void* svm_pointers[], -// void (CL_CALLBACK *pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data), void* user_data, -// cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemcpy)(cl_command_queue command_queue, cl_bool blocking_copy, void* dst_ptr, const void* src_ptr, size_t size, - cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemFill)(cl_command_queue command_queue, void* svm_ptr, const void* pattern, size_t pattern_size, size_t size, - cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMap)(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags map_flags, void* svm_ptr, size_t size, - cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); -extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMUnmap)(cl_command_queue command_queue, void* svm_ptr, - cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event); - -#endif // HAVE_OPENCL_SVM - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp deleted file mode 100644 index 97c927b4..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/* See LICENSE file in the root OpenCV directory */ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP - -#if defined(HAVE_OPENCL_SVM) -#if defined(CL_VERSION_2_0) - -// OpenCL 2.0 contains SVM definitions - -#else - -typedef cl_bitfield cl_device_svm_capabilities; -typedef cl_bitfield cl_svm_mem_flags; -typedef cl_uint cl_kernel_exec_info; - -// -// TODO Add real values after OpenCL 2.0 release -// - -#ifndef CL_DEVICE_SVM_CAPABILITIES -#define CL_DEVICE_SVM_CAPABILITIES 0x1053 - -#define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER (1 << 0) -#define CL_DEVICE_SVM_FINE_GRAIN_BUFFER (1 << 1) -#define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM (1 << 2) -#define CL_DEVICE_SVM_ATOMICS (1 << 3) -#endif - -#ifndef CL_MEM_SVM_FINE_GRAIN_BUFFER -#define CL_MEM_SVM_FINE_GRAIN_BUFFER (1 << 10) -#endif - -#ifndef CL_MEM_SVM_ATOMICS -#define CL_MEM_SVM_ATOMICS (1 << 11) -#endif - - -#endif // CL_VERSION_2_0 -#endif // HAVE_OPENCL_SVM - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp deleted file mode 100644 index 497bc3de..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +++ /dev/null @@ -1,166 +0,0 @@ -/* See LICENSE file in the root OpenCV directory */ - -#ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_HSA_EXTENSION_HPP -#define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_HSA_EXTENSION_HPP - -#if defined(HAVE_OPENCL_SVM) -#include "opencl_core.hpp" - -#ifndef CL_DEVICE_SVM_CAPABILITIES_AMD -// -// Part of the file is an extract from the cl_ext.h file from AMD APP SDK package. -// Below is the original copyright. -// -/******************************************************************************* - * Copyright (c) 2008-2013 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -/******************************************* - * Shared Virtual Memory (SVM) extension - *******************************************/ -typedef cl_bitfield cl_device_svm_capabilities_amd; -typedef cl_bitfield cl_svm_mem_flags_amd; -typedef cl_uint cl_kernel_exec_info_amd; - -/* cl_device_info */ -#define CL_DEVICE_SVM_CAPABILITIES_AMD 0x1053 -#define CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT_AMD 0x1054 - -/* cl_device_svm_capabilities_amd */ -#define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER_AMD (1 << 0) -#define CL_DEVICE_SVM_FINE_GRAIN_BUFFER_AMD (1 << 1) -#define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM_AMD (1 << 2) -#define CL_DEVICE_SVM_ATOMICS_AMD (1 << 3) - -/* cl_svm_mem_flags_amd */ -#define CL_MEM_SVM_FINE_GRAIN_BUFFER_AMD (1 << 10) -#define CL_MEM_SVM_ATOMICS_AMD (1 << 11) - -/* cl_mem_info */ -#define CL_MEM_USES_SVM_POINTER_AMD 0x1109 - -/* cl_kernel_exec_info_amd */ -#define CL_KERNEL_EXEC_INFO_SVM_PTRS_AMD 0x11B6 -#define CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM_AMD 0x11B7 - -/* cl_command_type */ -#define CL_COMMAND_SVM_FREE_AMD 0x1209 -#define CL_COMMAND_SVM_MEMCPY_AMD 0x120A -#define CL_COMMAND_SVM_MEMFILL_AMD 0x120B -#define CL_COMMAND_SVM_MAP_AMD 0x120C -#define CL_COMMAND_SVM_UNMAP_AMD 0x120D - -typedef CL_API_ENTRY void* -(CL_API_CALL * clSVMAllocAMD_fn)( - cl_context /* context */, - cl_svm_mem_flags_amd /* flags */, - size_t /* size */, - unsigned int /* alignment */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY void -(CL_API_CALL * clSVMFreeAMD_fn)( - cl_context /* context */, - void* /* svm_pointer */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clEnqueueSVMFreeAMD_fn)( - cl_command_queue /* command_queue */, - cl_uint /* num_svm_pointers */, - void** /* svm_pointers */, - void (CL_CALLBACK *)( /*pfn_free_func*/ - cl_command_queue /* queue */, - cl_uint /* num_svm_pointers */, - void** /* svm_pointers */, - void* /* user_data */), - void* /* user_data */, - cl_uint /* num_events_in_wait_list */, - const cl_event* /* event_wait_list */, - cl_event* /* event */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clEnqueueSVMMemcpyAMD_fn)( - cl_command_queue /* command_queue */, - cl_bool /* blocking_copy */, - void* /* dst_ptr */, - const void* /* src_ptr */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event* /* event_wait_list */, - cl_event* /* event */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clEnqueueSVMMemFillAMD_fn)( - cl_command_queue /* command_queue */, - void* /* svm_ptr */, - const void* /* pattern */, - size_t /* pattern_size */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event* /* event_wait_list */, - cl_event* /* event */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clEnqueueSVMMapAMD_fn)( - cl_command_queue /* command_queue */, - cl_bool /* blocking_map */, - cl_map_flags /* map_flags */, - void* /* svm_ptr */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event* /* event_wait_list */, - cl_event* /* event */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clEnqueueSVMUnmapAMD_fn)( - cl_command_queue /* command_queue */, - void* /* svm_ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event* /* event_wait_list */, - cl_event* /* event */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clSetKernelArgSVMPointerAMD_fn)( - cl_kernel /* kernel */, - cl_uint /* arg_index */, - const void * /* arg_value */ -) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int -(CL_API_CALL * clSetKernelExecInfoAMD_fn)( - cl_kernel /* kernel */, - cl_kernel_exec_info_amd /* param_name */, - size_t /* param_value_size */, - const void * /* param_value */ -) CL_EXT_SUFFIX__VERSION_1_2; - -#endif - -#endif // HAVE_OPENCL_SVM - -#endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_HSA_EXTENSION_HPP diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/shanghai-Logo.png b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/shanghai-Logo.png deleted file mode 100644 index 3c0332ba..00000000 Binary files a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/shanghai-Logo.png and /dev/null differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.cpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.cpp deleted file mode 100644 index 7069aa69..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "change_shift.h" - -change_shift::change_shift(QDialog *parent) - : QDialog(parent) -{ - ui.setupUi(this); - this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); -} - -change_shift::~change_shift() -{ -} - -void change_shift::on_pushButton_released() -{ - QTime timeA; - QTime timeB; - QTime timeC; - timeA.setHMS(ui.A_hour->text().toInt(), ui.A_minute->text().toInt(), 0); - timeB.setHMS(ui.B_hour->text().toInt(), ui.B_minute->text().toInt(), 0); - timeC.setHMS(ui.C_hour->text().toInt(), ui.C_minute->text().toInt(), 0); - emit sendMsgToDialogSetup(timeA, timeB, timeC); - this->close(); -} - -void change_shift::recMsgFromDialogSetup(QTime timeA, QTime timeB, QTime timeC) -{ - ui.A_hour->setValue(timeA.hour()); - ui.A_minute->setValue(timeA.minute()); - - ui.B_hour->setValue(timeB.hour()); - ui.B_minute->setValue(timeB.minute()); - - ui.C_hour->setValue(timeC.hour()); - ui.C_minute->setValue(timeC.minute()); - - this->show(); -} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.ui b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.ui deleted file mode 100644 index b4e1d101..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.ui +++ /dev/null @@ -1,241 +0,0 @@ - - - change_shift - - - - 0 - 0 - 285 - 234 - - - - 换班设置 - - - - - 80 - 40 - 42 - 22 - - - - 23 - - - - - - 160 - 40 - 61 - 22 - - - - 59 - - - - - - 40 - 40 - 31 - 21 - - - - A班 - - - - - - 130 - 40 - 31 - 20 - - - - - - - - - - 230 - 40 - 54 - 21 - - - - - - - - - - 130 - 80 - 31 - 20 - - - - - - - - - - 160 - 80 - 61 - 22 - - - - 59 - - - - - - 230 - 80 - 54 - 21 - - - - - - - - - - 40 - 80 - 31 - 21 - - - - B班 - - - - - - 80 - 80 - 42 - 22 - - - - 23 - - - - - - 130 - 120 - 31 - 20 - - - - - - - - - - 160 - 120 - 61 - 22 - - - - 59 - - - - - - 230 - 120 - 54 - 21 - - - - - - - - - - 40 - 120 - 31 - 21 - - - - C班 - - - - - - 80 - 120 - 42 - 22 - - - - 23 - - - - - - 90 - 190 - 111 - 31 - - - - 应用 - - - - - - 50 - 160 - 241 - 21 - - - - 若要保存参数请返回上一级点击保存 - - - - - - - diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.cpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.cpp deleted file mode 100644 index cb929ad5..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "common.h" -#include -#include "stdarg.h" -int string_split(std::string str, std::string pattern,std::vector &out) -{ - std::string::size_type pos; - int cnt = 0; - str += pattern; - int size = str.size(); - - for (int i = 0; i chars(nLength); - _vsnprintf(chars.data(), nLength, pszFmt, args); - str.assign(chars.data()); - } - va_end(args); - return str; -} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.h b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.h deleted file mode 100644 index 0878d593..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/common.h +++ /dev/null @@ -1,115 +0,0 @@ -#pragma once - -#include -#include -#include "basecamera.h" -#include -#include "QtCore\qdatetime.h" - -//#define __DEBUG -//#define __UDPSend -#define USB_BASLER_NEW_FW -//#define IMM_FEED_BACK//ǰڷ -//#define ONE_TIME_SHIFT//Ӻһڷ -#define AI_WARM_UP - -#define Queue_Size 15 -#define Unit_Queue_Size Queue_Size*3 -#define StrobeLineTime 10000 - -#ifdef __DEBUG -#define DEBUG(format, ...) printf (format, ##__VA_ARGS__) -#else -#define DEBUG(format, ...) -#endif - -int string_split(std::string str, std::string pattern,std::vector &out); -std::string format(const char *pszFmt, ...); -class SysConf -{ -public: - std::mutex lock; - int save; //ͼƬǷ񱣴棬0棬1NG, 2ȫ - int MisMatchAct; //λΪ1NG,0ok - int save_days; ///Ƭ - int auto_open; //ǷԶ01 - int auto_work; //ǷԶʼ01 - int auto_shift; //ǷԶ࣬01 - QTime shiftA; //Aʱ - QTime shiftB; //Bʱ - QTime shiftC; //Cʱ - int timing_shift; //Ƿʱ࣬01 - int expo[NumberOfSupportedCameras]; //عʱ䣬λ΢ - int gain[NumberOfSupportedCameras]; //ģ棬Χ0~64 - int filter[NumberOfSupportedCameras];//˲ʱ - int UserID[NumberOfSupportedCameras]; - int no[NumberOfSupportedCameras][3];//ͼƬٺϸ񽺵 - int shoot[NumberOfSupportedCameras];// - std::string MonitorIP; //Զ̼ض˵IP - int MonitorPort; - int FeedbackPort; - int FilePort; - //MonitorPortΪݶ˿ - //MonitorPort+NumberOfSupportedCamerasΪͼ˿ - //MonitorPort+NumberOfSupportedCameras*2Ϊ˿,ҲFeedbackPort - //MonitorPort+NumberOfSupportedCameras*2+1Ϊ˿ - - SysConf() - { - save=0; //ͼƬǷ񱣴棬0棬1NG, 2ȫ - MisMatchAct=1; //λΪ1NG,0ok - save_days = 1; ///Ƭ - auto_open=1; //ǷԶ01 - auto_work=1; //ǷԶʼ01 - auto_shift=1; //ǷԶ࣬01 - timing_shift=0; //Ƿʱ࣬01 - shiftA.setHMS(0, 0, 0); - shiftB.setHMS(0, 0, 0); - shiftC.setHMS(0, 0, 0); - for(int i=0;i -#include -#include - -class db_label : public QLabel -{ - Q_OBJECT - -public: - db_label(QWidget *parent = 0); - ~db_label(); - void mouseDoubleClickEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent* event); -public: - QTimer timer; -signals: - void QlabelDoubleClick(); - void QlabelClick(); -private slots: - void singleClick(); -}; - -#endif // QLABEL_DOUBLECLICK_H_ \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.cpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.cpp deleted file mode 100644 index b5c7a099..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "output_statistic.h" -#include "QtCore\qfile.h" -#include "QtCore\qtextstream.h" - -output_statistic::output_statistic(QDialog *parent) - : QDialog(parent) -{ - ui.setupUi(this); - this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); -} - -output_statistic::~output_statistic() -{ -} - -void output_statistic::recMsgFromDialogSetup() -{ - QFile file("../conf/camera0_statistic.txt"); - if (file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - QTextStream in(&file); - ui.textBrowser_1->setText(in.readAll()); - } - file.close(); - this->show(); -} diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.cpp b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.cpp deleted file mode 100644 index 6a748909..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.cpp +++ /dev/null @@ -1,211 +0,0 @@ -#include "workthread.h" -#include "alg_jd.h" -#include "common.h" -#include "balluffcamera.h" -#include "baslercamera.h" -#include "threadSend.h" -#include -extern AlgJd alg_jd[NumberOfSupportedCameras]; //⽺AI㷨 - -extern SysConf g_sys_conf; //ϵͳò - -extern int rotationAngle[NumberOfSupportedCameras]; //ͼƬתǶ -extern bool isNeddRotate[NumberOfSupportedCameras]; - -extern SyncQueue >* g_save_queue; //ͼƬ -extern SyncQueue >* g_image_queue[NumberOfSupportedCameras]; //intʾһĿ˼ -extern SyncQueue<_UDPSendInfo> *UDP_Info_queue; -extern PLCDevice* m_PLCDevice; -WorkThread::~WorkThread() -{ - stop(); - local_g_image_queue->put(std::make_pair(0, cv::Mat())); - quit(); - wait(); -} - -void WorkThread::init(SyncQueue>* ptr, int classid, int Num) -{ - local_camera_number = Num; - local_classid = classid; - local_g_image_queue = ptr; - b_quit = false; - frame_total = 0; -} -void WorkThread::start_work() -{ - start(HighestPriority); -} -void WorkThread::stop() -{ - b_quit = true; -} - -void WorkThread::run() -{ - uint32_t result_index = 0; - while (!b_quit) { - {//Ҫɾţ - std::lock_guard locker(g_sys_conf.lock); - local_SysConf.save = g_sys_conf.save; - local_SysConf.shoot[local_camera_number] = g_sys_conf.shoot[local_camera_number]; - local_SysConf.MisMatchAct = g_sys_conf.MisMatchAct; - for (int i = 0; i < 3; i++)local_SysConf.no[local_camera_number][i] = g_sys_conf.no[local_camera_number][i]; - } - std::pair element; - local_g_image_queue->take(element); - int unit_count = element.first; - cv::Mat image = element.second; - - //תͼ - - if (isNeddRotate[local_camera_number]) { - if(rotationAngle[local_camera_number] != (cv::ROTATE_90_COUNTERCLOCKWISE + 1)) - { - cv::rotate(image, image, rotationAngle[local_camera_number]); - } - } - - QDateTime now_ts = QDateTime::currentDateTime(); - if (local_SysConf.save == 2) - { - if (result_index % 10 == 0) - { - if (image.data) - { - cv::Mat m = image.clone(); - QString file_name = "D:/image/" + - now_ts.toString("yyyy-MM-dd") + - "/" + - QString::number(local_camera_number + 1) + - "/ALL/" + - now_ts.toString("yyyy-MM-dd_HH-mm-ss_zzz_") + ".jpg"; - g_save_queue->put(std::make_pair(file_name.toStdString(), m)); - } - } - } - - cv::Mat image_result; - std::vector > results; - _UDPSendInfo UDPSendInfo; - UDPSendInfo.FrameID = info_frame; - UDPSendInfo.index = local_camera_number; - if (!image.data) - { - continue; //ͼΪգ - } - if (image.channels() == 1) - { - cv::cvtColor(image, image, CV_BGR2RGB); //ҶͼתΪɫͼ - } - if (local_SysConf.shoot[local_camera_number] == unit_count) - { - std::vector vec_in; - int w = image.cols; - int h = image.rows / unit_count; - for(int index=0;index vec_out; - std::vector > > vec_results; - QDateTime ts_start = QDateTime::currentDateTime(); - if(unit_count == 1){ - std::vector > results; - cv::Mat imagein,imageout; - imagein = vec_in[0]; - alg_jd[local_camera_number].detect(imagein, imageout, results); - vec_out.push_back(imageout.clone()); - vec_results.push_back(results); - }else{ - alg_jd[local_camera_number].detect_batch(vec_in, vec_out, vec_results); - } - - QDateTime ts_jd = QDateTime::currentDateTime(); - int time_process = ts_start.msecsTo(ts_jd); - emit display_timecost(local_camera_number, time_process); - UDPSendInfo.timecost = QString::number(time_process); - if (vec_results.size() >= unit_count) - { - QString jd_no; - for(int index=0;indexput(std::make_pair(file_name.toStdString(), m)); - - m = vec_out[index].clone(); - file_name = "D:/image/" + - now_ts.toString("yyyy-MM-dd") + - "/" + QString::number(local_camera_number + 1) + - "/ng_result/" + QString::number(index)+ "/" + - now_ts.toString("yyyy-MM-dd_HH-mm-ss_zzz_") + "_" + QString::number(index) + ".jpg"; - g_save_queue->put(std::make_pair(file_name.toStdString(), m)); - } - } - } - } - } - emit display_check_total(local_camera_number, ++frame_total); - //cv::Mat m = vec_out[(result_index++) % 3].clone(); - cv::Mat image1; - cv::Mat image2; - - if (unit_count >= 2) - { - image1 = vec_out[(result_index++) % 2].clone(); - } - else - { - image1 = vec_out[0].clone(); - } - if (unit_count >= 3) { image2 = vec_out[2].clone(); } - emit notify(local_camera_number, 0,image1); - if(unit_count>=3) emit notify(local_camera_number, 1,image2); - DEBUG(" deal image local_camera_number:%d,unit_count:%d\n", local_camera_number, unit_count); - } - else { //֤λ - DEBUG(" Skip to deal image local_camera_number:%d,unit_count:%d\n", local_camera_number, unit_count); - if(local_SysConf.MisMatchAct == 1)//as ng - emit event_ng(local_camera_number); - else if(local_SysConf.MisMatchAct == 0)//as ok - emit event_ok(local_camera_number); - emit display_check_total(local_camera_number, ++frame_total); - qDebug() << local_camera_number<< "# " << "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx " << unit_count; - } -#ifdef __UDPSend - UDP_Info_queue->put(UDPSendInfo); -#endif - } -} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/conf.txt b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/conf.txt deleted file mode 100644 index a4b93706..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/conf.txt +++ /dev/null @@ -1,41 +0,0 @@ -SAVE=0 -MISMATCHACT=1 -SAVE_DAYS=1 -AUTO_OPEN=1 -AUTO_WORK=1 -AUTO_SHIFT=0 -TIMING_SHIFT=1 -SHIFT_A=6|0 -SHIFT_B=12|0 -SHIFT_C=20|0 -***************************************** -EXPO1=2500 -GAIN1=0 -FILTER1=500 -USERID1=0 -NO1=1|1|1 -SHOOT1=1 -***************************************** -EXPO2=2000 -GAIN2=0 -FILTER2=500 -USERID2=1 -NO2=1|1|1 -SHOOT2=1 -***************************************** -EXPO3=2000 -GAIN3=0 -FILTER3=500 -USERID3=2 -NO3=1|1|1 -SHOOT3=1 -***************************************** -EXPO4=2000 -GAIN4=0 -FILTER4=500 -USERID4=3 -NO4=1|1|1 -SHOOT4=1 -***************************************** -MonitorIP=192.168.10.139 -MonitorPort=3000 diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/modbus.txt b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/modbus.txt deleted file mode 100644 index d8abd676..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/modbus.txt +++ /dev/null @@ -1,9 +0,0 @@ -KICK1=46006 -KICK2=46006 -QUANTITY=46008 -SHIFT=30100 -WORK=30101 -NO_KICK=30102 -DEBUG=30103 -RESET=30104 -ALARM=46018 \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/plc.txt b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/plc.txt deleted file mode 100644 index a6c6edf2..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/plc.txt +++ /dev/null @@ -1,21 +0,0 @@ -ʼ/ͣ|30101|0|1ʼ0ͣ -|46018|0|0ޱο -|46008|0|Сģʽ -|30100|0|д1 -1#޳|46006|0|1#޳ -1#У|47000|450| -1#У|47002|510|½ -1#1|47004|550| -1#1|47006|620|½ -1#2|47008|700| -1#2|47010|800|½ -1#3|47012|820| -1#3|47014|880|½ -2#У|47100|450| -2#У|47102|510|½ -2#1|47104|550| -2#1|47106|620|½ -2#2|47108|700| -2#2|47110|800|½ -2#3|47112|820| -2#3|47114|880|½ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/rotate.txt b/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/rotate.txt deleted file mode 100644 index 48882cc8..00000000 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/conf/rotate.txt +++ /dev/null @@ -1 +0,0 @@ -0,3,0,3,0,3,0,3, \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/.gitignore b/云南楚雄ZB48A-2相机-1280x800/.gitignore similarity index 99% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/.gitignore rename to 云南楚雄ZB48A-2相机-1280x800/.gitignore index c5c89a62..53c34075 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/.gitignore +++ b/云南楚雄ZB48A-2相机-1280x800/.gitignore @@ -3,6 +3,7 @@ ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore +runtime/ # User-specific files *.rsuser *.suo diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette.sln b/云南楚雄ZB48A-2相机-1280x800/Cigarette.sln similarity index 91% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette.sln rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette.sln index a96a4db7..22874c0d 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette.sln +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.32602.291 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cigarette", "Cigarette\Cigarette.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" EndProject @@ -27,6 +27,6 @@ Global EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution Qt5Version = 5.15.2_msvc2019_64 - SolutionGuid = {312AF3A7-734E-45D5-B838-F4C571B150C5} + SolutionGuid = {0AF1A30E-A12C-4014-ACD5-65A1E6D54D46} EndGlobalSection EndGlobal diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.cpp similarity index 56% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.cpp index 0c8a81b1..a019c79c 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.cpp @@ -1,4 +1,3 @@ -//异步阻塞队列 #include "ASyncQueue.h" diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.h similarity index 90% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.h index f04a34ef..b4d004e6 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/ASyncQueue.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/ASyncQueue.h @@ -30,7 +30,7 @@ private: using namespace std; template -ASyncQueue::ASyncQueue(int max_size) :max_size(max_size)//ע಻SyncQueueΪͬTDzͬ +ASyncQueue::ASyncQueue(int max_size) :max_size(max_size) { } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/AlarmInfo.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/AlarmInfo.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/AlarmInfo.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/AlarmInfo.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/AlarmInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/AlarmInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/AlarmInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/AlarmInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.cpp similarity index 77% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.cpp index 3454c859..1722aa07 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.cpp @@ -1,7 +1,7 @@ #include "CaptureThread.h" #include "common.h" -extern bool g_debug_mode; //ģʽģʽͣ״̬ܴ +extern bool g_debug_mode; //ģʽģʽֹͣ״̬ܴ //----------------------------------------------------------------------------- CaptureThread::CaptureThread( Device* pCurrDev, bool boTerminated, FunctionInterface* pFI_ ,int Num) : @@ -10,6 +10,15 @@ CaptureThread::CaptureThread( Device* pCurrDev, bool boTerminated, FunctionInter { p_unit_queue = new ASyncQueue(Unit_Queue_Size); } + +void CaptureThread::fpsTimeout(void) +{ + uint64_t delta = m_cntGrabbedImages - m_cntLastGrabbedImages; + m_cntLastGrabbedImages = m_cntGrabbedImages; + QString data = QString("%1").arg(delta); + emit updateStatistics(data.left(4), Local_Num); +} + CaptureThread::~CaptureThread() { delete p_unit_queue; @@ -22,36 +31,40 @@ void CaptureThread::process( void ) { //Line5ص mvIMPACT::acquire::GenICam::EventControl pEventCtrl_(pDev_); - try - { - //pEventCtrl_.eventSelector.writeS("Line5FallingEdge"); - //pEventCtrl_.eventNotification.writeS("Off"); - //pEventCtrl_.eventSelector.writeS("Line5RisingEdge"); - //pEventCtrl_.eventNotification.writeS("Off"); - pEventCtrl_.eventSelector.writeS("Line5AnyEdge"); - pEventCtrl_.eventNotification.writeS("On"); - } - catch (const ImpactAcquireException& e) - { - qDebug() << "Error register event"; - } + //pEventCtrl_.eventSelector.writeS("Line5FallingEdge"); + //pEventCtrl_.eventNotification.writeS("Off"); + //pEventCtrl_.eventSelector.writeS("Line5RisingEdge"); + //pEventCtrl_.eventNotification.writeS("Off"); + pEventCtrl_.eventSelector.writeS("Line5AnyEdge"); +#ifdef IMM_PROCESS + pEventCtrl_.eventNotification.writeS("Off"); +#else + pEventCtrl_.eventNotification.writeS("On"); +#endif +#ifndef IMM_PROCESS EventCallback eventCallback(&pEventCtrl_); eventCallback.p_unit_queue_ = p_unit_queue; eventCallback.p_image_queue_ = p_image_queue; eventCallback.p_result_wait_queue_ = p_result_wait_queue; eventCallback.p_shooted_queue_ = p_shooted_queue; - eventCallback.p_result_queue_ =p_result_queue; + eventCallback.p_double_queue_ = p_double_queue; eventCallback.m_pMVCamera = pDev_; + eventCallback.pCaptureThread = this; eventCallback.registerComponent(pEventCtrl_.eventLine5AnyEdge); - +#endif + + m_threadFunc.m_pMVCamera = pDev_; + m_threadFunc.p_result_queue_ = p_result_queue; + m_threadFunc.p_double_queue_ = p_double_queue; + //߻ص CIwtCameraLostCallbackMV cam_lost_cb; cam_lost_cb.channel_ = Local_Num; - /*if (cam_lost_cb.registerComponent(pDev_->state) != true) + if (cam_lost_cb.registerComponent(pDev_->state) != true) { std::cout << "ERROR: Unable to register the camera's lost CallBack function!\n"; - }*/ //ε߻صֹ󱨾 + } //ͼɼѭ TDMR_ERROR result = DMR_NO_ERROR; while( ( result = static_cast< TDMR_ERROR >( pFI_->imageRequestSingle() ) ) == DMR_NO_ERROR ) {}; @@ -82,10 +95,13 @@ void CaptureThread::process( void ) openCVDataType = CV_8UC3; cv::Mat openCVImage(cv::Size(pRequest->imageWidth.read(), pRequest->imageHeight.read()), openCVDataType, pRequest->imageData.read(), pRequest->imageLinePitch.read()); cv::Mat image_clone = openCVImage.clone(); - //p_image_queue->put(image_clone); if (!g_debug_mode) { +#ifdef IMM_PROCESS + p_image_queue->put(std::make_pair(1,image_clone)); //ʱ +#else p_unit_queue->put(image_clone); //ʱ +#endif } else { @@ -93,10 +109,10 @@ void CaptureThread::process( void ) } cnt++; // display some statistics - if (cnt % 100 == 0) + if (cnt % 10 == 0) { QString data = QString::fromStdString(statistics.framesPerSecond.readS()); - emit updateStatistics(data.left(4),Local_Num); + emit updateStatistics(data.left(3),Local_Num); } } else @@ -113,22 +129,8 @@ void CaptureThread::process( void ) // send a new image request into the capture queue pFI_->imageRequestSingle(); } -#ifdef IMM_FEED_BACK - if (p_result_queue->count() > 0) - { - mvIMPACT::acquire::GenICam::DigitalIOControl mvDIOC(pDev_); - bool result; - p_result_queue->take(result); - if (!result) - mvDIOC.userOutputSelector.writeS("UserOutput0"); - else - mvDIOC.userOutputSelector.writeS("UserOutput1"); - mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read(); - if (tb == bFalse) - mvDIOC.userOutputValue.write(bTrue); - else - mvDIOC.userOutputValue.write(bFalse); - } +#if defined (IMM_FEED_BACK) || defined (CAP_FEED_BACK) + m_threadFunc.SendFeedBack(ImageCap); #endif } manuallyStopAcquisitionIfNeeded( pDev_, *pFI_ ); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.h similarity index 66% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.h index 987a6099..1c492a3a 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThread.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThread.h @@ -21,6 +21,117 @@ extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras]; +class CaptureThread_Func +{ +public: + Device* m_pMVCamera; + ASyncQueue *p_result_queue_; + ASyncQueue *p_double_queue_; + void SendFeedBack(int OpID) + { + bool send_ng=false; + bool send_ok=false; + if(OpID == EdgeEvent) + { +#if defined DOUBLE_FEED_BACK + if(p_double_queue_->count() > 0) + { + bool temp; + p_double_queue_->take(temp); + send_ng=true; + } +#endif + } + if (p_result_queue_->count() > 0) + { + bool result; + p_result_queue_->take(result); + if (!result) + { +#if defined DOUBLE_FEED_BACK + p_double_queue_->put(true); +#endif + send_ng=true; + } + else + { + send_ok=true; + } + } + try + { + mvIMPACT::acquire::GenICam::DigitalIOControl mvDIOC(m_pMVCamera); + if(send_ng){ + mvDIOC.userOutputSelector.writeS("UserOutput0"); + mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read(); + if (tb == bFalse) + mvDIOC.userOutputValue.write(bTrue); + else + mvDIOC.userOutputValue.write(bFalse); + } + else if (send_ok) + { + mvDIOC.userOutputSelector.writeS("UserOutput1"); + mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read(); + if (tb == bFalse) + mvDIOC.userOutputValue.write(bTrue); + else + mvDIOC.userOutputValue.write(bFalse); + } + } + catch (const ImpactAcquireException& e) + { + std::cout<< "(error code: " << e.getErrorCodeAsString() << "). Press [ENTER] to end the application..." << std::endl; + } + } +}; + +class CaptureThread : public QObject +//----------------------------------------------------------------------------- +{ + Q_OBJECT + +public: + explicit CaptureThread( Device* pCurrDev, bool boTerminated, FunctionInterface* pFi ,int Num); + CaptureThread::~CaptureThread(void); + void terminate( void ) + { + boTerminated_ = true; + } + int getPendingRequestNr(); + +signals: + void error( QString err ); + void finished( void ); + void requestReady( void ); + void updateStatistics( const QString& data ,int Num); + +private slots: + void process( void ); + void fpsTimeout(void); + +public: + int Local_Num; + QTimer* m_Timer; + uint64_t m_cntGrabbedImages = 0; + uint64_t m_cntLastGrabbedImages = 0; + SyncQueue > *p_image_queue; + ASyncQueue *p_unit_queue; + ASyncQueue *p_result_queue; + ASyncQueue *p_result_wait_queue; + ASyncQueue *p_double_queue; + ASyncQueue *p_shooted_queue; + SyncQueue *p_debug_queue; + bool Ready = false; + CaptureThread_Func m_threadFunc; +private: + Device* pDev_; + volatile bool boTerminated_; + int requestPendingForDisplay_; + FunctionInterface* pFI_; + QMutex lock_; +}; + //============================================================================= //================= Camera's property callback ================================ //============================================================================= @@ -31,10 +142,10 @@ public: SyncQueue > *p_image_queue_; ASyncQueue *p_result_wait_queue_; ASyncQueue *p_shooted_queue_; - ASyncQueue *p_result_queue_; + ASyncQueue *p_double_queue_; explicit EventCallback(void* pUserData = 0) : ComponentCallback(pUserData) {} - Device* m_pMVCamera; + CaptureThread* pCaptureThread = NULL; int count = 0; virtual void execute(Component& c, void* pUserData) @@ -50,53 +161,32 @@ public: mvDIOC.lineSelector.writeS("Line5"); if (mvDIOC.lineStatus.read()) { -#ifdef IMM_FEED_BACK//ǰ +#ifdef IMM_FEED_BACK if (p_shooted_queue_->count() > 0) { bool temp; p_shooted_queue_->take(temp); } -//ǰ -#elif defined ONE_TIME_SHIFT//Ӻһ - if (p_shooted_queue_->count() > 0) +#elif defined ONE_TIME_SHIFT + if ( + p_shooted_queue_->count() > 0 +#if defined DOUBLE_FEED_BACK + || p_double_queue_->count() >0 +#endif + ) { - bool temp; - p_shooted_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result) - mvDIOC.userOutputSelector.writeS("UserOutput0"); - else - mvDIOC.userOutputSelector.writeS("UserOutput1"); - mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read(); - if (tb == bFalse) - mvDIOC.userOutputValue.write(bTrue); - else - mvDIOC.userOutputValue.write(bFalse); + if (p_shooted_queue_->count() > 0){ + bool temp; + p_shooted_queue_->take(temp); } + pCaptureThread->m_threadFunc.SendFeedBack(EdgeEvent); } -//Ӻһ -#else//Ӻ +#else if (p_result_wait_queue_->count() > 0) { bool temp; p_result_wait_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result) - mvDIOC.userOutputSelector.writeS("UserOutput0"); - else - mvDIOC.userOutputSelector.writeS("UserOutput1"); - mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read(); - if (tb == bFalse) - mvDIOC.userOutputValue.write(bTrue); - else - mvDIOC.userOutputValue.write(bFalse); - } + pCaptureThread->m_threadFunc.SendFeedBack(EdgeEvent); } if (p_shooted_queue_->count() > 0) { @@ -104,7 +194,7 @@ public: p_shooted_queue_->take(temp); p_result_wait_queue_->put(true); } -#endif//Ӻ +#endif } else { @@ -152,43 +242,4 @@ public: }; //----------------------------------------------------------------------------- -class CaptureThread : public QObject -//----------------------------------------------------------------------------- -{ - Q_OBJECT - -public: - explicit CaptureThread( Device* pCurrDev, bool boTerminated, FunctionInterface* pFi ,int Num); - CaptureThread::~CaptureThread(void); - void terminate( void ) - { - boTerminated_ = true; - } - int getPendingRequestNr(); - -signals: - void error( QString err ); - void finished( void ); - void requestReady( void ); - void updateStatistics( const QString& data ,int Num); - -private slots: - void process( void ); - -public: - int Local_Num; - SyncQueue > *p_image_queue; - ASyncQueue *p_unit_queue; - ASyncQueue *p_result_queue; - ASyncQueue *p_result_wait_queue; - ASyncQueue *p_shooted_queue; - SyncQueue *p_debug_queue; - bool Ready = false; -private: - Device* pDev_; - volatile bool boTerminated_; - int requestPendingForDisplay_; - FunctionInterface* pFI_; - QMutex lock_; -}; #endif // CaptureThreadH diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.cpp similarity index 63% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.cpp index 391e5ec1..01674ca3 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.cpp @@ -24,21 +24,35 @@ void CaptureThreadBasler::process(void) bool last_result = false; try { - CfgEventPtr = new CSampleConfigurationEventHandler; - CfgEventPtr->channel_ = Local_Num; - pDev_->RegisterConfiguration(CfgEventPtr, Pylon::RegistrationMode_Append, Pylon::Cleanup_Delete); + CSampleConfigurationEventHandler *CfgEvent=NULL; + CfgEvent = new CSampleConfigurationEventHandler; + CfgEvent->channel_ = Local_Num; + pDev_->RegisterConfiguration(CfgEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); - ImageEventPtr = new CSampleImageEventHandler; - ImageEventPtr->p_image_queue_ = p_image_queue; - ImageEventPtr->p_result_queue_ = p_result_queue; - ImageEventPtr->p_unit_queue_ = p_unit_queue; - ImageEventPtr->p_shooted_queue_ = p_shooted_queue; - ImageEventPtr->p_debug_queue_ = p_debug_queue; - ImageEventPtr->m_cntGrabbedImages_ = &m_cntGrabbedImages; - ImageEventPtr->Shoot_Num_ = Shoot_Num; - ImageEventPtr->pDev__ = pDev_; - ImageEventPtr->ioTimer = m_IOTimer; - pDev_->RegisterImageEventHandler(ImageEventPtr, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); + CSampleImageEventHandler ImageEvent; + ImageEvent.p_image_queue_ = p_image_queue; + ImageEvent.p_unit_queue_ = p_unit_queue; + ImageEvent.p_shooted_queue_ = p_shooted_queue; + ImageEvent.p_debug_queue_ = p_debug_queue; + ImageEvent.m_cntGrabbedImages_ = &m_cntGrabbedImages; + ImageEvent.Shoot_Num_ = Shoot_Num; + ImageEvent.pDev__ = pDev_; + pDev_->RegisterImageEventHandler(&ImageEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); + + CSampleCameraEventHandler BurstEvent; + BurstEvent.p_unit_queue_ = p_unit_queue; + BurstEvent.p_result_wait_queue_ = p_result_wait_queue; + BurstEvent.p_result_queue_ = p_result_queue; + BurstEvent.p_shooted_queue_ = p_shooted_queue; + BurstEvent.p_double_queue_ = p_double_queue; + BurstEvent.p_image_queue_ = p_image_queue; + BurstEvent.pDev__ = pDev_; + BurstEvent.pCaptureThreadBasler = this; + + m_threadFunc.pDev__ = pDev_; + m_threadFunc.p_result_queue_ = p_result_queue; + m_threadFunc.p_double_queue_ = p_double_queue; + m_threadFunc.m_IOTimer_ = m_IOTimer; #ifndef USB_BASLER_NEW_FW if (pDev_->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart)) { @@ -53,20 +67,11 @@ void CaptureThreadBasler::process(void) pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_GenICamEvent); } - BurstEventPtr = new CSampleCameraEventHandler; - m_IOTimer = new QTimer(); connect(m_IOTimer, SIGNAL(timeout()), this, SLOT(ioTimeout())); m_IOTimer->setSingleShot(true); - - BurstEventPtr->p_unit_queue_ = p_unit_queue; - BurstEventPtr->p_result_wait_queue_ = p_result_wait_queue; - BurstEventPtr->p_result_queue_ = p_result_queue; - BurstEventPtr->p_shooted_queue_ = p_shooted_queue; - BurstEventPtr->p_image_queue_ = p_image_queue; - BurstEventPtr->pDev__ = pDev_; - BurstEventPtr->ioTimer = m_IOTimer; - pDev_->RegisterCameraEventHandler(BurstEventPtr, "EventFrameBurstStartData", eMyFrameBurstStartEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); + BurstEvent.ioTimer = m_IOTimer; + pDev_->RegisterCameraEventHandler(&BurstEvent, "EventFrameBurstStartData", eMyFrameBurstStartEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); } if(pDev_->EventSelector.TrySetValue("Line1RisingEdge")) @@ -80,16 +85,6 @@ void CaptureThreadBasler::process(void) } #else /*Set here*/ - BurstEventPtr = new CSampleCameraEventHandler; - - BurstEventPtr->p_unit_queue_ = p_unit_queue; - BurstEventPtr->p_result_wait_queue_ = p_result_wait_queue; - BurstEventPtr->p_result_queue_ = p_result_queue; - BurstEventPtr->p_shooted_queue_ = p_shooted_queue; - BurstEventPtr->p_image_queue_ = p_image_queue; - BurstEventPtr->pDev__ = pDev_; - BurstEventPtr->ioTimer = m_IOTimer; - if (pDev_->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart)) { DEBUG(" TriggerSelector_FrameBurstStart\n"); @@ -101,12 +96,21 @@ void CaptureThreadBasler::process(void) } } - pDev_->RegisterCameraEventHandler(BurstEventPtr, "EventLine1RisingEdgeData", Line1RisingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); + pDev_->RegisterCameraEventHandler(&BurstEvent, "EventLine1RisingEdgeData", Line1RisingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); pDev_->EventSelector.SetValue("Line1RisingEdge"); +#ifdef IMM_PROCESS + pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off); +#else pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_On); - pDev_->RegisterCameraEventHandler(BurstEventPtr, "EventLine1FallingEdgeData", Line1FallingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); +#endif + pDev_->RegisterCameraEventHandler(&BurstEvent, "EventLine1FallingEdgeData", Line1FallingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None); pDev_->EventSelector.SetValue("Line1FallingEdge"); +#ifdef IMM_PROCESS + pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off); +#else pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_On); +#endif + #endif const unsigned int timeout_ms = 200; // This smart pointer will receive the grab result data. @@ -122,22 +126,8 @@ void CaptureThreadBasler::process(void) { // Retrieve grab results and notify the camera event and image event handlers. pDev_->RetrieveResult(timeout_ms, ptrGrabResult, Pylon::TimeoutHandling_Return); -#ifdef IMM_FEED_BACK - if (p_result_queue->count() > 0) - { - bool result; - p_result_queue->take(result); - if (!result){ - pDev_->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); - pDev_->UserOutputValue.SetValue(false); - pDev_->UserOutputValue.SetValue(true); - } - else{ - pDev_->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); - pDev_->UserOutputValue.SetValue(false); - pDev_->UserOutputValue.SetValue(true); - } - } +#if defined (IMM_FEED_BACK) || defined (CAP_FEED_BACK) + m_threadFunc.SendFeedBack(ImageCap); #endif QCoreApplication::processEvents();//Make sure the timer is triggered } @@ -151,15 +141,19 @@ void CaptureThreadBasler::process(void) #endif if (m_Timer) delete m_Timer; pDev_->StopGrabbing(); + pDev_->Close(); + pDev_->GrabCameraEvents = false; + pDev_->DeregisterConfiguration(CfgEvent); + pDev_->DeregisterImageEventHandler(&ImageEvent); +#ifndef USB_BASLER_NEW_FW + pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventFrameBurstStartData"); +#endif } catch(const Pylon::GenericException& e) { emit error( QString::fromStdString( e.GetDescription()) ); std::cout << e.GetSourceLine()<StopGrabbing(); - if(CfgEventPtr)pDev_->DeregisterConfiguration(CfgEventPtr); - if (ImageEventPtr)pDev_->DeregisterImageEventHandler(ImageEventPtr); - if (BurstEventPtr)pDev_->DeregisterCameraEventHandler(BurstEventPtr, "EventFrameBurstStartData"); } } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.h similarity index 69% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.h index 59d81241..aa5129b8 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadBasler.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadBasler.h @@ -22,12 +22,119 @@ enum MyEvents // More events can be added here. }; -class CSampleConfigurationEventHandler : public Pylon::CConfigurationEventHandler +class CaptureThreadBasler_Func +{ +public: + Pylon::CBaslerUniversalInstantCamera* pDev__; + ASyncQueue *p_result_queue_; + ASyncQueue *p_double_queue_; + QTimer *m_IOTimer_ = NULL; + void SendFeedBack(int OpID) + { + bool send_ng=false; + bool send_ok=false; + if(OpID == EdgeEvent) + { +#if defined DOUBLE_FEED_BACK + if(p_double_queue_->count() > 0) + { + bool temp; + p_double_queue_->take(temp); + send_ng=true; + } +#endif + } + if (p_result_queue_->count() > 0) + { + bool result; + p_result_queue_->take(result); + if (!result) { +#if defined DOUBLE_FEED_BACK + p_double_queue_->put(true); +#endif + send_ng=true; + } + else + { + send_ok=true; + } + } +#ifndef USB_BASLER_NEW_FW + if (send_ng) { + pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); + pDev__->UserOutputValue.SetValue(true); + } + else if (send_ok) { + pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); + pDev__->UserOutputValue.SetValue(true); + } + m_IOTimer_->start(StrobeLineTime / 2000); +#else + if (send_ng) { + pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); + pDev__->UserOutputValue.SetValue(false); + pDev__->UserOutputValue.SetValue(true); + } + else if (send_ok) { + pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); + pDev__->UserOutputValue.SetValue(false); + pDev__->UserOutputValue.SetValue(true); + } +#endif + } +}; + +//----------------------------------------------------------------------------- +class CaptureThreadBasler : public QObject +{ + Q_OBJECT + +public: + explicit CaptureThreadBasler(Pylon::CBaslerUniversalInstantCamera* pCurrDev, bool boTerminated,int Num,int shoot); + CaptureThreadBasler::~CaptureThreadBasler(void); + void terminate( void ) + { + boTerminated_ = true; + } + +signals: + void error( QString err ); + void finished( void ); + void requestReady( void ); + void updateStatistics( const QString& data ,int Num); + +private slots: + void process( void ); + void fpsTimeout(void); + void ioTimeout(void); + +public: + int Local_Num; + int Shoot_Num; + SyncQueue > *p_image_queue; + ASyncQueue *p_unit_queue; + ASyncQueue *p_result_queue; + ASyncQueue *p_result_wait_queue; + ASyncQueue *p_double_queue; + ASyncQueue *p_shooted_queue; + SyncQueue *p_debug_queue; + QTimer *m_Timer = NULL,*m_IOTimer = NULL; + uint64_t m_cntGrabbedImages = 0; + uint64_t m_cntLastGrabbedImages = 0; + bool Ready = false; + CaptureThreadBasler_Func m_threadFunc; +private: + Pylon::CBaslerUniversalInstantCamera* pDev_; + volatile bool boTerminated_; + QMutex lock_; +}; +//----------------------------------------------------------------------------- +class CSampleConfigurationEventHandler : public Pylon::CBaslerUniversalConfigurationEventHandler //CConfigurationEventHandler { public: int channel_; // This method is called from a different thread when the camera device removal has been detected. - void OnCameraDeviceRemoved(Pylon::CInstantCamera& camera) + void OnCameraDeviceRemoved( Pylon::CBaslerUniversalInstantCamera& camera ) { SingleCamInfo[channel_].OffLine = true; } @@ -41,9 +148,11 @@ public: ASyncQueue* p_unit_queue_; ASyncQueue *p_result_wait_queue_; ASyncQueue *p_result_queue_; + ASyncQueue *p_double_queue_; ASyncQueue *p_shooted_queue_; SyncQueue >* p_image_queue_; Pylon::CBaslerUniversalInstantCamera* pDev__; + CaptureThreadBasler* pCaptureThreadBasler = NULL; // Only very short processing tasks should be performed by this method. Otherwise, the event notification will block the // processing of images. virtual void OnCameraEvent(Pylon::CBaslerUniversalInstantCamera& camera, intptr_t userProvidedId, GenApi::INode* pNode) @@ -60,24 +169,18 @@ public: p_shooted_queue_->take(temp); } #elif defined ONE_TIME_SHIFT - if(p_shooted_queue_->count() > 0) + if ( + p_shooted_queue_->count() > 0 + #if defined DOUBLE_FEED_BACK + || p_double_queue_->count() >0 + #endif + ) { - bool temp; - p_shooted_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result){ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); - pDev__->UserOutputValue.SetValue(true); - } - else{ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); - pDev__->UserOutputValue.SetValue(true); - } - ioTimer->start(StrobeLineTime/2000); + if (p_shooted_queue_->count() > 0){ + bool temp; + p_shooted_queue_->take(temp); } + pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent); } #else if(p_unit_queue_->count() > 0){ @@ -103,20 +206,7 @@ public: { bool temp; p_result_wait_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result){ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); - pDev__->UserOutputValue.SetValue(true); - } - else{ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); - pDev__->UserOutputValue.SetValue(true); - } - ioTimer->start(StrobeLineTime/2000); - } + pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent); } if(p_shooted_queue_->count() > 0) { @@ -130,55 +220,30 @@ public: #else case Line1RisingEdge: { -#ifdef IMM_FEED_BACK//ǰ +#ifdef IMM_FEED_BACK if (p_shooted_queue_->count() > 0) { bool temp; p_shooted_queue_->take(temp); } -//ǰ -#elif defined ONE_TIME_SHIFT//Ӻһ - if(p_shooted_queue_->count() > 0) +#elif defined ONE_TIME_SHIFT + if ( + p_shooted_queue_->count() > 0 + #if defined DOUBLE_FEED_BACK + || p_double_queue_->count() >0 + #endif + ) { bool temp; p_shooted_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result){ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); - pDev__->UserOutputValue.SetValue(false); - pDev__->UserOutputValue.SetValue(true); - } - else{ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); - pDev__->UserOutputValue.SetValue(false); - pDev__->UserOutputValue.SetValue(true); - } - } + pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent); } -//Ӻһ -#else//Ӻ +#else if(p_result_wait_queue_->count() > 0) { bool temp; p_result_wait_queue_->take(temp); - if (p_result_queue_->count() > 0) - { - bool result; - p_result_queue_->take(result); - if (!result){ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3); - pDev__->UserOutputValue.SetValue(false); - pDev__->UserOutputValue.SetValue(true); - } - else{ - pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1); - pDev__->UserOutputValue.SetValue(false); - pDev__->UserOutputValue.SetValue(true); - } - } + pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent); } if(p_shooted_queue_->count() > 0) { @@ -186,7 +251,6 @@ public: p_shooted_queue_->take(temp); p_result_wait_queue_->put(true); } -//Ӻ #endif break; } @@ -221,14 +285,11 @@ public: } }; -//Example of an image event handler. class CSampleImageEventHandler : public Pylon::CBaslerUniversalImageEventHandler { public: - QTimer * ioTimer; ASyncQueue* p_unit_queue_; SyncQueue >* p_image_queue_; - ASyncQueue *p_result_queue_; SyncQueue* p_debug_queue_; ASyncQueue *p_shooted_queue_; Pylon::CBaslerUniversalInstantCamera* pDev__; @@ -256,13 +317,18 @@ public: if (!g_debug_mode) { +#ifdef IMM_PROCESS + p_image_queue_->put(std::make_pair(1,image_clone)); +#else p_unit_queue_->put(image_clone); +#endif } else { p_debug_queue_->put(image_clone); } (*m_cntGrabbedImages_)++; +#ifndef IMM_PROCESS #ifndef USB_BASLER_NEW_FW int unit_count = p_unit_queue_->count(); if (unit_count == Shoot_Num_) @@ -285,52 +351,9 @@ public: DEBUG(" unit_count\n"); p_unit_queue_->clear(); } +#endif #endif } }; -//----------------------------------------------------------------------------- -class CaptureThreadBasler : public QObject -//----------------------------------------------------------------------------- -{ - Q_OBJECT - -public: - explicit CaptureThreadBasler(Pylon::CBaslerUniversalInstantCamera* pCurrDev, bool boTerminated,int Num,int shoot); - CaptureThreadBasler::~CaptureThreadBasler(void); - void terminate( void ) - { - boTerminated_ = true; - } -signals: - void error( QString err ); - void finished( void ); - void requestReady( void ); - void updateStatistics( const QString& data ,int Num); - -private slots: - void process( void ); - void fpsTimeout(void); - void ioTimeout(void); -public: - int Local_Num; - int Shoot_Num; - SyncQueue > *p_image_queue; - ASyncQueue *p_unit_queue; - ASyncQueue *p_result_queue; - ASyncQueue *p_result_wait_queue; - ASyncQueue *p_shooted_queue; - SyncQueue *p_debug_queue; - QTimer *m_Timer = NULL,*m_IOTimer = NULL; - uint64_t m_cntGrabbedImages = 0; - uint64_t m_cntLastGrabbedImages = 0; - CSampleConfigurationEventHandler* CfgEventPtr = NULL; - CSampleCameraEventHandler* BurstEventPtr = NULL; - CSampleImageEventHandler* ImageEventPtr = NULL; - bool Ready = false; -private: - Pylon::CBaslerUniversalInstantCamera* pDev_; - volatile bool boTerminated_; - QMutex lock_; -}; -#endif // CaptureThreadBaslerH \ No newline at end of file +#endif // CaptureThreadBasler diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.cpp new file mode 100644 index 00000000..8726d4d8 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.cpp @@ -0,0 +1,299 @@ +#include "CaptureThreadHIK.h" +#include +#include "PLCDevice.h" +#include "common.h" +#include +extern bool g_debug_mode; //ģʽģʽֹͣ״̬ܴ +extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras]; +extern PLCDevice * m_PLCDevice; + +inline void LossCallBackfunction(unsigned int pData, void* pUser){ + try{ + CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; + SingleCamInfo[CaptureThreadHIKptr->Local_Num].OffLine = true; + CaptureThreadHIKptr->terminate(); + } + catch(...){ + std::cout << "LossCallBackfunction error" << std::endl; + } +} +inline void FallingGpioEventfunction(MV_EVENT_OUT_INFO* pEventInfo, void* pUser){ + try{ + CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; + int unit_count = CaptureThreadHIKptr->p_unit_queue->count(); + if (unit_count > 0) + { + cv::Mat long_image; + for (int i = 0; i < unit_count; i++) + { + cv::Mat image; + CaptureThreadHIKptr->p_unit_queue->take(image); + if (0 == i) + { + long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type()); + } + cv::Rect r(0, i * image.rows, image.cols, image.rows); + cv::Mat roi = long_image(r); + image.copyTo(roi); + } + CaptureThreadHIKptr->p_image_queue->put(std::make_pair(unit_count, long_image)); + CaptureThreadHIKptr->p_shooted_queue->put(true); + } + CaptureThreadHIKptr->p_unit_queue->clear(); + } + catch(...){ + std::cout << "FallingGpioEventfunction error" << std::endl; + } +} +inline void RisingGpioEventfunction(MV_EVENT_OUT_INFO* pEventInfo, void* pUser){ + try{ + CaptureThreadHIK* CaptureThreadHIKptr = (CaptureThreadHIK*)pUser; +#ifdef IMM_FEED_BACK + if (CaptureThreadHIKptr->p_shooted_queue->count() > 0) + { + bool temp; + CaptureThreadHIKptr->p_shooted_queue->take(temp); + } + +#elif defined ONE_TIME_SHIFT + if( + CaptureThreadHIKptr->p_shooted_queue->count() > 0 + #if defined DOUBLE_FEED_BACK + || CaptureThreadHIKptr->p_double_queue->count() > 0 + #endif + ) + { + if (CaptureThreadHIKptr->p_shooted_queue->count() > 0){ + bool temp; + CaptureThreadHIKptr->p_shooted_queue->take(temp); + } + CaptureThreadHIKptr->m_threadFunc.SendFeedBack(EdgeEvent); + } +#else + if(CaptureThreadHIKptr->p_result_wait_queue->count() > 0) + { + bool temp; + CaptureThreadHIKptr->p_result_wait_queue->take(temp); + CaptureThreadHIKptr->m_threadFunc.SendFeedBack(EdgeEvent); + } + if(CaptureThreadHIKptr->p_shooted_queue->count() > 0) + { + bool temp; + CaptureThreadHIKptr->p_shooted_queue->take(temp); + CaptureThreadHIKptr->p_result_wait_queue->put(true); + } +#endif + } + catch(...){ + std::cout << "RisingGpioEventfunction error" << std::endl; + } +} + +#define CaptureThreadHIK_init(a)\ +void __stdcall LossCallBack##a(unsigned int pData, void* pUser){LossCallBackfunction(pData,pUser);}\ +void __stdcall FallingGpioEvent##a(MV_EVENT_OUT_INFO* pEventInfo, void* pUser){FallingGpioEventfunction(pEventInfo,pUser);}\ +void __stdcall RisingGpioEvent##a(MV_EVENT_OUT_INFO* pEventInfo, void* pUser){RisingGpioEventfunction(pEventInfo,pUser);} +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) +CaptureThreadHIK_init(1) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) +CaptureThreadHIK_init(2) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) +CaptureThreadHIK_init(3) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) +CaptureThreadHIK_init(4) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) +CaptureThreadHIK_init(5) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) +CaptureThreadHIK_init(6) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) +CaptureThreadHIK_init(7) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) +CaptureThreadHIK_init(8) +#endif + +void(*LossCallBack[NumberOfSupportedCameras])(unsigned int pData, void* pUser) = { +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + LossCallBack1 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + ,LossCallBack2 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + ,LossCallBack3 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + ,LossCallBack4 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + ,LossCallBack5 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + ,LossCallBack6 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + ,LossCallBack7 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + ,LossCallBack8 +#endif +}; +void(*FallingGpioEvent[NumberOfSupportedCameras])(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) = { +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + FallingGpioEvent1 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + ,FallingGpioEvent2 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + ,FallingGpioEvent3 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + ,FallingGpioEvent4 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + ,FallingGpioEvent5 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + ,FallingGpioEvent6 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + ,FallingGpioEvent7 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + ,FallingGpioEvent8 +#endif +}; +void(*RisingGpioEvent[NumberOfSupportedCameras])(MV_EVENT_OUT_INFO* pEventInfo, void* pUser) = { +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + RisingGpioEvent1 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + ,RisingGpioEvent2 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + ,RisingGpioEvent3 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + ,RisingGpioEvent4 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + ,RisingGpioEvent5 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + ,RisingGpioEvent6 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + ,RisingGpioEvent7 +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + ,RisingGpioEvent8 +#endif +}; +void CaptureThreadHIK::fpsTimeout(void) +{ + uint64_t delta = m_cntGrabbedImages - m_cntLastGrabbedImages; + m_cntLastGrabbedImages = m_cntGrabbedImages; + QString data = QString("%1").arg(delta); + emit updateStatistics(data.left(4), Local_Num); +} + +//----------------------------------------------------------------------------- +CaptureThreadHIK::CaptureThreadHIK(void *camhandle, bool boTerminated,int Num) : + CamHandle( camhandle ), boTerminated_( boTerminated ),Local_Num(Num) +//----------------------------------------------------------------------------- +{ + p_unit_queue = new ASyncQueue(Unit_Queue_Size); + g_pImage_buf = (unsigned char*)malloc(3000 * 3000 * 3); +} +CaptureThreadHIK::~CaptureThreadHIK() +{ + delete p_unit_queue; + free(g_pImage_buf); +} +//----------------------------------------------------------------------------- +void CaptureThreadHIK::process( void ) +//----------------------------------------------------------------------------- +{ + try { + int nRet = MV_OK, nnRet = MV_OK; + + m_threadFunc.CamHandle_ = CamHandle; + m_threadFunc.p_result_queue_ = p_result_queue; + m_threadFunc.p_double_queue_ = p_double_queue; + + nRet = MV_CC_RegisterExceptionCallBack(CamHandle, LossCallBack[Local_Num], this); + if (nRet) { std::cout << "can not register loss callback" << std::endl; nnRet = nRet; } + + nRet = MV_CC_SetEnumValueByString(CamHandle, "EventSelector", "Line0FallingEdge"); + if (nRet) { std::cout << "can not set EventSelector" << std::endl; nnRet = nRet; } + + nRet = MV_CC_SetEnumValueByString(CamHandle, "EventNotification", "On"); + if (nRet) { std::cout << "can not set EventNotification" << std::endl; nnRet = nRet; } + + nRet = MV_CC_SetEnumValueByString(CamHandle, "EventSelector", "Line0RisingEdge"); + if (nRet) { std::cout << "can not set EventSelector" << std::endl; nnRet = nRet; } + + nRet = MV_CC_SetEnumValueByString(CamHandle, "EventNotification", "On"); + if (nRet) { std::cout << "can not set EventNotification" << std::endl; nnRet = nRet; } + + nRet = MV_CC_RegisterEventCallBackEx(CamHandle, "Line0FallingEdge", FallingGpioEvent[Local_Num], this); + if (nRet) { std::cout << "can not register GPIO callback" << std::endl; nnRet = nRet; } + + nRet = MV_CC_RegisterEventCallBackEx(CamHandle, "Line0RisingEdge", RisingGpioEvent[Local_Num], this); + if (nRet) { std::cout << "can not register GPIO callback" << std::endl; nnRet = nRet; } + + m_Timer = new QTimer(); + connect(m_Timer, SIGNAL(timeout()), this, SLOT(fpsTimeout())); + m_Timer->start(1000); + + unsigned int nDataSize; + MVCC_INTVALUE_EX stIntValue = { 0 }; + nRet = MV_CC_GetIntValueEx(CamHandle, "PayloadSize", &stIntValue); + if (nRet) { std::cout << "Get PayloadSize error" << std::endl; } + nDataSize = stIntValue.nCurValue*3;/// + MV_CC_StartGrabbing(CamHandle); + Ready = true; + while(!boTerminated_) + { + nRet = MV_CC_GetImageForBGR(CamHandle, g_pImage_buf, nDataSize, &stFrameInfo, 200); + if (MV_OK == nRet) + { + m_cntGrabbedImages++; + + cv::Mat openCVImage(stFrameInfo.nHeight, stFrameInfo.nWidth, CV_8UC3, g_pImage_buf); + cv::Mat image_clone = openCVImage.clone(); + if (!g_debug_mode) + { +#ifdef IMM_PROCESS + p_image_queue->put(std::make_pair(1,image_clone)); +#else + p_unit_queue->put(image_clone); //ʱ +#endif + } + else + { + p_debug_queue->put(image_clone); //Զ + } + } +#if defined (IMM_FEED_BACK) || defined (CAP_FEED_BACK) + m_threadFunc.SendFeedBack(ImageCap); +#endif + QCoreApplication::processEvents();//Make sure the timer is triggered + } + MV_CC_StopGrabbing(CamHandle); + MV_CC_CloseDevice(CamHandle); + delete m_Timer; + } + catch (cv::Exception& e) { + const char* err_msg = e.what(); + std::cout << "exception caught: " << err_msg << std::endl; + } +} +//----------------------------------------------------------------------------- diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.h similarity index 60% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.h index 580bd710..9a36e16a 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/CaptureThreadHIK.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CaptureThreadHIK.h @@ -14,6 +14,47 @@ #include +class CaptureThreadHIK_Func +{ +public: + void *CamHandle_; + ASyncQueue *p_result_queue_; + ASyncQueue *p_double_queue_; + void SendFeedBack(int OpID) + { + bool send_ng=false; + bool send_ok=false; + if(OpID == EdgeEvent) + { +#if defined DOUBLE_FEED_BACK + if(p_double_queue_->count() > 0) + { + bool temp; + p_double_queue_->take(temp); + send_ng=true; + } +#endif + } + if (p_result_queue_->count() > 0) + { + bool result; + p_result_queue_->take(result); + if (!result) + { +#if defined DOUBLE_FEED_BACK + p_double_queue_->put(true); +#endif + send_ng=true; + } + } + if(send_ng) + { + MV_CC_SetEnumValue(CamHandle_, "LineSelector", 1); + MV_CC_SetCommandValue(CamHandle_, "LineTriggerSoftware"); + } + } +}; + //----------------------------------------------------------------------------- class CaptureThreadHIK : public QObject //----------------------------------------------------------------------------- @@ -43,6 +84,7 @@ public: ASyncQueue *p_unit_queue; ASyncQueue *p_result_queue; ASyncQueue *p_result_wait_queue; + ASyncQueue *p_double_queue; ASyncQueue *p_shooted_queue; SyncQueue *p_debug_queue; void* CamHandle; @@ -50,6 +92,7 @@ public: uint64_t m_cntGrabbedImages = 0; uint64_t m_cntLastGrabbedImages = 0; bool Ready = false; + CaptureThreadHIK_Func m_threadFunc; private: MV_FRAME_OUT_INFO_EX stFrameInfo; unsigned char* g_pImage_buf; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj similarity index 92% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj index 1a9fc943..5d0c458d 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj @@ -38,7 +38,7 @@ Application - v142 + v143 @@ -126,15 +126,16 @@ - UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;NOMINMAX;QT_NETWORK_LIB;%(PreprocessorDefinitions) + UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;NOMINMAX;QT_NETWORK_LIB;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions) .\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(ProjectDir)MvIMPACT;$(ProjectDir)OpenCV455Simple\include;$(ProjectDir)Common;$(ProjectDir)Pylon6.2\include;$(ProjectDir)modbus;$(ProjectDir)MVS3.2.1\Include;$(ProjectDir)PLC;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories) - None - MultiThreadedDLL + ProgramDatabase + MultiThreaded true true stdcpp14 MaxSpeed - true + false + 4819;%(DisableSpecificWarnings) Console @@ -142,6 +143,8 @@ $(QTDIR)\lib;$(ProjectDir)OpenCV455Simple\win64\vc15\lib;$(ProjectDir)Pylon6.2\lib\Win64;$(ProjectDir)MvIMPACT\lib\win64;$(ProjectDir)MVS3.2.1\lib\win64;$(ProjectDir)modbus;%(AdditionalLibraryDirectories) false qtmain.lib;Qt5Core.lib;Qt5Widgets.lib;Qt5Gui.lib;opencv_world455.lib;modbus.lib;mvDeviceManager.lib;MvCameraControl.lib;Qt5Network.lib;%(AdditionalDependencies) + + @@ -165,6 +168,7 @@ + true true @@ -217,6 +221,10 @@ true true + + true + true + true true @@ -303,6 +311,10 @@ true true + + true + true + true true @@ -337,6 +349,7 @@ + @@ -356,7 +369,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing cigarette.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -380,23 +393,24 @@ + $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_CHARTS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBCHANNEL_LIB -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCharts" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWebChannel" "-I$(QTDIR)\include\QtWebSockets" "-I$(QTDIR)\include\QtWidgets" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNOMINMAX -DQT_CHARTS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBCHANNEL_LIB -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtCharts" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWebChannel" "-I$(QTDIR)\include\QtWebSockets" "-I$(QTDIR)\include\QtWidgets" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-IG:\code_library\c\opencv\4.3\build-opencv-cpu\include" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CHARTS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBCHANNEL_LIB -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCharts" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWebChannel" "-I$(QTDIR)\include\QtWebSockets" "-I$(QTDIR)\include\QtWidgets" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DNOMINMAX -DQT_CHARTS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBCHANNEL_LIB -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtCharts" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" "-I$(QTDIR)\include\QtWebChannel" "-I$(QTDIR)\include\QtWebSockets" "-I$(QTDIR)\include\QtWidgets" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -440,7 +454,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -458,7 +472,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing alarmdialog.hpp... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -480,7 +494,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing CaptureThread.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -499,7 +513,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -517,7 +531,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -590,7 +604,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing plcsetup.hpp... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -608,7 +622,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing db_label.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -626,7 +640,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing debugthread.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -644,7 +658,25 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dialogin.hpp... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-IG:\code_library\c\opencv\4.3\build-opencv-cpu\include" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtNetwork" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -DWIN32_LEAN_AND_MEAN -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -707,7 +739,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing %(Identity)... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" @@ -726,7 +758,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dialogsetuppasswd.hpp... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" $(QTDIR)\bin\moc.exe;%(FullPath) @@ -744,7 +776,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dialogsetup.hpp... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-IG:\code_library\c\opencv\4.3\build-opencv+cuda\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DNOMINMAX -DQT_NETWORK_LIB -D%(PreprocessorDefinitions) "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(ProjectDir)MvIMPACT" "-I$(ProjectDir)OpenCV455Simple\include" "-I$(ProjectDir)Common" "-I$(ProjectDir)Pylon6.2\include" "-I$(ProjectDir)modbus" "-I$(ProjectDir)MVS3.2.1\Include" "-I$(ProjectDir)PLC" "-I$(QTDIR)\include\QtNetwork" diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj.filters b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj.filters similarity index 95% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj.filters rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj.filters index 88e80561..3cc8ba23 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cigarette.vcxproj.filters +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cigarette.vcxproj.filters @@ -245,6 +245,18 @@ Generated Files\Release + + Generated Files\Debug + + + Generated Files\Release + + + Source Files + + + Source Files + @@ -337,6 +349,9 @@ Header Files + + Header Files + @@ -399,5 +414,8 @@ Generated Files + + Header Files + \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cleanthread.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cleanthread.cpp similarity index 93% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cleanthread.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Cleanthread.cpp index 1002a516..9d52d148 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cleanthread.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cleanthread.cpp @@ -47,16 +47,17 @@ void CleanWorkThread::doWork() else { qint64 delDays = g_sys_conf.save_days;/// + qint64 freeSize = g_sys_conf.freesize; CleanImageFile(dir, delDays--); //调用函数获取磁盘参数(单位为字节Byte),转化为GB,需要除以(1024*1024*1024) GetDiskFreeSpaceEx(strDriver, &freeDiskSpaceAvailable, &totalDiskSpace, &totalFreeDiskSpace); - spaceSize = ((qint64)totalFreeDiskSpace.QuadPart * 10) / (qint64)totalDiskSpace.QuadPart; + spaceSize = ((qint64)totalFreeDiskSpace.QuadPart * (100/freeSize)) / (qint64)totalDiskSpace.QuadPart; dirSize = DirFileSize(dir) / gb; while ((spaceSize < 1) && (delDays > 1)) { //磁盘剩余空间小于百分之十 CleanImageFile(dir, delDays--); GetDiskFreeSpaceEx(strDriver, &freeDiskSpaceAvailable, &totalDiskSpace, &totalFreeDiskSpace); - spaceSize = ((qint64)totalFreeDiskSpace.QuadPart * 10) / (qint64)totalDiskSpace.QuadPart; + spaceSize = ((qint64)totalFreeDiskSpace.QuadPart * (100 / freeSize)) / (qint64)totalDiskSpace.QuadPart; } } emit workFinished(); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cleanthread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Cleanthread.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Cleanthread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Cleanthread.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/CommonGUIFunctions.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/CommonGUIFunctions.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/CommonGUIFunctions.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/CommonGUIFunctions.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/CommonGUIFunctions.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/CommonGUIFunctions.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/CommonGUIFunctions.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/CommonGUIFunctions.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/Info.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/Info.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/Info.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/Info.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/ProxyResolverContext.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/ProxyResolverContext.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/ProxyResolverContext.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/ProxyResolverContext.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviexception.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviexception.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviexception.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviexception.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/avihelper.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/avihelper.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/avihelper.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/avihelper.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/avihelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/avihelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/avihelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/avihelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviwrapper.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviwrapper.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviwrapper.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviwrapper.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviwrapper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviwrapper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/aviwrapper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/aviwrapper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper_C.c b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper_C.c similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper_C.c rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper_C.c diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper_C.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper_C.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/exampleHelper_C.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/exampleHelper_C.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/mv.ico b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/mv.ico similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/mv.ico rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/mv.ico diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/mvIcon.xpm b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/mvIcon.xpm similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/mvIcon.xpm rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/mvIcon.xpm diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/qtIncludeEpilogue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/qtIncludeEpilogue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/qtIncludeEpilogue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/qtIncludeEpilogue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/qtIncludePrologue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/qtIncludePrologue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/qtIncludePrologue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/qtIncludePrologue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolver.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolver.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolver.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolver.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolver.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolver.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolver.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolver.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolverContext.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolverContext.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/win32/ProxyResolverContext.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/win32/ProxyResolverContext.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxAbstraction.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxAbstraction.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxAbstraction.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxAbstraction.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncludeEpilogue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncludeEpilogue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncludeEpilogue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncludeEpilogue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncludePrologue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncludePrologue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncludePrologue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncludePrologue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncluder.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncluder.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Common/wxIncluder.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Common/wxIncluder.h diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.h new file mode 100644 index 00000000..8bc2fa46 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.h @@ -0,0 +1,13 @@ +#pragma once + +typedef enum _EncMethod { + Device = 0, + License = 1 +}EncMethod; + +extern "C" bool GenerateDeviceID(void); +extern "C" bool GenerateLicenseData(const char* flag, const char* suffix); +extern "C" bool VerifyLicense(void); +extern "C" bool AddParaForLicenseData(char* flag, char* suffix); +extern "C" bool DeleteParaForLicenseData(char* flag); +extern "C" bool AnalysisLicense(const char* flag); \ No newline at end of file diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.lib new file mode 100644 index 00000000..14f84879 Binary files /dev/null and b/云南楚雄ZB48A-2相机-1280x800/Cigarette/CryptoToolLib.lib differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Logthread.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Logthread.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Logthread.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Logthread.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Logthread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Logthread.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Logthread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Logthread.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/CameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/CameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/CameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/CameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvCameraControl.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvCameraControl.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvCameraControl.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvCameraControl.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvErrorDefine.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvErrorDefine.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvErrorDefine.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvErrorDefine.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvObsoleteInterfaces.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvObsoleteInterfaces.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvObsoleteInterfaces.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvObsoleteInterfaces.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvSdkExport.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvSdkExport.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/MvSdkExport.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/MvSdkExport.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/ObsoleteCamParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/ObsoleteCamParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/ObsoleteCamParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/ObsoleteCamParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/PixelType.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/PixelType.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/Include/PixelType.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/Include/PixelType.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/C++ Builder/MvCameraControlBC.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/C++ Builder/MvCameraControlBC.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/C++ Builder/MvCameraControlBC.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/C++ Builder/MvCameraControlBC.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/MvCameraControl.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/MvCameraControl.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/MvCameraControl.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/MvCameraControl.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/VC6/MvSdkExport.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/VC6/MvSdkExport.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win32/VC6/MvSdkExport.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win32/VC6/MvSdkExport.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win64/C++ Builder/MvCameraControlBC.a b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win64/C++ Builder/MvCameraControlBC.a similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win64/C++ Builder/MvCameraControlBC.a rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win64/C++ Builder/MvCameraControlBC.a diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win64/MvCameraControl.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win64/MvCameraControl.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MVS3.2.1/lib/win64/MvCameraControl.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MVS3.2.1/lib/win64/MvCameraControl.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvCustomCommandDataTypes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvCustomCommandDataTypes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvCustomCommandDataTypes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvCustomCommandDataTypes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvDriverBaseEnums.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvDriverBaseEnums.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvDriverBaseEnums.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvDriverBaseEnums.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvVersionInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvVersionInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/DriverBase/Include/mvVersionInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/DriverBase/Include/mvVersionInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/CommonGUIFunctions.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/Info.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/Info.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/Info.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/Info.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/ProxyResolverContext.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/ProxyResolverContext.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/ProxyResolverContext.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/ProxyResolverContext.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviexception.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviexception.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviexception.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviexception.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/avihelper.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/avihelper.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/avihelper.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/avihelper.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/avihelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/avihelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/avihelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/avihelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviwrapper.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviwrapper.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviwrapper.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviwrapper.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviwrapper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviwrapper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/aviwrapper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/aviwrapper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.c b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.c similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.c rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.c diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/exampleHelper_C.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/mv.ico b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/mv.ico similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/mv.ico rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/mv.ico diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/qtIncludeEpilogue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/qtIncludeEpilogue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/qtIncludeEpilogue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/qtIncludeEpilogue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/qtIncludePrologue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/qtIncludePrologue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/qtIncludePrologue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/qtIncludePrologue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolver.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolverContext.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolverContext.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolverContext.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/win32/ProxyResolverContext.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxAbstraction.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxAbstraction.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxAbstraction.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxAbstraction.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncludeEpilogue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncludeEpilogue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncludeEpilogue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncludeEpilogue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncludePrologue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncludePrologue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncludePrologue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncludePrologue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncluder.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncluder.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/apps/Common/wxIncluder.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/apps/Common/wxIncluder.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/STLHelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/STLHelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/STLHelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/STLHelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/System/win32/common.rc2 b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/System/win32/common.rc2 similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/System/win32/common.rc2 rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/System/win32/common.rc2 diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/auto_array_ptr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/auto_array_ptr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/auto_array_ptr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/auto_array_ptr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/crt/mvstdio.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/crt/mvstdio.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/crt/mvstdio.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/crt/mvstdio.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/crt/mvstring.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/crt/mvstring.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/crt/mvstring.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/crt/mvstring.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/function_cast.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/function_cast.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/function_cast.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/function_cast.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/minmax.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/minmax.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/common/minmax.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/common/minmax.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDeviceManager.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDeviceManager.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDeviceManager.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDeviceManager.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDeviceManagerb.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDeviceManagerb.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDeviceManagerb.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDeviceManagerb.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDisplay.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDisplay.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDisplay.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDisplay.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDisplayb.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDisplayb.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win32/mvDisplayb.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win32/mvDisplayb.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDeviceManager.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDeviceManager.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDeviceManager.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDeviceManager.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDeviceManagerb.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDeviceManagerb.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDeviceManagerb.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDeviceManagerb.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDisplay.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDisplay.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDisplay.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDisplay.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDisplayb.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDisplayb.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/lib/win64/mvDisplayb.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/lib/win64/mvDisplayb.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDeviceManager/Include/mvDeviceManager.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDeviceManager/Include/mvDeviceManager.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDeviceManager/Include/mvDeviceManager.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDeviceManager/Include/mvDeviceManager.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplay.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplay.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplay.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplay.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayDatatypes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayDatatypes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayDatatypes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayDatatypes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayExtensions.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayExtensions.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayExtensions.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayExtensions.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayWindow.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayWindow.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayWindow.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvDisplayWindow.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvIMPACT_acquire_display.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvIMPACT_acquire_display.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvDisplay/Include/mvIMPACT_acquire_display.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvDisplay/Include/mvIMPACT_acquire_display.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_CustomCommands.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_CustomCommands.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_CustomCommands.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_CustomCommands.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_FileStream.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_FileStream.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_FileStream.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_FileStream.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_LensControl.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_LensControl.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_LensControl.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_GenICam_LensControl.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_helper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_helper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_helper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/mvIMPACT_acquire_helper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/versionInfo.txt b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/versionInfo.txt similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvIMPACT_CPP/versionInfo.txt rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvIMPACT_CPP/versionInfo.txt diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvPropHandling/Include/mvPropHandlingDatatypes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvPropHandling/Include/mvPropHandlingDatatypes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/MvIMPACT/mvPropHandling/Include/mvPropHandlingDatatypes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/MvIMPACT/mvPropHandling/Include/mvPropHandlingDatatypes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/calib3d/calib3d_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/affine.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/affine.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/affine.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/affine.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/async.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/async.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/async.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/async.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/base.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/base.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/base.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/base.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/bindings_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/bindings_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/bindings_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/bindings_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/bufferpool.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/bufferpool.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/bufferpool.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/bufferpool.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/check.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/check.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/check.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/check.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/core_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/core_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/core_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/core_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/block.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/block.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/block.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/block.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/border_interpolate.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/border_interpolate.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/border_interpolate.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/border_interpolate.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/color.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/color.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/color.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/color.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/common.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/common.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/common.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/common.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/datamov_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/datamov_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/datamov_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/datamov_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/color_detail.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/color_detail.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/color_detail.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/color_detail.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce_key_val.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce_key_val.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce_key_val.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/reduce_key_val.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/transform_detail.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/transform_detail.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/transform_detail.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/transform_detail.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/type_traits_detail.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/type_traits_detail.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/type_traits_detail.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/type_traits_detail.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/vec_distance_detail.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/vec_distance_detail.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/vec_distance_detail.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/detail/vec_distance_detail.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/dynamic_smem.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/dynamic_smem.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/dynamic_smem.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/dynamic_smem.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/emulation.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/emulation.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/emulation.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/emulation.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/filters.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/filters.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/filters.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/filters.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/funcattrib.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/funcattrib.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/funcattrib.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/funcattrib.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/functional.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/functional.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/functional.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/functional.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/limits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/limits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/limits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/limits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/reduce.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/reduce.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/reduce.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/reduce.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/saturate_cast.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/saturate_cast.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/saturate_cast.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/saturate_cast.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/scan.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/scan.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/scan.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/scan.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/simd_functions.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/simd_functions.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/simd_functions.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/simd_functions.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/transform.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/transform.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/transform.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/transform.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/type_traits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/type_traits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/type_traits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/type_traits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/utility.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/utility.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/utility.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/utility.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_distance.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_distance.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_distance.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_distance.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_math.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_math.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_math.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_math.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_traits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_traits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_traits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/vec_traits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_reduce.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_reduce.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_reduce.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_reduce.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_shuffle.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_shuffle.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_shuffle.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda/warp_shuffle.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_stream_accessor.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_stream_accessor.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_stream_accessor.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_stream_accessor.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_types.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_types.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_types.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cuda_types.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_dispatch.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_dispatch.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_dispatch.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_dispatch.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_helper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_helper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_helper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cv_cpu_helper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvdef.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvdef.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvdef.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvdef.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd_wrapper.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd_wrapper.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd_wrapper.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/cvstd_wrapper.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/async_promise.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/async_promise.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/async_promise.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/async_promise.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/dispatch_helper.impl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/dispatch_helper.impl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/dispatch_helper.impl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/dispatch_helper.impl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/exception_ptr.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/exception_ptr.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/detail/exception_ptr.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/detail/exception_ptr.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/directx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/directx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/directx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/directx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/dualquaternion.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/eigen.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/eigen.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/eigen.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/eigen.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/fast_math.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/fast_math.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/fast_math.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/fast_math.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/hal.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/hal.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/hal.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/hal.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/interface.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/interface.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/interface.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/interface.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx512.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx512.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx512.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_avx512.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_cpp.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_cpp.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_cpp.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_cpp.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_forward.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_forward.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_forward.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_forward.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_msa.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_msa.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_msa.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_msa.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_neon.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_neon.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_neon.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_neon.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv071.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv071.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv071.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_rvv071.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse_em.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse_em.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse_em.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_sse_em.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_vsx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_vsx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_vsx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_vsx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_wasm.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_wasm.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_wasm.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/intrin_wasm.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/msa_macros.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/msa_macros.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/msa_macros.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/msa_macros.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/simd_utils.impl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/simd_utils.impl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/hal/simd_utils.impl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/hal/simd_utils.impl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/mat.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/mat.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/mat.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/mat.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/mat.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/mat.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/mat.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/mat.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/matx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/matx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/matx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/matx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/neon_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/neon_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/neon_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/neon_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ocl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ocl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ocl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ocl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ocl_genbase.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ocl_genbase.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ocl_genbase.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ocl_genbase.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/ocl_defs.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/ocl_defs.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/ocl_defs.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/ocl_defs.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_info.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_info.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_info.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_info.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_svm.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_svm.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_svm.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opencl/opencl_svm.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opengl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opengl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/opengl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/opengl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/operations.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/operations.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/operations.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/operations.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/optim.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/optim.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/optim.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/optim.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ovx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ovx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/ovx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/ovx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/parallel_backend.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/parallel_backend.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/parallel_backend.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/parallel/parallel_backend.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/persistence.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/persistence.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/persistence.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/persistence.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/quaternion.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/saturate.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/saturate.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/saturate.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/saturate.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/simd_intrinsics.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/simd_intrinsics.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/simd_intrinsics.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/simd_intrinsics.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/softfloat.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/softfloat.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/softfloat.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/softfloat.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/sse_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/sse_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/sse_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/sse_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/traits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/traits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/traits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/traits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/types.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/types.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/types.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/types.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/types_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/types_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/types_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/types_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utility.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utility.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utility.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utility.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.impl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.impl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.impl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/allocator_stats.impl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/filesystem.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/filesystem.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/filesystem.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/filesystem.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/instrumentation.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/instrumentation.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/instrumentation.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/instrumentation.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.defines.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.defines.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.defines.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.defines.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logger.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logtag.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logtag.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logtag.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/logtag.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/tls.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/tls.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/tls.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/tls.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/trace.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/trace.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/utils/trace.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/utils/trace.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/va_intel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/va_intel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/va_intel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/va_intel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/version.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/version.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/version.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/version.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/vsx_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/vsx_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/core/vsx_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/core/vsx_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/cvconfig.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/cvconfig.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/cvconfig.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/cvconfig.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/all_layers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/all_layers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/all_layers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/all_layers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dict.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dict.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dict.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dict.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/dnn.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.details.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.details.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.details.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.details.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/layer.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/shape_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/shape_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/shape_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/shape_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/debug_utils.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/debug_utils.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/debug_utils.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/debug_utils.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/inference_engine.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/inference_engine.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/inference_engine.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/utils/inference_engine.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/version.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/version.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/dnn/version.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/dnn/version.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d/features2d.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d/features2d.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d/features2d.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d/features2d.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d/hal/interface.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d/hal/interface.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/features2d/hal/interface.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/features2d/hal/interface.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/all_indices.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/all_indices.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/all_indices.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/all_indices.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/allocator.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/allocator.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/allocator.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/allocator.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/any.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/any.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/any.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/any.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/autotuned_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/autotuned_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/autotuned_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/autotuned_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/composite_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/composite_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/composite_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/composite_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/config.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/config.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/config.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/config.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/defines.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/defines.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/defines.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/defines.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dist.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dist.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dist.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dist.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dummy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dummy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dummy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dummy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dynamic_bitset.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dynamic_bitset.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/dynamic_bitset.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/dynamic_bitset.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/flann.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/flann.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/flann.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/flann.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/flann_base.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/flann_base.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/flann_base.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/flann_base.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/general.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/general.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/general.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/general.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/ground_truth.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/ground_truth.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/ground_truth.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/ground_truth.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/hdf5.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/hdf5.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/hdf5.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/hdf5.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/heap.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/heap.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/heap.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/heap.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/hierarchical_clustering_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/hierarchical_clustering_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/hierarchical_clustering_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/hierarchical_clustering_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/index_testing.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/index_testing.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/index_testing.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/index_testing.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_single_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_single_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_single_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kdtree_single_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kmeans_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kmeans_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/kmeans_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/kmeans_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/linear_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/linear_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/linear_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/linear_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/logger.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/logger.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/logger.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/logger.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_table.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_table.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_table.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/lsh_table.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/matrix.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/matrix.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/matrix.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/matrix.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/miniflann.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/miniflann.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/miniflann.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/miniflann.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/nn_index.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/nn_index.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/nn_index.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/nn_index.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/object_factory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/object_factory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/object_factory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/object_factory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/params.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/params.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/params.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/params.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/random.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/random.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/random.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/random.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/result_set.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/result_set.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/result_set.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/result_set.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/sampling.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/sampling.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/sampling.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/sampling.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/saving.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/saving.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/saving.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/saving.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/simplex_downhill.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/simplex_downhill.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/simplex_downhill.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/simplex_downhill.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/timer.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/timer.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/flann/timer.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/flann/timer.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/gcpukernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/gcpukernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/gcpukernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/gcpukernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/stereo.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/stereo.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/stereo.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/stereo.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/video.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/video.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/video.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/cpu/video.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidbuffer.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidbuffer.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidbuffer.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidbuffer.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidkernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidkernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidkernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/gfluidkernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/fluid/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/garg.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/garg.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/garg.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/garg.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/garray.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/garray.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/garray.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/garray.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gasync_context.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gasync_context.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gasync_context.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gasync_context.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcall.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcall.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcall.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcall.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcommon.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcommon.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcommon.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcommon.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled_async.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled_async.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled_async.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompiled_async.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompoundkernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompoundkernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompoundkernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcompoundkernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation_async.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation_async.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation_async.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gcomputation_async.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gframe.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gframe.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gframe.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gframe.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gkernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gkernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gkernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gkernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmat.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmat.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmat.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmat.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmetaarg.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmetaarg.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmetaarg.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gmetaarg.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gopaque.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gopaque.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gopaque.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gopaque.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gproto.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gproto.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gproto.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gproto.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/ggpukernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/ggpukernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/ggpukernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/ggpukernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gpu/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gscalar.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gscalar.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gscalar.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gscalar.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gstreaming.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gstreaming.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gstreaming.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gstreaming.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtransform.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtransform.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtransform.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtransform.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtype_traits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtype_traits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtype_traits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtype_traits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtyped.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtyped.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtyped.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/gtyped.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/bindings_ie.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/bindings_ie.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/bindings_ie.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/bindings_ie.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/ie.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/ie.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/ie.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/ie.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/onnx.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/onnx.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/onnx.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/onnx.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/parsers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/parsers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/parsers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/infer/parsers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/media.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/media.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/media.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/media.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/goclkernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/goclkernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/goclkernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/goclkernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/ocl/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/opencv_includes.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/opencv_includes.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/opencv_includes.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/opencv_includes.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/operators.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/operators.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/operators.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/operators.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/assert.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/assert.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/assert.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/assert.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/convert.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/convert.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/convert.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/convert.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/cvdefs.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/cvdefs.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/cvdefs.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/cvdefs.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/exports.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/exports.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/exports.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/exports.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/mat.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/mat.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/mat.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/mat.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/saturate.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/saturate.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/saturate.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/saturate.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/scalar.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/scalar.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/scalar.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/scalar.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/types.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/types.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/types.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/own/types.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/core.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/core.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/core.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/core.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/gplaidmlkernel.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/gplaidmlkernel.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/gplaidmlkernel.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/gplaidmlkernel.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/plaidml.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/plaidml.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/plaidml.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/plaidml/plaidml.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/python/python.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/python/python.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/python/python.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/python/python.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render_types.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render_types.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render_types.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/render/render_types.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/rmat.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/rmat.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/rmat.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/rmat.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n/base.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n/base.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n/base.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/s11n/base.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/stereo.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/stereo.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/stereo.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/stereo.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/cap.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/cap.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/cap.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/cap.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/desync.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/desync.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/desync.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/desync.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/format.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/format.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/format.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/format.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamerpipeline.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamerpipeline.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamerpipeline.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamerpipeline.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamersource.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamersource.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamersource.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/gstreamer/gstreamersource.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/meta.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/meta.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/meta.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/meta.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/cfg_params.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/cfg_params.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/cfg_params.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/cfg_params.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/data_provider_interface.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/data_provider_interface.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/data_provider_interface.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/data_provider_interface.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/device_selector_interface.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/device_selector_interface.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/device_selector_interface.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/device_selector_interface.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/source.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/source.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/source.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/onevpl/source.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/source.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/source.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/source.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/source.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/sync.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/sync.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/sync.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/streaming/sync.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/any.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/any.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/any.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/any.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/compiler_hints.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/compiler_hints.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/compiler_hints.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/compiler_hints.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/copy_through_move.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/copy_through_move.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/copy_through_move.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/copy_through_move.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/optional.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/optional.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/optional.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/optional.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/throw.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/throw.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/throw.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/throw.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/type_traits.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/type_traits.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/type_traits.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/type_traits.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/util.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/util.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/util.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/util.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/variant.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/variant.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/variant.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/util/variant.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/video.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/video.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/gapi/video.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/gapi/video.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/highgui/highgui_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/imgcodecs_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/ios.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/ios.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/ios.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/ios.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/legacy/constants_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/legacy/constants_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/legacy/constants_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/legacy/constants_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/macosx.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/macosx.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/macosx.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgcodecs/macosx.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/bindings.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/bindings.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/bindings.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/bindings.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/detail/gcgraph.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/detail/gcgraph.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/detail/gcgraph.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/detail/gcgraph.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/hal.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/hal.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/hal.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/hal.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/interface.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/interface.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/interface.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/hal/interface.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/imgproc_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/segmentation.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/segmentation.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/segmentation.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/segmentation.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/types_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/types_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/imgproc/types_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/imgproc/types_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/ml/ml.inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/detection_based_tracker.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/detection_based_tracker.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/detection_based_tracker.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/detection_based_tracker.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/face.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/face.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/face.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/face.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/objdetect.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/objdetect.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/objdetect/objdetect.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/objdetect/objdetect.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/opencv.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/opencv.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/opencv.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/opencv.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/opencv_modules.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/opencv_modules.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/opencv_modules.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/opencv_modules.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/cuda.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/cuda.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/cuda.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/cuda.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/legacy/constants_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/legacy/constants_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/legacy/constants_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/legacy/constants_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/photo.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/photo.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/photo/photo.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/photo/photo.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/autocalib.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/autocalib.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/autocalib.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/autocalib.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/blenders.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/blenders.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/blenders.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/blenders.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/camera.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/camera.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/camera.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/camera.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/exposure_compensate.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/exposure_compensate.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/exposure_compensate.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/exposure_compensate.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/matchers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/matchers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/matchers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/matchers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/motion_estimators.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/motion_estimators.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/motion_estimators.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/motion_estimators.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/seam_finders.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/seam_finders.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/seam_finders.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/seam_finders.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/timelapsers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/timelapsers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/timelapsers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/timelapsers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util_inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util_inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util_inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/util_inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers_inl.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers_inl.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers_inl.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/detail/warpers_inl.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/warpers.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/warpers.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/stitching/warpers.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/stitching/warpers.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/background_segm.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/background_segm.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/background_segm.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/background_segm.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/detail/tracking.detail.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/detail/tracking.detail.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/detail/tracking.detail.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/detail/tracking.detail.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/legacy/constants_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/legacy/constants_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/legacy/constants_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/legacy/constants_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/tracking.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/tracking.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/tracking.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/tracking.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/video.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/video.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/video/video.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/video/video.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/cap_ios.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/cap_ios.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/cap_ios.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/cap_ios.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/legacy/constants_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/legacy/constants_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/legacy/constants_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/legacy/constants_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/registry.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/registry.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/registry.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/registry.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio_c.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio_c.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio_c.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/videoio/videoio_c.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/world.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/world.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/include/opencv2/world.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/include/opencv2/world.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig-version.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig-version.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig-version.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig-version.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVConfig.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-debug.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-debug.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-debug.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-debug.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-release.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-release.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-release.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules-release.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/OpenCVModules.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455d.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455d.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455d.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc14/lib/opencv_world455d.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig-version.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig-version.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig-version.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig-version.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVConfig.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-debug.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-debug.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-debug.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-debug.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-release.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-release.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-release.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules-release.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules.cmake b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules.cmake similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules.cmake rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/OpenCVModules.cmake diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455d.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455d.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455d.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/OpenCV455Simple/win64/vc15/lib/opencv_world455d.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.cpp similarity index 83% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.cpp index fa8112a1..20d95aae 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.cpp @@ -2,13 +2,19 @@ #include "PLCDevice.h" #include "modbus.h" #include +#include +#include -modbus_t * g_modbus; //Modbus TCP +extern SysConf g_sys_conf; + +modbus_t * g_modbus = NULL; //Modbus TCP bool PLCDevice::init_plc(PLCDevice* PLCptr) { + const char* comport= g_sys_conf.ComPort.data(); + qDebug() << "COM:" << comport; //连接PLC - g_modbus = modbus_new_rtu("COM1", 9600, 'N', 8, 1); + g_modbus = modbus_new_rtu(comport, 9600, 'N', 8, 1); modbus_set_debug(g_modbus, 0); modbus_set_response_timeout(g_modbus, 1, 0); @@ -21,7 +27,15 @@ bool PLCDevice::init_plc(PLCDevice* PLCptr) } return true; } - +bool PLCDevice::disconnect_plc(void) +{ + if(g_modbus) + { + modbus_close(g_modbus); + modbus_free(g_modbus); + } + return true; +} int PLCDevice::write_bit_2_plc(int addr, int value) { if (g_plc_ok) diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.h similarity index 82% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.h index 6bbbd9c6..e9bc1618 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/PLC/PLCDevice.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/PLC/PLCDevice.h @@ -7,10 +7,14 @@ public: bool g_plc_ok; + //[0]:1=连接,0=断开 + uint8_t g_plc_status; + static bool init_plc(PLCDevice *PLCptr); int write_bit_2_plc(int addr, int value); int read_bits_from_plc(int addr, int nb, uint8_t* value); int write_short_2_plc(int addr, int nb, uint16_t *value); int read_short_from_plc(int addr, int nb, uint16_t *value); + bool disconnect_plc(void); }; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCBase.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCBase.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCBase.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCBase.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCError.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCError.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCError.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCError.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCException.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCException.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCException.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCException.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCLinkage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCLinkage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCLinkage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCLinkage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCNamespace.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCNamespace.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCNamespace.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCNamespace.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCRTSSUtilities.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCRTSSUtilities.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCRTSSUtilities.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCRTSSUtilities.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCString.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCString.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCString.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCString.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCStringVector.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCStringVector.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCStringVector.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCStringVector.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCSynch.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCSynch.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCSynch.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCSynch.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCTypes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCTypes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCTypes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCTypes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCUtilities.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCUtilities.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/Base/GCUtilities.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/Base/GCUtilities.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Autovector.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Autovector.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Autovector.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Autovector.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterDcam.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterDcam.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterDcam.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterDcam.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGEV.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGEV.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGEV.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGEV.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGeneric.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGeneric.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGeneric.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterGeneric.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterU3V.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterU3V.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterU3V.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkAdapterU3V.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkPort.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkPort.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ChunkPort.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ChunkPort.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Compatibility.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Compatibility.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Compatibility.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Compatibility.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Container.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Container.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Container.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Container.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Counter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Counter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Counter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Counter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/DLLLoad.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/DLLLoad.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/DLLLoad.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/DLLLoad.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EnumClasses.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EnumClasses.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EnumClasses.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EnumClasses.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapter1394.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapter1394.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapter1394.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapter1394.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterCL.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterCL.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterCL.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterCL.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterGEV.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterGEV.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterGEV.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterGEV.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterGeneric.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterGeneric.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterGeneric.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterGeneric.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterU3V.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterU3V.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventAdapterU3V.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventAdapterU3V.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventPort.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventPort.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/EventPort.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/EventPort.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Filestream.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Filestream.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Filestream.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Filestream.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApi.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApi.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApi.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApi.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiDll.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiDll.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiDll.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiDll.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiLinkage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiLinkage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiLinkage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiLinkage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiNamespace.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiNamespace.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiNamespace.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiNamespace.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiVersion.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiVersion.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/GenApiVersion.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/GenApiVersion.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IBase.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IBase.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IBase.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IBase.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IBoolean.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IBoolean.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IBoolean.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IBoolean.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ICategory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ICategory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ICategory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ICategory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IChunkPort.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IChunkPort.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IChunkPort.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IChunkPort.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ICommand.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ICommand.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ICommand.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ICommand.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IDestroy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IDestroy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IDestroy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IDestroy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IDeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IDeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IDeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IDeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumEntry.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumEntry.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumEntry.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumEntry.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumeration.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumeration.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumeration.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumeration.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumerationT.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumerationT.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IEnumerationT.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IEnumerationT.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IFloat.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IFloat.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IFloat.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IFloat.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IInteger.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IInteger.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IInteger.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IInteger.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INode.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INode.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INode.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INode.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INodeMap.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INodeMap.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INodeMap.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INodeMap.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INodeMapDyn.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INodeMapDyn.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/INodeMapDyn.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/INodeMapDyn.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPort.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPort.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPort.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPort.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPortConstruct.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPortConstruct.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPortConstruct.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPortConstruct.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPortRecorder.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPortRecorder.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IPortRecorder.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IPortRecorder.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IRegister.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IRegister.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IRegister.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IRegister.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ISelector.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ISelector.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ISelector.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ISelector.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ISelectorDigit.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ISelectorDigit.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/ISelectorDigit.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/ISelectorDigit.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IString.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IString.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IString.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IString.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IUserData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IUserData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IUserData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IUserData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IValue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IValue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/IValue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/IValue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeCallback.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeCallback.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeCallback.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeCallback.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeMapFactory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeMapFactory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeMapFactory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeMapFactory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeMapRef.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeMapRef.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/NodeMapRef.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/NodeMapRef.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Persistence.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Persistence.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Persistence.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Persistence.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Pointer.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Pointer.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Pointer.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Pointer.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/PortImpl.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/PortImpl.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/PortImpl.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/PortImpl.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/PortWriteList.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/PortWriteList.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/PortWriteList.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/PortWriteList.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Reference.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Reference.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Reference.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Reference.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/RegisterSetHelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/RegisterSetHelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/RegisterSetHelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/RegisterSetHelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/SelectorSet.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/SelectorSet.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/SelectorSet.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/SelectorSet.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/StructPort.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/StructPort.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/StructPort.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/StructPort.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Synch.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Synch.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Synch.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Synch.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Types.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Types.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenApi/Types.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenApi/Types.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICam.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICam.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICam.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICam.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICamFwd.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICamFwd.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICamFwd.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICamFwd.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICamVersion.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICamVersion.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/GenICamVersion.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/GenICamVersion.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/_GenICamVersion.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/_GenICamVersion.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/_GenICamVersion.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/_GenICamVersion.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiC.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiC.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiC.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiC.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiC32BitMethods.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiC32BitMethods.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiC32BitMethods.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiC32BitMethods.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCDefines.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCDefines.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCDefines.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCDefines.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCEnums.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCEnums.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCEnums.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCEnums.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCError.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCError.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCError.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCError.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCTypes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCTypes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/genapic/GenApiCTypes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/genapic/GenApiCTypes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AcquireContinuousConfiguration.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AcquireContinuousConfiguration.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AcquireContinuousConfiguration.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AcquireContinuousConfiguration.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AcquireSingleFrameConfiguration.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AcquireSingleFrameConfiguration.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AcquireSingleFrameConfiguration.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AcquireSingleFrameConfiguration.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ArrayParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ArrayParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ArrayParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ArrayParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AviCompressionOptions.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AviCompressionOptions.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AviCompressionOptions.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AviCompressionOptions.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AviWriter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AviWriter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/AviWriter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/AviWriter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalCameraEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalCameraEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalCameraEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalCameraEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalConfigurationEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalConfigurationEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalConfigurationEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalConfigurationEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalGrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalImageEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalImageEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalImageEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalImageEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BaslerUniversalInstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BooleanParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BooleanParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BooleanParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BooleanParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BufferFactory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BufferFactory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/BufferFactory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/BufferFactory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Callback.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Callback.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Callback.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Callback.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/CameraEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/CameraEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/CameraEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/CameraEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ChunkParser.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ChunkParser.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ChunkParser.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ChunkParser.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/CommandParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/CommandParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/CommandParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/CommandParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ConfigurationEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ConfigurationEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ConfigurationEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ConfigurationEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ConfigurationHelper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ConfigurationHelper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ConfigurationHelper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ConfigurationHelper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Container.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Container.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Container.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Container.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Device.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Device.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Device.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Device.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceAccessMode.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceAccessMode.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceAccessMode.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceAccessMode.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceClass.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceClass.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceClass.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceClass.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceFactory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceFactory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceFactory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceFactory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/DeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/DeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EnumParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EnumParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EnumParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EnumParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EnumParameterT.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EnumParameterT.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EnumParameterT.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EnumParameterT.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventAdapter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventAdapter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventAdapter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventAdapter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventGrabber.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventGrabber.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventGrabber.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventGrabber.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventGrabberProxy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventGrabberProxy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/EventGrabberProxy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/EventGrabberProxy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/FeaturePersistence.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/FeaturePersistence.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/FeaturePersistence.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/FeaturePersistence.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/FloatParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/FloatParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/FloatParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/FloatParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/GrabResultData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/GrabResultData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/GrabResultData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/GrabResultData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/GrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/GrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/GrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/GrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Image.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Image.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Image.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Image.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageDecompressor.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageDecompressor.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageDecompressor.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageDecompressor.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageFormatConverter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageFormatConverter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImageFormatConverter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImageFormatConverter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImagePersistence.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImagePersistence.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ImagePersistence.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ImagePersistence.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Info.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Info.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Info.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Info.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantInterface.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantInterface.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InstantInterface.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InstantInterface.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/IntegerParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/IntegerParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/IntegerParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/IntegerParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Interface.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Interface.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Interface.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Interface.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InterfaceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InterfaceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/InterfaceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/InterfaceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/NodeMapProxy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/NodeMapProxy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/NodeMapProxy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/NodeMapProxy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Parameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Parameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Parameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Parameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ParameterIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ParameterIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ParameterIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ParameterIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PayloadType.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PayloadType.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PayloadType.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PayloadType.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Pixel.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Pixel.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Pixel.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Pixel.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelType.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelType.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelType.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelType.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelTypeMapper.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelTypeMapper.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PixelTypeMapper.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PixelTypeMapper.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Platform.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Platform.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Platform.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Platform.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonBase.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonBase.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonBase.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonBase.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonBitmapImage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonBitmapImage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonBitmapImage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonBitmapImage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDataComponent.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDataComponent.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDataComponent.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDataComponent.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDataContainer.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDataContainer.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDataContainer.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDataContainer.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDeviceProxy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDeviceProxy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonDeviceProxy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonDeviceProxy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonGUI.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonGUI.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonGUI.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonGUI.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonGUIIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonGUIIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonGUIIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonGUIIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImageBase.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImageBase.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImageBase.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImageBase.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImageUserBufferEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImageUserBufferEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonImageUserBufferEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonImageUserBufferEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonLinkage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonLinkage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonLinkage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonLinkage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonUtility.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonUtility.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonUtility.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonUtility.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonUtilityIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonUtilityIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonUtilityIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonUtilityIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersion.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersion.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersion.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersion.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersionInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersionInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersionInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersionInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersionNumber.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersionNumber.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/PylonVersionNumber.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/PylonVersionNumber.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Result.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Result.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/Result.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/Result.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ResultImage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ResultImage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ResultImage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ResultImage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ReusableImage.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ReusableImage.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ReusableImage.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ReusableImage.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/SfncVersion.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/SfncVersion.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/SfncVersion.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/SfncVersion.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/SoftwareTriggerConfiguration.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/SoftwareTriggerConfiguration.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/SoftwareTriggerConfiguration.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/SoftwareTriggerConfiguration.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StreamGrabber.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StreamGrabber.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StreamGrabber.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StreamGrabber.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StreamGrabberProxy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StreamGrabberProxy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StreamGrabberProxy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StreamGrabberProxy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StringParameter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StringParameter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/StringParameter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/StringParameter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ThreadPriority.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ThreadPriority.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/ThreadPriority.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/ThreadPriority.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TlFactory.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TlFactory.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TlFactory.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TlFactory.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TlInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TlInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TlInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TlInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TransportLayer.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TransportLayer.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TransportLayer.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TransportLayer.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TypeMappings.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TypeMappings.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/TypeMappings.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/TypeMappings.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/VideoWriter.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/VideoWriter.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/VideoWriter.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/VideoWriter.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/WaitObject.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/WaitObject.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/WaitObject.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/WaitObject.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/WaitObjects.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/WaitObjects.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/WaitObjects.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/WaitObjects.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/XmlFileProvider.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/XmlFileProvider.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/XmlFileProvider.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/XmlFileProvider.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalCameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalCameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalCameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalCameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalChunkDataParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalChunkDataParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalChunkDataParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalChunkDataParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalEventParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalEventParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalEventParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalEventParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalInterfaceParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalInterfaceParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalInterfaceParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalInterfaceParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalStreamParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalStreamParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalStreamParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalStreamParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalTLParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalTLParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalTLParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_BaslerUniversalTLParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_ImageFormatConverterParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_ImageFormatConverterParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_ImageFormatConverterParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_ImageFormatConverterParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_InstantCameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_InstantCameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_InstantCameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_InstantCameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_VideoWriterParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_VideoWriterParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/_VideoWriterParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/_VideoWriterParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCameraEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCameraEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCameraEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkCameraEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkConfigurationEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkConfigurationEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkConfigurationEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkConfigurationEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkDeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkDeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkDeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkDeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkGrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkImageEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkImageEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkImageEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkImageEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/BaslerCameraLinkInstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDefs.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDefs.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDefs.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDefs.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerDeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCLSerIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/PylonCameraLinkIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/_BaslerCameraLinkCameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/_BaslerCameraLinkCameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/cameralink/_BaslerCameraLinkCameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/cameralink/_BaslerCameraLinkCameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/ActionTriggerConfiguration.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/ActionTriggerConfiguration.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/ActionTriggerConfiguration.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/ActionTriggerConfiguration.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECameraEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECameraEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECameraEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigECameraEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEConfigurationEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEConfigurationEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEConfigurationEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEConfigurationEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEDeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEDeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEDeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEDeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEGrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEImageEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEImageEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEImageEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEImageEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/BaslerGigEInstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/GigETransportLayer.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/GigETransportLayer.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/GigETransportLayer.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/GigETransportLayer.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigE.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigE.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigE.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigE.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigECamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigECamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigECamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigECamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDevice.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDevice.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDevice.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDevice.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDeviceProxy.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDeviceProxy.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDeviceProxy.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEDeviceProxy.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/PylonGigEIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_BaslerGigECameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_BaslerGigECameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_BaslerGigECameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_BaslerGigECameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEChunkData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEChunkData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEChunkData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEChunkData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEEventParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEEventParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEEventParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEEventParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEStreamParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEStreamParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigEStreamParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigEStreamParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigETLParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigETLParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/gige/_GigETLParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/gige/_GigETLParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificCameraEventHandlerTie.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificCameraEventHandlerTie.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificCameraEventHandlerTie.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificCameraEventHandlerTie.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificConfigurationEventHandlerTie.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificConfigurationEventHandlerTie.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificConfigurationEventHandlerTie.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificConfigurationEventHandlerTie.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificGrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificGrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificGrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificGrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificImageEventHandlerTie.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificImageEventHandlerTie.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificImageEventHandlerTie.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificImageEventHandlerTie.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/private/DeviceSpecificInstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/stdinclude.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/stdinclude.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/stdinclude.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/stdinclude.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCameraEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCameraEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCameraEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbCameraEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbConfigurationEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbConfigurationEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbConfigurationEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbConfigurationEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbDeviceInfo.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbDeviceInfo.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbDeviceInfo.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbDeviceInfo.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultPtr.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultPtr.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultPtr.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbGrabResultPtr.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbImageEventHandler.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbImageEventHandler.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbImageEventHandler.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbImageEventHandler.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCameraArray.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCameraArray.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCameraArray.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/BaslerUsbInstantCameraArray.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbCamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbCamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbCamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbCamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbDefs.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbDefs.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbDefs.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbDefs.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbIncludes.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbIncludes.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbIncludes.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/PylonUsbIncludes.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_BaslerUsbCameraParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_BaslerUsbCameraParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_BaslerUsbCameraParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_BaslerUsbCameraParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbChunkData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbChunkData.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbChunkData.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbChunkData.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbEventParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbEventParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbEventParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbEventParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbStreamParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbStreamParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbStreamParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbStreamParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbTLParams.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbTLParams.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylon/usb/_UsbTLParams.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylon/usb/_UsbTLParams.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/GenDC.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/GenDC.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/GenDC.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/GenDC.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PFNC.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PFNC.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PFNC.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PFNC.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonAviCompressionOptions.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonAviCompressionOptions.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonAviCompressionOptions.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonAviCompressionOptions.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonC.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonC.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonC.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonC.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonC32BitMethods.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonC32BitMethods.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonC32BitMethods.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonC32BitMethods.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCDefines.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCDefines.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCDefines.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCDefines.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCEnums.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCEnums.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCEnums.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCEnums.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCError.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCError.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/include/pylonc/PylonCError.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/include/pylonc/PylonCError.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/GCBase_MD_VC141_v3_1_Basler_pylon.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/GCBase_MD_VC141_v3_1_Basler_pylon.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/GCBase_MD_VC141_v3_1_Basler_pylon.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/GCBase_MD_VC141_v3_1_Basler_pylon.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/GenApi_MD_VC141_v3_1_Basler_pylon.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/GenApi_MD_VC141_v3_1_Basler_pylon.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/GenApi_MD_VC141_v3_1_Basler_pylon.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/GenApi_MD_VC141_v3_1_Basler_pylon.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonBase_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonBase_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonBase_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonBase_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonC.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonC.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonC.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonC.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonC_BCC55.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonC_BCC55.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonC_BCC55.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonC_BCC55.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonGUI_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonGUI_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonGUI_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonGUI_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonUtility_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonUtility_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win32/PylonUtility_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win32/PylonUtility_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/GCBase_MD_VC141_v3_1_Basler_pylon.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/GCBase_MD_VC141_v3_1_Basler_pylon.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/GCBase_MD_VC141_v3_1_Basler_pylon.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/GCBase_MD_VC141_v3_1_Basler_pylon.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/GenApi_MD_VC141_v3_1_Basler_pylon.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/GenApi_MD_VC141_v3_1_Basler_pylon.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/GenApi_MD_VC141_v3_1_Basler_pylon.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/GenApi_MD_VC141_v3_1_Basler_pylon.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonBase_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonBase_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonBase_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonBase_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonC.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonC.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonC.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonC.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonGUI_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonGUI_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonGUI_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonGUI_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonUtility_v6_2.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonUtility_v6_2.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Pylon6.2/lib/Win64/PylonUtility_v6_2.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Pylon6.2/lib/Win64/PylonUtility_v6_2.lib diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/alarm.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/alarm.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/alarm.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/alarm.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam1_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam1_yes.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam2_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam2_yes.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam3_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam3_yes.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam4_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam4_yes.png diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5.png new file mode 100644 index 00000000..3c740ad8 Binary files /dev/null and b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5.png differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam5_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam5_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam5_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam5_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam5_yes.png diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6.png new file mode 100644 index 00000000..a21dbc72 Binary files /dev/null and b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6.png differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam6_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam6_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam6_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam6_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam6_yes.png diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7.png new file mode 100644 index 00000000..c19fe634 Binary files /dev/null and b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7.png differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam7_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam7_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam7_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam7_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam7_yes.png diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8.png new file mode 100644 index 00000000..b2e6489e Binary files /dev/null and b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8.png differ diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam8_no.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8_no.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam8_no.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8_no.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam8_yes.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8_yes.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/cam8_yes.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/cam8_yes.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/exit.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/exit.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/exit.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/exit.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/keyboard.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/keyboard.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/keyboard.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/keyboard.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/lock.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/lock.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/lock.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/lock.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/logo.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/logo.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/logo.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/logo.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/pause.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/pause.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/pause.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/pause.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/plc.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/plc.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/plc.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/plc.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/rotate.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/rotate.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/rotate.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/rotate.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/setup.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/setup.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/setup.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/setup.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/start.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/start.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/start.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/start.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/unlock.png b/云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/unlock.png similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/Resources/unlock.png rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/Resources/unlock.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.cpp similarity index 55% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.cpp index 048650d1..707b7029 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.cpp @@ -1,4 +1,3 @@ -//同步阻塞队列 #include "SyncQueue.h" diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.h similarity index 92% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.h index 6d1edaf3..bb9a09f1 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/SyncQueue.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/SyncQueue.h @@ -30,7 +30,7 @@ private: using namespace std; template -SyncQueue::SyncQueue(int max_size) :max_size(max_size)//ע಻SyncQueueΪͬTDzͬ +SyncQueue::SyncQueue(int max_size) :max_size(max_size) { } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.ui similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alarmdialog.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alarmdialog.ui diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.bak.jpg b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.bak.jpg similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.bak.jpg rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.bak.jpg diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.cpp similarity index 79% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.cpp index 2852548f..6f1176d4 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.cpp @@ -1,5 +1,8 @@ #include "alg_jd.h" -#include "common.h" +#include //Ŀļ + +extern SysConf g_sys_conf; + // Remove the bounding boxes with low confidence using non-maxima suppression static void post_process(cv::Mat& frame, std::vector& outs, std::vector > &results); @@ -12,17 +15,33 @@ static std::vector getOutputsNames(const cv::dnn::Net& net); static void drawPred(int classId, float conf, int left, int top, int right, int bottom, cv::Mat& frame); // Initialize the parameters -static float confThreshold = 0.1; // Confidence threshold +static float confThreshold = g_sys_conf.ConfThreshold*0.01; // Confidence threshold static float nmsThreshold = 0.4; // Non-maximum suppression threshold static int inpWidth = 416; // Width of network's input image static int inpHeight = 416; // Height of network's input image static std::vector classes; -bool AlgJd::init() +bool AlgJd::init(QString model_path, QString model_name) { - // Load names of classes - std::string classesFile = "../model/jd.names"; + // Load names of classes + std::string classesFile; + cv::String modelConfiguration; + cv::String modelWeights; + + if (model_path.length() > 0 && model_name.length() > 0) { + // ƴյģļ· + modelWeights = model_path.toStdString() + "/" + model_name.toStdString(); + modelConfiguration = model_path.toStdString() + "/jd.cfg"; + classesFile = model_path.toStdString() + "/jd.names"; + } + else { + modelWeights = "D:/model/jd.weights"; + classesFile = "D:/model/jd.names"; + // Give the configuration and weight files for the model + modelConfiguration = "D:/model/jd.cfg"; + } + std::ifstream classNamesFile(classesFile.c_str()); if (classNamesFile.is_open()) { @@ -34,17 +53,21 @@ bool AlgJd::init() return false; } - // Give the configuration and weight files for the model - cv::String modelConfiguration = "../model/jd.cfg"; - cv::String modelWeights = "../model/jd.weights"; - // Load the network net = cv::dnn::readNetFromDarknet(modelConfiguration, modelWeights); net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA); net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA); + + //cv::Mat image = cv::imread("alg_jd.bmp"); + cv::Mat image; + if (g_sys_conf.jpg_path.length() > 0) { + image = cv::imread(g_sys_conf.jpg_path.toStdString()); + } + else { + image = cv::imread("D:/Release/alg_jd.bmp"); + } - cv::Mat image = cv::imread("alg_jd.jpg"); //ʶһͼģǷȷGPUݼ if (!image.data) return false; //жϲͼƬǷȡ std::vector > results; @@ -63,24 +86,36 @@ bool AlgJd::test_detect() double t = (double)cv::getTickCount(); detect(m1, m1, results); t = ((double)cv::getTickCount() - t) / cv::getTickFrequency(); + DEBUG(" test_detect time process:%f\n", t); return true; } -bool AlgJd::test_detect_batcht() +bool AlgJd::test_detect_batcht(int shoot) { + std::vector vec_in; + std::vector vec_out; + std::vector > > vec_results; cv::Mat m1, m2, m3; m1 = cv::Mat(544, 728, CV_8UC3, cv::Scalar(0, 0, 0)); m2 = cv::Mat(544, 728, CV_8UC3, cv::Scalar(0, 0, 0)); m3 = cv::Mat(544, 728, CV_8UC3, cv::Scalar(0, 0, 0)); - std::vector vec_in; - vec_in.push_back(m1); - vec_in.push_back(m2); - vec_in.push_back(m3); - std::vector vec_out; - std::vector > > vec_results; + double t = (double)cv::getTickCount(); - detect_batch(vec_in, vec_out, vec_results); + switch(shoot){ + case 1:{ + std::vector > results; + detect(m1, m1, results); + break; + } + case 3:vec_in.push_back(m3); + case 2:vec_in.push_back(m2); + default:{ + vec_in.push_back(m1); + detect_batch(vec_in, vec_out, vec_results); + } + } t = ((double)cv::getTickCount() - t) / cv::getTickFrequency(); + DEBUG(" test_detect_batcht time process:%f\n", t); return true; } @@ -114,6 +149,20 @@ int AlgJd::detect(cv::Mat& _frame, cv::Mat &out, std::vector >& vec_results) +{ + for (int i = 0; i < vec_results.size(); i++) + { + std::pair element; + cv::Rect TempRect = vec_results[i].second; + cv::Point position = cv::Point(TempRect.x + (TempRect.width / 2), TempRect.y + (TempRect.height / 2)); + cv::Mat topography = vec_in(TempRect); + cv::imshow("analyse", topography); + cv::waitKey(1); + } + +} + // Get the names of the output layers static std::vector getOutputsNames(const cv::dnn::Net& net) { @@ -200,7 +249,7 @@ static void drawPred(int classId, float conf, int left, int top, int right, int cv::rectangle(frame, cv::Point(left, top), cv::Point(right, bottom), color, 4); //Get the label for the class name and its confidence - std::string label = cv::format("%.2f%%", (conf*100)); + std::string label = cv::format("%.2f%%", (conf*100));/// if (!classes.empty()) { CV_Assert(classId < (int)classes.size()); @@ -254,6 +303,7 @@ void AlgJd::detect_batch(std::vector& vec_in, std::vector &vec static void post_process_batch(std::vector& vec_frame, std::vector& outs, std::vector > > &vec_results) { int batch = vec_frame.size(); + double confidence;/// for (int k = 0; k < batch; k++) { std::vector classIds; @@ -278,7 +328,7 @@ static void post_process_batch(std::vector& vec_frame, std::vector& vec_frame, std::vector g_sys_conf.ConfThreshold * 0.01)///ʶȵֵNG + { + if (box.width > 15) + {//ʶȴ15ʾʶСΪ޽㣬NG + drawPred(classIds[idx], confidences[idx], box.x, box.y, + box.x + box.width, box.y + box.height, vec_frame[k]); + results.push_back(std::make_pair(classIds[idx], box)); + } + } + } vec_results.push_back(results); } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.h similarity index 75% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.h index 3ef3ede0..4f19712b 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.h @@ -8,15 +8,16 @@ #include #include #include - +#include "common.h" class AlgJd { public: - bool init(); + bool init(QString model_path, QString model_name); bool test_detect(); - bool test_detect_batcht(); + bool test_detect_batcht(int shoot); int detect(cv::Mat& in, cv::Mat &out, std::vector > &results); void detect_batch(std::vector& vec_in, std::vector &vec_out, std::vector > > &vec_results); + void analyse(cv::Mat vec_in, std::vector > & vec_results); private: cv::dnn::Net net; }; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.jpg b/云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.jpg similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/alg_jd.jpg rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/alg_jd.jpg diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/balluffcamera.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/balluffcamera.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/balluffcamera.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/balluffcamera.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/balluffcamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/balluffcamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/balluffcamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/balluffcamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/basecamera.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/basecamera.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/basecamera.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/basecamera.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/basecamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/basecamera.h similarity index 79% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/basecamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/basecamera.h index 1bc78198..df909947 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/basecamera.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/basecamera.h @@ -2,7 +2,10 @@ #include -#define NumberOfSupportedCameras 4 +#define NumberOfSupportedCameras 8 + +#define EdgeEvent 1 +#define ImageCap 2 typedef struct _SingleCamInfoStruct { int unfiltered_num; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/baslercamera.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/baslercamera.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/baslercamera.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/baslercamera.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/baslercamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/baslercamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/baslercamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/baslercamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.cpp similarity index 59% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.cpp index 1e27d430..6fd0349a 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.cpp @@ -1,29 +1,38 @@ #include "camera_glue.h" +#define camera_glue_init(a,b)\ + spinBox[a][0] = ui.spinBox_##b##1;\ + spinBox[a][1] = ui.spinBox_##b##2;\ + spinBox[a][2] = ui.spinBox_##b##3; + camera_glue::camera_glue(QDialog *parent) : QDialog(parent) { ui.setupUi(this); this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - spinBox[0][0] = ui.spinBox_11; - spinBox[0][1] = ui.spinBox_12; - spinBox[0][2] = ui.spinBox_13; + camera_glue_init(0,1) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - spinBox[1][0] = ui.spinBox_21; - spinBox[1][1] = ui.spinBox_22; - spinBox[1][2] = ui.spinBox_23; + camera_glue_init(1,2) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - spinBox[2][0] = ui.spinBox_31; - spinBox[2][1] = ui.spinBox_32; - spinBox[2][2] = ui.spinBox_33; + camera_glue_init(2,3) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - spinBox[3][0] = ui.spinBox_41; - spinBox[3][1] = ui.spinBox_42; - spinBox[3][2] = ui.spinBox_43; + camera_glue_init(3,4) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + camera_glue_init(4,5) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + camera_glue_init(5,6) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + camera_glue_init(6,7) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + camera_glue_init(7,8) #endif } diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.ui similarity index 57% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.ui index 6f97f960..5f594a95 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/camera_glue.ui +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/camera_glue.ui @@ -6,8 +6,8 @@ 0 0 - 402 - 221 + 346 + 290 @@ -16,10 +16,10 @@ - 110 - 500 - 71 - 31 + 220 + 50 + 70 + 30 @@ -40,10 +40,10 @@ - 110 - 545 - 71 - 31 + 290 + 1850 + 70 + 30 @@ -64,10 +64,10 @@ - 110 - 745 - 71 - 31 + 390 + 1850 + 70 + 30 @@ -88,10 +88,10 @@ - 210 - 545 - 71 - 31 + 290 + 1900 + 70 + 30 @@ -112,10 +112,10 @@ - 210 - 500 - 71 - 31 + 220 + 100 + 70 + 30 @@ -136,10 +136,10 @@ - 210 - 745 - 71 - 31 + 390 + 1900 + 70 + 30 @@ -160,10 +160,10 @@ - 310 - 545 - 71 - 31 + 290 + 1950 + 70 + 30 @@ -184,10 +184,10 @@ - 310 - 500 - 71 - 31 + 220 + 155 + 70 + 30 @@ -208,10 +208,10 @@ - 310 - 745 - 71 - 31 + 390 + 1950 + 70 + 30 @@ -232,10 +232,10 @@ - 210 - 50 - 71 - 31 + 120 + 100 + 70 + 30 @@ -256,10 +256,10 @@ - 110 + 120 50 - 71 - 31 + 70 + 30 @@ -280,10 +280,10 @@ - 310 - 50 - 71 - 31 + 120 + 155 + 70 + 30 @@ -301,11 +301,11 @@ 10 - + - 120 - 20 + 40 + 53 61 21 @@ -322,11 +322,11 @@ 第一张 - + - 210 - 20 + 40 + 105 61 21 @@ -343,11 +343,11 @@ 第二张 - + - 310 - 20 + 40 + 160 61 21 @@ -364,13 +364,13 @@ 第三张 - + - 20 - 55 - 71 - 21 + 120 + 20 + 70 + 20 @@ -385,13 +385,13 @@ 1号相机 - + - 20 - 505 - 71 - 21 + 220 + 20 + 70 + 20 @@ -406,13 +406,13 @@ 2号相机 - + - 20 - 550 - 71 - 21 + 290 + 1820 + 70 + 20 @@ -427,13 +427,13 @@ 3号相机 - + - 20 - 750 - 71 - 21 + 390 + 1820 + 70 + 20 @@ -448,15 +448,21 @@ 4号相机 - + - 110 - 120 - 241 - 21 + 60 + 200 + 285 + 25 + + + 微软雅黑 + 10 + + 若要保存参数请返回上一级点击保存 @@ -464,8 +470,8 @@ - 140 - 160 + 100 + 230 141 31 @@ -482,13 +488,13 @@ 应用 - + - 110 - 750 - 71 - 31 + 490 + 1950 + 70 + 30 @@ -506,13 +512,13 @@ 10 - + - 20 - 755 - 71 - 21 + 490 + 1820 + 70 + 20 @@ -530,10 +536,10 @@ - 210 - 750 - 71 - 31 + 490 + 1900 + 70 + 30 @@ -551,13 +557,292 @@ 10 - + - 310 - 750 - 71 - 31 + 490 + 1850 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 590 + 1950 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 590 + 1820 + 70 + 20 + + + + + 微软雅黑 + 12 + 75 + true + + + + 6号相机 + + + + + + 590 + 1900 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 590 + 1850 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 690 + 1950 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 690 + 1820 + 70 + 20 + + + + + 微软雅黑 + 12 + 75 + true + + + + 7号相机 + + + + + + 690 + 1900 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 690 + 1850 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 790 + 1950 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 790 + 1820 + 70 + 20 + + + + + 微软雅黑 + 12 + 75 + true + + + + 8号相机 + + + + + + 790 + 1900 + 70 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + true + + + 10 + + + + + + 790 + 1850 + 70 + 30 diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.cpp new file mode 100644 index 00000000..6950b510 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.cpp @@ -0,0 +1,90 @@ +#include "change_shift.h" +#include +#include + +extern SysConf g_sys_conf; +change_shift::change_shift(QDialog *parent) + : QDialog(parent) +{ + ui.setupUi(this); + this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); + + if (g_sys_conf.auto_shift == 1) { + ui.radioButton_auto->setChecked(true); + } + else { + ui.radioButton_auto->setChecked(false); + } + if (g_sys_conf.shift_byhand == 1) { + ui.radioButton_byhand->setChecked(true); + } + else { + ui.radioButton_byhand->setChecked(false); + } + if (g_sys_conf.timing_shift == 1) { + ui.radioButton_time->setChecked(true); + } + else { + ui.radioButton_time->setChecked(false); + } +} + +change_shift::~change_shift() +{ +} + +void change_shift::on_pushButton_apply_released() +{ + QTime timeA; + QTime timeB; + QTime timeC; + if (ui.radioButton_auto->isChecked()) { /// + g_sys_conf.auto_shift = 1; + g_sys_conf.timing_shift = 0; + g_sys_conf.shift_byhand = 0; + + timeA.setHMS(ui.A_hour->minimum(), ui.A_minute->minimum(), 0); + timeB.setHMS(ui.B_hour->minimum(), ui.B_minute->minimum(), 0); + timeC.setHMS(ui.C_hour->minimum(), ui.C_minute->minimum(), 0); + //emit sendMsgToDialogSetup(timeA, timeB, timeC); + //this->close(); + } + else if (ui.radioButton_time->isChecked()) { + g_sys_conf.auto_shift = 0; + g_sys_conf.timing_shift = 1; + g_sys_conf.shift_byhand = 0; + + timeA.setHMS(ui.A_hour->text().toInt(), ui.A_minute->text().toInt(), 0); + timeB.setHMS(ui.B_hour->text().toInt(), ui.B_minute->text().toInt(), 0); + timeC.setHMS(ui.C_hour->text().toInt(), ui.C_minute->text().toInt(), 0); + //emit sendMsgToDialogSetup(timeA, timeB, timeC); + //this->close(); + } + else if (ui.radioButton_byhand->isChecked()) { + g_sys_conf.auto_shift = 0; + g_sys_conf.timing_shift = 0; + g_sys_conf.shift_byhand = 1; + + timeA.setHMS(ui.A_hour->minimum(), ui.A_minute->minimum(), 0); + timeB.setHMS(ui.B_hour->minimum(), ui.B_minute->minimum(), 0); + timeC.setHMS(ui.C_hour->minimum(), ui.C_minute->minimum(), 0); + + } + emit sendMsgToDialogSetup(timeA, timeB, timeC); + this->close(); + DialogSetup::write_config(); +} + +void change_shift::recMsgFromDialogSetup(QTime timeA, QTime timeB, QTime timeC) +{ + ui.A_hour->setValue(timeA.hour()); + ui.A_minute->setValue(timeA.minute()); + + ui.B_hour->setValue(timeB.hour()); + ui.B_minute->setValue(timeB.minute()); + + ui.C_hour->setValue(timeC.hour()); + ui.C_minute->setValue(timeC.minute()); + + this->show(); +} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.h similarity index 91% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.h index a9150dd9..00c64515 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/change_shift.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.h @@ -16,7 +16,7 @@ private: Ui::change_shift ui; private slots: - void on_pushButton_released(); + void on_pushButton_apply_released(); public slots: void recMsgFromDialogSetup(QTime timeA, QTime timeB, QTime timeC); diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.ui new file mode 100644 index 00000000..44f3bfb2 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/change_shift.ui @@ -0,0 +1,402 @@ + + + change_shift + + + + 0 + 0 + 456 + 360 + + + + 换班设置 + + + + + 170 + 250 + 110 + 30 + + + + + 微软雅黑 + 10 + 75 + true + + + + 应用 + + + + + + 70 + 300 + 331 + 30 + + + + + 微软雅黑 + 12 + + + + 若要保存参数请返回上一级点击保存 + + + + + + 30 + 810 + 140 + 30 + + + + + 微软雅黑 + 16 + + + + 自动换班 + + + + + + 250 + 200 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 59 + + + + + + 220 + 120 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 310 + 200 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 160 + 120 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 23 + + + + + + 110 + 160 + 50 + 30 + + + + + 微软雅黑 + 12 + + + + B班 + + + + + + 110 + 200 + 50 + 30 + + + + + 微软雅黑 + 12 + + + + C班 + + + + + + 110 + 120 + 50 + 30 + + + + + 微软雅黑 + 12 + + + + A班 + + + + + + 250 + 120 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 59 + + + + + + 310 + 120 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 160 + 200 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 23 + + + + + + 280 + 60 + 140 + 30 + + + + + 微软雅黑 + 16 + + + + 定时换班 + + + + + + 250 + 160 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 59 + + + + + + 310 + 160 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 220 + 200 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 160 + 160 + 60 + 30 + + + + + 微软雅黑 + 12 + + + + 23 + + + + + + 220 + 160 + 20 + 30 + + + + + 微软雅黑 + 12 + + + + + + + + + + 40 + 60 + 140 + 30 + + + + + 微软雅黑 + 16 + + + + 手动换班 + + + + + + + diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.cpp similarity index 62% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.cpp index 5f8ee79c..6f5ca33f 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.cpp @@ -6,39 +6,29 @@ #include #include #include +#include "exportData.h" - -#define CONFIGURE_FILE "../conf/conf.txt" -#define ROTATE_FILE "../conf/rotate.txt" -#define MODBUS_CONFIGURE_FILE "../conf/modbus.txt" -#define PLC_CONFIG_FILE "../conf/plc.txt" - -#define LICENSE_ID "FFB00390" - -#define OUTPUT_HIGH_WIDTH 20000 //źŵȣ΢ - -#define OP_TIME 300 //OPȨʱĬ300룩 - -#define ADMIN_TIME 600 //ADMINȨʱĬ300룩 - -#define STOP_SECONDS 3 //ٴβ䴥Զ - -int g_op_time; //OPȨʱĬ300룩 - -int g_admin_time; //ADMINOPȨʱĬ300룩 +int g_op_time; //ԱȨʱĬ300룩 +int g_admin_time; //ԱȨʱĬ300룩 int rotationAngle[NumberOfSupportedCameras]; //ͼƬתǶ -bool isNeddRotate[NumberOfSupportedCameras]; +bool isNeedRotate[NumberOfSupportedCameras]; + +DisplayLabelConf g_display_label_conf[NumberOfSupportedCameras]; SysConf g_sys_conf; //ϵͳò -ModbusConf g_modbus_conf; //modbusַ +ModbusConf g_modbus_conf; //modbusַ PLCDevice * m_PLCDevice; +bool g_plc_dialog_open; //ǷplcöԻ + QDateTime g_ts_start; extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras]; AlgJd alg_jd[NumberOfSupportedCameras]; //⽺AI㷨 - +#ifdef __DEBUG +AlgJd alg_test;//test AI㷨 +#endif QThread* pThread[NumberOfSupportedCameras]; //³ @@ -58,10 +48,14 @@ SyncQueue > *g_save_queue; //ͼƬ SyncQueue > *g_image_queue[NumberOfSupportedCameras]; //intʾһĿ˼ ASyncQueue *g_shooted_queue[NumberOfSupportedCameras]; // ASyncQueue *g_result_wait_queue[NumberOfSupportedCameras]; // +ASyncQueue *g_double_queue[NumberOfSupportedCameras]; // ASyncQueue *g_result_queue[NumberOfSupportedCameras]; // -bool g_debug_mode; //ģʽģʽͣ״̬ܴ +bool g_debug_mode; //ģʽģʽͣ״̬ܴ SyncQueue *g_debug_queue[NumberOfSupportedCameras]; //ģʽͼ + SyncQueue<_UDPSendInfo> *UDP_Info_queue; +SyncQueue<_ExportDataInfo> *export_Data_Info_queue; +ExportDataThread exportDataThread; bool g_admin_mode; //ǷԱģʽ @@ -71,23 +65,21 @@ bool g_op_mode; // QString g_op_pswd; //Ա -bool g_plc_dialog_open; //ǷplcöԻ - -bool g_working; //true ʼ״̬ false ͣ״̬ +bool g_working; //true ʼ״̬ false ֹͣ״̬ int last_shift; //¼һΰ QStringList g_alarm_msg; - std::vector g_vec_alarm; - int g_last_alarm_code; int g_lst_quantiy; //һIJ int quantity_stop_count; // int g_seconds; +int CurOpLabel; +bool onrestart = false; -VOID BeforeWork() +VOID BeforeWork(int shoot[]) { #ifdef AI_WARM_UP for (int j = 0;j<10;j++) @@ -95,7 +87,7 @@ VOID BeforeWork() for (int i = 0; i < NumberOfSupportedCameras; i++) { if (SingleCamInfo[i].Detect && SingleCamInfo[i].IsOpen) { - alg_jd[i].test_detect_batcht(); + alg_jd[i].test_detect_batcht(shoot[i]); } } } @@ -126,6 +118,8 @@ Cigarette::Cigarette(QWidget *parent) g_save_queue->name = "save queue"; UDP_Info_queue = new SyncQueue<_UDPSendInfo>(Queue_Size); UDP_Info_queue->name = "UDP Info queue"; + export_Data_Info_queue = new SyncQueue<_ExportDataInfo>(Queue_Size); + export_Data_Info_queue->name = "Export Data Info queue"; last_shift = 256; for(int i=0;iname = format("result_%d", i); g_result_wait_queue[i] = new ASyncQueue(Queue_Size); g_result_wait_queue[i]->name = format("result_wait%d", i); + g_double_queue[i] = new ASyncQueue(Queue_Size); + g_double_queue[i]->name = format("double_wait%d", i); g_shooted_queue[i] = new ASyncQueue(Queue_Size); g_shooted_queue[i]->name = format("shooted_%d", i); g_debug_queue[i] = new SyncQueue(Queue_Size); g_debug_queue[i]->name = format("debug_%d", i); if (update_rotate) { rotationAngle[i] = cv::ROTATE_90_COUNTERCLOCKWISE + 1; - isNeddRotate[i] = false; + isNeedRotate[i] = false; } } if (update_rotate) { @@ -163,30 +159,38 @@ Cigarette::Cigarette(QWidget *parent) g_working = false; - g_alarm_msg << QStringLiteral("ޱ") - << QStringLiteral("1#") - << QStringLiteral("2#") - << QStringLiteral("1#޳") - << QStringLiteral("2#޳") - << QStringLiteral("1#ͨѶ") - << QStringLiteral("2#ͨѶ"); + g_alarm_msg << QStringLiteral("ޱ") /// 0 + << QStringLiteral("1#") /// 1 + << QStringLiteral("2#") /// 2 + << QStringLiteral("1#޳") /// 3 + << QStringLiteral("2#޳") /// 4 + << QStringLiteral("1#ͨѶ") /// 5 + << QStringLiteral("2#ͨѶ") /// 6 + << QStringLiteral("3#ͨѶ") /// 7 + << QStringLiteral("4#ͨѶ") /// 8 + << QStringLiteral("5#ͨѶ") /// 9 + << QStringLiteral("6#ͨѶ") /// 10 + << QStringLiteral("7#ͨѶ") /// 11 + << QStringLiteral("8#ͨѶ"); /// 12 g_last_alarm_code = 0; - g_ts_start = QDateTime::currentDateTime(); for(int i=0;idisplay(production_number[i]); ok[i] = 0; ng[i] = 0; - g_last_mat[i][0] = cv::Mat::zeros(20, 20, CV_8UC3); - g_last_mat[i][1] = cv::Mat::zeros(20, 20, CV_8UC3); + g_display_label_conf[i].g_last_mat[0] = cv::Mat::zeros(20, 20, CV_8UC3); + g_display_label_conf[i].g_last_mat[1] = cv::Mat::zeros(20, 20, CV_8UC3); +#ifdef DRAW_RECT + DrawRect_init(i); +#endif } ui.lcdNumber_total_no->display(0); ui.lcdNumber_total_no_last->display(0); @@ -199,10 +203,30 @@ Cigarette::Cigarette(QWidget *parent) read_sys_config(g_sys_conf); //ʼϵͳ - g_modbus_conf.kick1 = 0; - g_modbus_conf.kick2 = 0; - g_modbus_conf.kick3 = 0; - g_modbus_conf.kick4 = 0; +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + g_modbus_conf.kick1 = 0; //1#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + g_modbus_conf.kick2 = 0; //2#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + g_modbus_conf.kick3 = 0; //3#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + g_modbus_conf.kick4 = 0; //4#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + g_modbus_conf.kick5 = 0; //5#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + g_modbus_conf.kick6 = 0; //6#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + g_modbus_conf.kick7 = 0; //7#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + g_modbus_conf.kick8 = 0; //8#ͨ޳ַ +#endif g_modbus_conf.quantity = 0; g_modbus_conf.shift = 0; g_modbus_conf.work = 0; @@ -224,11 +248,17 @@ Cigarette::Cigarette(QWidget *parent) connect(rThread, &threadReceive::sendMsgToCigratte, this, &Cigarette::recMsgFromUdp); rThread->start_work(); - sThread.sendData(QString::number(DEBUG_DIS), g_sys_conf.FeedbackPort); - sThread.sendData(QString::number(LOCK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("ReStartOk", g_sys_conf.FeedbackPort); + sThread.sendData("DebugDis", g_sys_conf.FeedbackPort); + sThread.sendData("LockOk", g_sys_conf.FeedbackPort); #endif +#ifdef __ExportData + exportDataThread.init(); + exportDataThread.start_work(); +#endif + m_PLCDevice = new PLCDevice; PLCDevice::init_plc(m_PLCDevice); @@ -237,12 +267,13 @@ Cigarette::Cigarette(QWidget *parent) printf("Connected to dev!\n"); ui.label_plc->setText(QStringLiteral("PLC")); ui.label_plc->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + m_PLCDevice->g_plc_status|=(0x01); uint8_t Data8; m_PLCDevice->read_bits_from_plc( g_modbus_conf.no_kick, 1 ,&Data8); ui.checkBox_unkick->setChecked(Data8); #ifdef __UDPSend - if(Data8)sThread.sendData(QString::number(UNKICK_OK), g_sys_conf.FeedbackPort); - else sThread.sendData(QString::number(UNKICK_FAIL), g_sys_conf.FeedbackPort); + if(Data8)sThread.sendData("UnKickOk", g_sys_conf.FeedbackPort); + else sThread.sendData("UnKickFail", g_sys_conf.FeedbackPort); #endif //ʼPLCļĴֵ read_plc_items(); @@ -253,6 +284,7 @@ Cigarette::Cigarette(QWidget *parent) printf("\nSorry,fail to connect ttyS0,please check your device's state.\n"); ui.label_plc->setText(QStringLiteral("PLCϿ")); ui.label_plc->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); + m_PLCDevice->g_plc_status&=~(0x01); } std::cout << " Enumerate Cameras..."<< std::endl; @@ -264,18 +296,81 @@ Cigarette::Cigarette(QWidget *parent) exit(0); }*/ + // ޳ֵ0 + int ret = m_PLCDevice->write_bit_2_plc(g_modbus_conf.shift, 1);//PLCͻϢ + //߳ for (int i = 0; i < NumberOfSupportedCameras; i++) { if(SingleCamInfo[i].Detect){ cam_status_mat[i]->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); - CreatWorkThread(SingleCamInfo[i].CamClass,i,this); - if (!alg_jd[i].init()) + QString model_path, model_name; + if (g_sys_conf.model_path.isEmpty()) { + model_path = "D:/model"; + g_sys_conf.model_path = "D:/model"; + } + else + model_path = g_sys_conf.model_path; + + if (g_sys_conf.model_name.isEmpty()) { + model_name = "jd.weights"; + g_sys_conf.model_name = "jd.weights"; + } + else + model_name = g_sys_conf.model_name; + + if (!alg_jd[i].init(model_path, model_name)) { QMessageBox::information(NULL, QStringLiteral("ϵͳԼʧ"), QStringLiteral("AIģ1ʼʧܣ"), QMessageBox::Ok); exit(-1); } + CreatWorkThread(SingleCamInfo[i].CamClass, i, this); } + else { + QDateTime ts_start = QDateTime::currentDateTime(); + QTime time = QTime::currentTime(); + QDateTime local(ts_start); + QString localTime = local.toString("yyyy-MM-dd hh:mm:ss"); + + if (g_modbus_conf.alarm > 0) + { + if (i < 2)//Ʊ + { + uint16_t dest16[2] = { 5 + i,0 }; + int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); + + //if (ret > 0) SingleCamInfo[0].OffLine = false; + + if (ret > 0) + { + AlarmInfo alarm_info; + alarm_info.alarm_code = dest16[0]; + if ((alarm_info.alarm_code > 0) && (alarm_info.alarm_code <= 12)) + { + alarm_info.alarm_msg = (g_alarm_msg[alarm_info.alarm_code]).toStdString(); + alarm_info.alarm_start = localTime.toStdString(); + ui.label_alarm->setText(g_alarm_msg[alarm_info.alarm_code]); + ui.label_alarm->setStyleSheet(tr("background-color: rgb(255, 0, 0);")); + if (g_last_alarm_code != alarm_info.alarm_code) + { + g_vec_alarm.push_back(alarm_info); + g_last_alarm_code = alarm_info.alarm_code; + } + } + else if (alarm_info.alarm_code == 0) { + ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + ui.label_alarm->setText(QStringLiteral("ޱ")); + } + #ifdef __UDPSend + QString str; + str = QString("alarm") + '_' + QString::number(alarm_info.alarm_code); + sThread.sendData(str, g_sys_conf.FeedbackPort); + #endif + } + } + } + } + } //Զ @@ -316,8 +411,10 @@ Cigarette::Cigarette(QWidget *parent) connect(ui.label_alarm, SIGNAL(QlabelDoubleClick()), this, SLOT(OnCancelAlarm()));//ǩ˫ - image_lable_signalMapper0 = new QSignalMapper(this); - image_lable_signalMapper1 = new QSignalMapper(this); + image_lable_DBsignalMapper0 = new QSignalMapper(this); + image_lable_DBsignalMapper1 = new QSignalMapper(this); + image_lable_TPsignalMapper0 = new QSignalMapper(this); + image_lable_TPsignalMapper1 = new QSignalMapper(this); label_ng_signalMapper = new QSignalMapper(this); pTimer_Cam_signalMapper = new QSignalMapper(this); toolButton_cam_signalMapper = new QSignalMapper(this); @@ -328,11 +425,17 @@ Cigarette::Cigarette(QWidget *parent) connect(m_pTimer_Cam_mat[i], SIGNAL(timeout()), pTimer_Cam_signalMapper, SLOT(map())); pTimer_Cam_signalMapper->setMapping(m_pTimer_Cam_mat[i], i); - connect(display_lable_mat[i][0], SIGNAL(QlabelDoubleClick()), image_lable_signalMapper0, SLOT(map())); - image_lable_signalMapper0->setMapping(display_lable_mat[i][0], i << 4 | 0); + connect(display_lable_mat[i][0], SIGNAL(QlabelDoubleClick()), image_lable_DBsignalMapper0, SLOT(map())); + image_lable_DBsignalMapper0->setMapping(display_lable_mat[i][0], i << 4 | 0); + + connect(display_lable_mat[i][1], SIGNAL(QlabelDoubleClick()), image_lable_DBsignalMapper1, SLOT(map())); + image_lable_DBsignalMapper1->setMapping(display_lable_mat[i][1], i << 4 | 1); + + connect(display_lable_mat[i][0], SIGNAL(QlabelTripleClick()), image_lable_TPsignalMapper0, SLOT(map())); + image_lable_TPsignalMapper0->setMapping(display_lable_mat[i][0], i << 4 | 0); - connect(display_lable_mat[i][1], SIGNAL(QlabelDoubleClick()), image_lable_signalMapper1, SLOT(map())); - image_lable_signalMapper1->setMapping(display_lable_mat[i][1], i << 4 | 1); + connect(display_lable_mat[i][1], SIGNAL(QlabelTripleClick()), image_lable_TPsignalMapper1, SLOT(map())); + image_lable_TPsignalMapper1->setMapping(display_lable_mat[i][1], i << 4 | 1); connect(label_ng_mat[i], SIGNAL(QlabelDoubleClick()), label_ng_signalMapper, SLOT(map())); label_ng_signalMapper->setMapping(label_ng_mat[i], i); @@ -346,8 +449,12 @@ Cigarette::Cigarette(QWidget *parent) } connect(toolButton_cam_signalMapper, SIGNAL(mapped(int)), this, SLOT(OnToolButtonCamReleasedHub(int))); connect(pTimer_Cam_signalMapper, SIGNAL(mapped(int)), this, SLOT(OpenCamTimeoutHub(int))); - connect(image_lable_signalMapper0, SIGNAL(mapped(int)), this, SLOT(OnDBClickHub(int))); - connect(image_lable_signalMapper1, SIGNAL(mapped(int)), this, SLOT(OnDBClickHub(int))); + connect(image_lable_DBsignalMapper0, SIGNAL(mapped(int)), this, SLOT(OnDBClickHub(int))); + connect(image_lable_DBsignalMapper1, SIGNAL(mapped(int)), this, SLOT(OnDBClickHub(int))); +#ifdef DRAW_RECT + connect(image_lable_TPsignalMapper0, SIGNAL(mapped(int)), this, SLOT(OnTPClickHub(int))); + connect(image_lable_TPsignalMapper1, SIGNAL(mapped(int)), this, SLOT(OnTPClickHub(int))); +#endif connect(label_ng_signalMapper, SIGNAL(mapped(int)), this, SLOT(OnDBClickNGHub(int))); connect(RotateReleased_signalMapper, SIGNAL(mapped(int)), this, SLOT(OnRotateReleasedHub(int))); @@ -380,13 +487,13 @@ Cigarette::Cigarette(QWidget *parent) } if (m_PLCDevice->g_plc_ok) { - BeforeWork(); + BeforeWork(g_sys_conf.shoot); int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 1); ui.label_title->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); ui.label_title_2->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); ui.label_title_2->setText(QStringLiteral("")); #ifdef __UDPSend - //sThread.sendData(QString::number(WORK), g_sys_conf.FeedbackPort); + sThread.sendData("Work", g_sys_conf.FeedbackPort); #endif g_working = true; ui.checkBox_debug->setChecked(false); //Բ @@ -403,13 +510,69 @@ Cigarette::Cigarette(QWidget *parent) Cigarette::~Cigarette() { emit sengMsgToClog("Application exited."); + Exit(); + exit(-1); } -void Cigarette::output_result(int Num, bool ok_ng) +void Cigarette::start_work() { - g_result_queue[Num]->put(ok_ng); -} + //ɼʱл + for (int i = 0; i < NumberOfSupportedCameras; i++) + { + if(SingleCamInfo[i].Detect && SingleCamInfo[i].IsOpen){ + if(SingleCamInfo[i].CamClass == BalluffClassID){ + if(pCaptureThread[i]) + { + pCaptureThread[i]->p_result_queue->clear(); + pCaptureThread[i]->p_unit_queue->clear(); + pCaptureThread[i]->p_result_wait_queue->clear(); + pCaptureThread[i]->p_shooted_queue->clear(); + } + } + else if (SingleCamInfo[i].CamClass == BaslerClassID) { + if(pBaslerCaptureThread[i]) + { + pBaslerCaptureThread[i]->p_result_queue->clear(); + pBaslerCaptureThread[i]->p_unit_queue->clear(); + pBaslerCaptureThread[i]->p_result_wait_queue->clear(); + pBaslerCaptureThread[i]->p_shooted_queue->clear(); + } + } + else if (SingleCamInfo[i].CamClass == HIKClassID) { + if(pHIKCaptureThread[i]) + { + pHIKCaptureThread[i]->p_result_queue->clear(); + pHIKCaptureThread[i]->p_unit_queue->clear(); + pHIKCaptureThread[i]->p_result_wait_queue->clear(); + pHIKCaptureThread[i]->p_shooted_queue->clear(); + } + } + } + } + BeforeWork(g_sys_conf.shoot); + int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 1); + /*::Sleep(5000); + ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 0); + ::Sleep(5000); + ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 1);*/ + //printf("write:\t%d\n", ret); + ui.label_title->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + ui.label_title_2->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + ui.label_title_2->setText(QStringLiteral("")); +#ifdef __UDPSend + sThread.sendData("Work", g_sys_conf.FeedbackPort); +#endif + g_working = true; + ui.checkBox_debug->setChecked(false); //ȡģʽ + ui.checkBox_debug->setEnabled(false); //Բ + //ʾOK/NGť + for (int i = 0; i < NumberOfSupportedCameras; i++) + { + //ʾOK/NGť + label_reslut_mat[i]->setVisible(true); + } +} //ʼť void Cigarette::on_btn_start_released() { @@ -435,67 +598,81 @@ void Cigarette::on_btn_start_released() } if (!g_working) { - //ɼʱл - for (int i = 0; i < NumberOfSupportedCameras; i++) - { - if(SingleCamInfo[i].Detect && SingleCamInfo[i].IsOpen){ - if(SingleCamInfo[i].CamClass == BalluffClassID){ - if(pCaptureThread[i]) - { - pCaptureThread[i]->p_result_queue->clear(); - pCaptureThread[i]->p_unit_queue->clear(); - pCaptureThread[i]->p_result_wait_queue->clear(); - pCaptureThread[i]->p_shooted_queue->clear(); - } - } - else if (SingleCamInfo[i].CamClass == BaslerClassID) { - if(pBaslerCaptureThread[i]) - { - pBaslerCaptureThread[i]->p_result_queue->clear(); - pBaslerCaptureThread[i]->p_unit_queue->clear(); - pBaslerCaptureThread[i]->p_result_wait_queue->clear(); - pBaslerCaptureThread[i]->p_shooted_queue->clear(); - } - } - else if (SingleCamInfo[i].CamClass == HIKClassID) { - if(pHIKCaptureThread[i]) - { - pHIKCaptureThread[i]->p_result_queue->clear(); - pHIKCaptureThread[i]->p_unit_queue->clear(); - pHIKCaptureThread[i]->p_result_wait_queue->clear(); - pHIKCaptureThread[i]->p_shooted_queue->clear(); - } - } - } - } + start_work(); + } + } + g_op_time = OP_TIME; + ui.checkBox_debug->setEnabled(true); //ʹcheckBox +} - BeforeWork(); - int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 1); - /*::Sleep(5000); - ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 0); - ::Sleep(5000); - ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 1);*/ - //printf("write:\t%d\n", ret); - ui.label_title->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); - ui.label_title_2->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); - ui.label_title_2->setText(QStringLiteral("")); +void Cigarette::pause_work() +{ + int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 0 ); + //printf("write:\t%d\n", ret); + ui.label_title->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); + ui.label_title_2->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); + ui.label_title_2->setText(QStringLiteral("δ")); #ifdef __UDPSend - //sThread.sendData(QString::number(WORK), g_sys_conf.FeedbackPort); + sThread.sendData("NoWork", g_sys_conf.FeedbackPort); #endif - g_working = true; - ui.checkBox_debug->setChecked(false); //ȡģʽ - ui.checkBox_debug->setEnabled(false); //Բ - //ʾOK/NGť - for (int i = 0; i < NumberOfSupportedCameras; i++) + g_working = false; + ui.checkBox_debug->setEnabled(true); //ʹcheckBox + //OK/NGť + for (int i = 0; i < NumberOfSupportedCameras; i++) + { + //ʾOK/NGť + label_reslut_mat[i]->setVisible(false); + } +} + +void Cigarette::Exit() +{ + this->on_btn_pause_released(); + for(int i=0;isetVisible(true); + qDebug() << "Close device " << i; + cam_work_mat[i]->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); } } + work_thread[i].stop(); + debug_thread[i].stop(); + delete g_image_queue[i]; + delete g_result_queue[i]; + delete g_result_wait_queue[i]; + delete g_double_queue[i]; + delete g_shooted_queue[i]; + delete g_debug_queue[i]; + qDebug() << "Close capture thread " << i; } - g_op_time = OP_TIME; + saveThread.stop(); + delete g_save_queue; +#ifdef __UDPSend + sThread.stop(); + rThread->stop(); + delete rThread; +#endif + +#ifdef __ExportData + exportDataThread.stop(); + // delete export_Data_Info_queue; +#endif + qDebug() << "Close thread "; + + if(m_PLCDevice) { + m_PLCDevice->disconnect_plc(); + delete m_PLCDevice; + } + qApp->quit(); + this->close(); + + Pylon::PylonTerminate(); + + } -//ͣť +//ֹͣť void Cigarette::on_btn_pause_released() { emit sengMsgToClog("Pause the application."); @@ -513,24 +690,8 @@ void Cigarette::on_btn_pause_released() } } if (m_PLCDevice->g_plc_ok) { - if (g_working) - { - int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.work, 0 ); - //printf("write:\t%d\n", ret); - ui.label_title->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); - ui.label_title_2->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); - ui.label_title_2->setText(QStringLiteral("δ")); -#ifdef __UDPSend - //sThread.sendData(QString::number(NO_WORK), g_sys_conf.FeedbackPort); -#endif - g_working = false; - ui.checkBox_debug->setEnabled(true); //ʹcheckBox - //OK/NGť - for (int i = 0; i < NumberOfSupportedCameras; i++) - { - //ʾOK/NGť - label_reslut_mat[i]->setVisible(false); - } + if (g_working){ + pause_work(); } } g_op_time = OP_TIME; @@ -565,7 +726,7 @@ void Cigarette::on_btn_lock_released() m_admin_delay->stop(); } #ifdef __UDPSend - sThread.sendData(QString::number(LOCK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("LockOk", g_sys_conf.FeedbackPort); #endif } } @@ -577,6 +738,10 @@ void Cigarette::on_btn_setup_released() { dialog_setup = new DialogSetup(this); connect(dialog_setup, SIGNAL(system_exit()), this, SLOT(OnExit())); +#ifdef __DEBUG + connect(dialog_setup, SIGNAL(_testimg()), this, SLOT(TestImg())); + connect(dialog_setup, SIGNAL(_testimgs()), this, SLOT(TestImgs())); +#endif dialog_setup->setModal(true); dialog_setup->show(); dialog_setup->move((this->width() - dialog_setup->width()) / 2, (this->height() - dialog_setup->height()) / 2); @@ -585,7 +750,66 @@ void Cigarette::on_btn_setup_released() QMessageBox::information(NULL, QStringLiteral("Ȩ޼"), QStringLiteral("ȵťԱģʽ"), QMessageBox::Ok); } } +#ifdef __DEBUG +void Cigarette::TestImg() +{ + QString srcDirPath = QString::fromStdString(SelectFileOFN()); + + //ͼ + std::cout << "open file------ " << srcDirPath.toStdString() << std::endl; + cv::Mat imagein = cv::imread(srcDirPath.toStdString(), cv::IMREAD_COLOR); + if (!imagein.data) + { + return; + } + std::vector > results; + cv::Mat output; + alg_test.detect(imagein, output,results); + cv::imshow("TestImg", output); + cv::waitKeyEx(1); +#ifdef __ExportData + alg_test.analyse(imagein, results); +#endif +} +void Cigarette::TestImgs() +{ + QString srcDirPath = QString::fromStdString(SelectDirIFD()); + + vector files; + std::cout << "srcDirPath=" << srcDirPath.toStdString() << std::endl; + srcDirPath += "/"; + //ȡ·µļ + getFiles(srcDirPath.toStdString() + "*.jpg", files); + if (files.size() == 0) + { + QMessageBox::StandardButton result = QMessageBox::information(NULL, QStringLiteral("ʾ"), QStringLiteral("ûҵͼƬ")); + return; + } + + for (int index = 0; index < files.size(); index++) + { + //ͼ + std::cout << "open file------ " << files[index] << std::endl; + cv::Mat imagein = cv::imread(srcDirPath.toStdString() + files[index], cv::IMREAD_COLOR); + if (!imagein.data) + { + break; + } + + cv::Mat output; + std::vector > results; + alg_test.detect(imagein, output,results); + cv::imshow("TestImg", output); + int k = cv::waitKeyEx(1); + if (k == 27)break;//ESC +#ifdef __ExportData + alg_test.analyse(imagein, results); +#endif + QCoreApplication::processEvents(); + } +} +#endif //Ա½ void Cigarette::OnAdmin() { @@ -602,7 +826,7 @@ void Cigarette::OnAdmin() m_op_delay->stop(); } #ifdef __UDPSend - sThread.sendData(QString::number(UNLOCK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("UnlockOk", g_sys_conf.FeedbackPort); #endif } //Ա½ @@ -617,57 +841,14 @@ void Cigarette::OnOp() //˳ǰִ void Cigarette::OnExit() { - //emit sengMsgToClog("Close the Application."); - this->on_btn_pause_released(); - Pylon::PylonTerminate(); - delete g_save_queue; - for(int i=0;isetStyleSheet(tr("background-color: rgb(255, 255, 0);")); - } - } - } - if(m_PLCDevice) delete m_PLCDevice; - qApp->quit(); - this->close(); + emit sengMsgToClog("Close the Application."); + Exit(); + exit(-1); } void Cigarette::OnRestart() { - this->on_btn_pause_released(); - Pylon::PylonTerminate(); - delete g_save_queue; - for (int i = 0; i < NumberOfSupportedCameras; i++) - { - delete g_image_queue[i]; - delete g_result_queue[i]; - delete g_result_wait_queue[i]; - delete g_shooted_queue[i]; - delete g_debug_queue[i]; - if (SingleCamInfo[i].Detect) { - if (ControlCamOpenOrClose(i, CLOSE)) - { - qDebug() << "Close device " << i; - cam_work_mat[i]->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); - } - } - } - if (m_PLCDevice) delete m_PLCDevice; -#ifdef __UDPSend - sThread.stop(); - rThread->stop(); -#endif - this->close(); - qApp->quit(); + Exit(); QProcess::startDetached(qApp->applicationFilePath(), QStringList()); } // @@ -676,11 +857,11 @@ void Cigarette::enable_shift() ui.pushButton_clear->setEnabled(true); } -void Cigarette::OnRotateReleasedHub(int Num) +void Cigarette::OnRotateReleasedHub(int Num)//תť { QString str = "Start to rotate picture " + QString::number(90 * ((rotationAngle[Num] + 1) % 4)) + " degrees of camera " + QString::number(Num) + "."; emit sengMsgToClog(str); - if(isNeddRotate[Num] == true) + if(isNeedRotate[Num] == true) { rotationAngle[Num] = (rotationAngle[Num] + 1) % 4; save_rotate_message(); @@ -700,7 +881,8 @@ void Cigarette::OnToolButtonCamReleasedHub(int Num) emit sengMsgToClog("Start open camera " + QString::number(Num) + "."); if(ControlCamOpenOrClose(Num,OPEN)) { - cam_work_mat[Num]->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + cam_work_mat[Num]->setStyleSheet(tr("background-color: rgb(0, 170, 0);"));//ʾ + cam_status_mat[Num]->setStyleSheet(tr("background-color: rgb(0,170,0);"));//ָʾ QString str = QString("border-image: url(:/Cigarette/Resources/cam%1_yes.png);").arg(Num+1); QByteArray ba = str.toLatin1(); cam_toolButton_mat[Num]->setStyleSheet(tr(ba.data())); @@ -753,74 +935,241 @@ void Cigarette::OpenCamTimeoutHub(int Num) // } } +void Cigarette::OnKey(QKeyEvent* event) +{ + int Num = CurOpLabel >> 4; + int Cnt = CurOpLabel & 0x0f; + + std::lock_guard locker(g_display_label_conf[Num].lock); + if (event->key() == Qt::Key_Escape && event->isAutoRepeat()==false) + { + if (g_display_label_conf[Num].RectVet[Cnt].size()) + { + g_display_label_conf[Num].RectVet[Cnt].pop_back(); + } + } + else if (event->key() == Qt::Key_Return && event->isAutoRepeat()==false) + { + std::fstream cfg_file; + char buf[256]; + memset(buf, 0, 256); + sprintf(buf, SELECT_RECTS_FILE, Num,Cnt); + cfg_file.open(buf, ios::trunc | ofstream::out); + if (!cfg_file.is_open()) + { + std::cout << "Error: Open config file SelectRects.txt" << std::endl; + return; + } + for (int i = 0; i < g_display_label_conf[Num].RectVet[Cnt].size(); i++) + { + char buf[256]; + memset(buf, 0, 256); + sprintf(buf, + "%03f,%03f,%03f,%03f\n", + g_display_label_conf[Num].RectVet[Cnt][i].TL.x, + g_display_label_conf[Num].RectVet[Cnt][i].TL.y, + g_display_label_conf[Num].RectVet[Cnt][i].BR.x, + g_display_label_conf[Num].RectVet[Cnt][i].BR.y + ); + cfg_file.write(buf, strlen(buf)); + } + } +} +//ص +void Cigarette::OnMouse(QMouseEvent* event) +{ + int Num = CurOpLabel>>4; + int Cnt = CurOpLabel&0x0f; + + int CurWidgetWidth = display_lable_mat[Num][Cnt]->width(); + int CurWidgetHeight = display_lable_mat[Num][Cnt]->height(); + + std::lock_guard locker(g_display_label_conf[Num].lock); + if (event->type() == QEvent::MouseButtonPress) + { + g_display_label_conf[Num].leftButtonDownFlag = true; //־λ + g_display_label_conf[Num].originalPoint = cv::Point2f( + event->x() * 1.0 / CurWidgetWidth, + event->y() * 1.0 / CurWidgetHeight + ); //µľ + g_display_label_conf[Num].processPoint = g_display_label_conf[Num].originalPoint; + } + if (event->type() == QEvent::MouseMove && g_display_label_conf[Num].leftButtonDownFlag) + { + g_display_label_conf[Num].processPoint = cv::Point2f( + event->x() * 1.0 / CurWidgetWidth, + event->y() * 1.0 / CurWidgetHeight + ); + } + if (event->type() == QEvent::MouseButtonRelease) + { + g_display_label_conf[Num].leftButtonDownFlag = false; + RectRatio m_RectRatio = RectRatio( + cv::Point2f(g_display_label_conf[Num].originalPoint.x * 1.0, + g_display_label_conf[Num].originalPoint.y * 1.0 + ), + cv::Point2f(event->x() * 1.0 / CurWidgetWidth, + event->y() * 1.0 / CurWidgetHeight + ) + ); + float tempx = abs((m_RectRatio.TL - m_RectRatio.BR).x); + float tempy = abs((m_RectRatio.TL - m_RectRatio.BR).y); + if(tempx >0.05) + g_display_label_conf[Num].RectVet[Cnt].push_back(m_RectRatio); + } +} + //˫ͼ1 void Cigarette::OnDBClickHub(int Num_Cnt) { int Num = Num_Cnt>>4; int Cnt = Num_Cnt&0x0f; - if (g_max[Num][Cnt]) - { + CurOpLabel = Num_Cnt; + std::lock_guard locker(g_display_label_conf[Num].lock); + if (g_display_label_conf[Num].g_max[Cnt]) + { /// ȫ״̬ ˫ȡȫ emit sengMsgToClog("Cancel the picture of camera " + QString::number(Num) + " to full screen."); - g_max[Num][Cnt] = false; - for(int i=0;isetGeometry( + display_lable_info[Num][Cnt].x, + display_lable_info[Num][Cnt].y, + display_lable_info[Num][Cnt].width, + display_lable_info[Num][Cnt].height + ); + rotate_mat[Num]->setGeometry( + rotate_info[Num].x, + rotate_info[Num].y, + rotate_info[Num].width, + rotate_info[Num].height + ); + if(g_display_label_conf[Num].Flag[Cnt] & DisplayLabel_Type_Bit) + { + g_display_label_conf[Num].Flag[Cnt] &= ~DisplayLabel_Conf_Bit; + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmousePressEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseMoveEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseReleaseEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalkeyReleaseEvent(QKeyEvent*)), this, SLOT(OnKey(QKeyEvent*))); + } + } + else + { // ˫ȫ + emit sengMsgToClog("Set the picture of camera " + QString::number(Num) + " to full screen."); + g_display_label_conf[Num].g_max[Cnt] = true; + display_lable_mat[Num][Cnt]->setGeometry(0, 0, 1280, 800); + + //rotate_mat[Num]->setGeometry(1230, 10, 40, 40); + + if (g_debug_mode)//ǷΪģʽ + { + rotate_mat[Num]->setGeometry(1230, 10, 40, 40); + } + else { - if(i == Num) + rotate_mat[Num]->setGeometry(1230, 10, 0, 0); + } + + display_lable_mat[Num][Cnt]->raise(); + rotate_mat[Num]->raise(); + + if(g_display_label_conf[Num].Flag[Cnt] & DisplayLabel_Type_Bit) + { + g_display_label_conf[Num].Flag[Cnt] |= DisplayLabel_Conf_Bit; + connect(display_lable_mat[Num][Cnt], SIGNAL(SignalmousePressEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + connect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseMoveEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + connect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseReleaseEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + connect(display_lable_mat[Num][Cnt], SIGNAL(SignalkeyReleaseEvent(QKeyEvent*)), this, SLOT(OnKey(QKeyEvent*))); + } + } + OnNotifyHub(Num,Cnt,g_display_label_conf[Num].g_last_mat[Cnt]); +} + +void Cigarette::DrawRect_init(int Num_Cnt) { + //int Num = Num_Cnt >> 4; + //int Cnt = Num_Cnt & 0x0f; + + int Num = Num_Cnt & 0x0f; + int Cnt = Num_Cnt >> 4; + if (g_display_label_conf[Num].Flag[Cnt] & DisplayLabel_Type_Bit) + { + g_display_label_conf[Num].Flag[Cnt] &= ~DisplayLabel_Type_Bit; + g_display_label_conf[Num].Flag[Cnt] &= ~DisplayLabel_Conf_Bit; + } + else { + g_display_label_conf[Num].Flag[Cnt] |= DisplayLabel_Type_Bit; + std::fstream cfg_file; + char buf[256]; + memset(buf, 0, 256); + sprintf(buf, SELECT_RECTS_FILE, Num, Cnt); + cfg_file.open(buf); + if (!cfg_file.is_open()) + { + std::cout << "Error: Open config file SelectRects"<setGeometry(140, 80, 861, 651); - else - display_lable_mat[i][Cnt]->setGeometry(10, 230, 231, 401); - rotate_mat[i]->setGeometry(950, 90, 0, 0); - } - else if(Num == 1) - { - if (!Cnt) - display_lable_mat[i][Cnt]->setGeometry(490, 230, 301, 401); - else - display_lable_mat[i][Cnt]->setGeometry(900, 90, 161, 251); - rotate_mat[i]->setGeometry(770, 230, 0, 0); - } - else if (Num == 2) - { - if (!Cnt) - display_lable_mat[i][Cnt]->setGeometry(800, 230, 231, 401); - else - display_lable_mat[i][Cnt]->setGeometry(1040, 230, 231, 401); - rotate_mat[i]->setGeometry(125, 230, 0, 0); - } - else if (Num == 3) - { - if (!Cnt) - display_lable_mat[i][Cnt]->setGeometry(732, 420, 321, 261); - else - display_lable_mat[i][Cnt]->setGeometry(900, 420, 161, 251); - rotate_mat[i]->setGeometry(1030, 430, 0, 0); - } + RectRatio m_RectRatio = RectRatio( + cv::Point2f(dataList[0].toFloat(), dataList[1].toFloat()), + cv::Point2f(dataList[2].toFloat(), dataList[3].toFloat()) + ); + g_display_label_conf[Num].RectVet[Cnt].push_back(m_RectRatio); } } - OnNotifyHub(Num,Cnt,g_last_mat[Num][Cnt]); + } +} + +void Cigarette::OnTPClickHub(int Num_Cnt) +{ + int Num = Num_Cnt >> 4; + int Cnt = Num_Cnt & 0x0f; + + std::lock_guard locker(g_display_label_conf[Num].lock); + if (g_display_label_conf[Num].Flag[Cnt] & DisplayLabel_Type_Bit) + { + g_display_label_conf[Num].Flag[Cnt] &= ~DisplayLabel_Type_Bit; + g_display_label_conf[Num].Flag[Cnt] &= ~DisplayLabel_Conf_Bit; + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmousePressEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseMoveEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalmouseReleaseEvent(QMouseEvent*)), this, SLOT(OnMouse(QMouseEvent*))); + disconnect(display_lable_mat[Num][Cnt], SIGNAL(SignalkeyReleaseEvent(QKeyEvent*)), this, SLOT(OnKey(QKeyEvent*))); } else { - emit sengMsgToClog("Set the picture of camera " + QString::number(Num) + " to full screen."); - g_max[Num][Cnt] = true; - for(int i=0;isetGeometry(0, 0, 1280, 800); - rotate_mat[i]->setGeometry(1240, 10, 40, 40); + RectRatio m_RectRatio = RectRatio( + cv::Point2f(dataList[0].toFloat(),dataList[1].toFloat()), + cv::Point2f(dataList[2].toFloat(),dataList[3].toFloat()) + ); + g_display_label_conf[Num].RectVet[Cnt].push_back(m_RectRatio); } } - display_lable_mat[Num][Cnt]->raise(); - rotate_mat[Num]->raise(); - OnNotifyHub(Num,Cnt,g_last_mat[Num][Cnt]); } } - //˫NG void Cigarette::OnDBClickNGHub(int Num) { @@ -840,7 +1189,7 @@ void Cigarette::OnNotifyHub(int Num, int Cnt,cv::Mat m) QImage tempImage = Cigarette::cvMatToQImage(m); display_lable_mat[Num][Cnt]->setPixmap(QPixmap::fromImage(tempImage)); - g_last_mat[Num][Cnt] = m; + g_display_label_conf[Num].g_last_mat[Cnt] = m; _UDPSendInfo UDPSendInfo; UDPSendInfo.FrameID = image_frame; @@ -877,7 +1226,6 @@ void Cigarette::OnDisplayJdNoHub(int Num, QString jd_no) void Cigarette::OnOKHub(int Num) { - output_result(Num,true); ok[Num]++; _UDPSendInfo UDPSendInfo; UDPSendInfo.FrameID = ok_frame; @@ -893,7 +1241,6 @@ void Cigarette::OnOKHub(int Num) void Cigarette::OnNGHub(int Num) { - output_result(Num,false); ng[Num]++; _UDPSendInfo UDPSendInfo; UDPSendInfo.FrameID = ng_frame; @@ -934,9 +1281,9 @@ void Cigarette::on_checkBox_unkick_clicked(bool checked) dialogin->show(); dialogin->move((this->width() - dialogin->width()) / 2, (this->height() - dialogin->height()) / 2); ui.checkBox_unkick->setChecked(false); - int ret = m_PLCDevice->write_bit_2_plc(g_modbus_conf.no_kick, 0);/// + int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.no_kick, 0); #ifdef __UDPSend - sThread.sendData(QString::number(UNKICK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("UnKickOk", g_sys_conf.FeedbackPort); #endif return; } @@ -948,7 +1295,7 @@ void Cigarette::on_checkBox_unkick_clicked(bool checked) emit sengMsgToClog("Enter unkick mode."); int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.no_kick, 1); #ifdef __UDPSend - sThread.sendData(QString::number(UNKICK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("UnKickOk", g_sys_conf.FeedbackPort); #endif } else @@ -956,7 +1303,7 @@ void Cigarette::on_checkBox_unkick_clicked(bool checked) emit sengMsgToClog("Exit unkick mode."); int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.no_kick, 0); #ifdef __UDPSend - sThread.sendData(QString::number(KICK_OK), g_sys_conf.FeedbackPort); + sThread.sendData("KickOk", g_sys_conf.FeedbackPort); #endif } ui.checkBox_unkick->setChecked(checked); @@ -965,7 +1312,7 @@ void Cigarette::on_checkBox_unkick_clicked(bool checked) ui.checkBox_unkick->setChecked(false); emit sengMsgToClog("Enter or exit unkick mode fail."); #ifdef __UDPSend - sThread.sendData(QString::number(UNKICK_FAIL), g_sys_conf.FeedbackPort); + sThread.sendData("UnKickFail", g_sys_conf.FeedbackPort); #endif } } @@ -982,8 +1329,9 @@ void Cigarette::on_checkBox_debug_clicked(bool checked) { if (g_working) { - QMessageBox::information(NULL, QStringLiteral("˳ "), QStringLiteral("ȵͣťܽģʽ"), QMessageBox::Ok); + QMessageBox::information(NULL, QStringLiteral("˳ "), QStringLiteral("ȵֹͣťܽģʽ"), QMessageBox::Ok); ui.checkBox_debug->setChecked(false); + return; } else { @@ -991,7 +1339,7 @@ void Cigarette::on_checkBox_debug_clicked(bool checked) EnableDebugMode(); ui.checkBox_debug->setChecked(true); #ifdef __UDPSend - sThread.sendData(QString::number(DEBUG_EN), g_sys_conf.FeedbackPort); + sThread.sendData("DebugEn", g_sys_conf.FeedbackPort); #endif } } @@ -999,12 +1347,15 @@ void Cigarette::on_checkBox_debug_clicked(bool checked) { emit sengMsgToClog("Exit debug mode."); DisableDebugMode(); + //on_pushButton_clear_released(); // ui.checkBox_debug->setChecked(false); + ui.checkBox_debug->setEnabled(true); #ifdef __UDPSend - sThread.sendData(QString::number(DEBUG_DIS), g_sys_conf.FeedbackPort); + sThread.sendData("DebugDis", g_sys_conf.FeedbackPort); #endif } } + //PLCöԻ void Cigarette::on_toolButton_plc_released() { @@ -1090,6 +1441,24 @@ void Cigarette::handleTimeout() #endif ui.label_plc->setText(QStringLiteral("PLC")); ui.label_plc->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + if(!(m_PLCDevice->g_plc_status&0x01)) + { + init_plc_value(); + if(g_working) + { + if (g_debug_mode) + { + QMessageBox::information(NULL, QStringLiteral("˳"), QStringLiteral("ȵģʽѡȡģʽſԿʼ"), QMessageBox::Ok); + return; + } + start_work(); + } + else if (!g_working) + { + pause_work(); + } + m_PLCDevice->g_plc_status|=(0x01); + } //Զ if (g_sys_conf.auto_shift&&g_working) { @@ -1106,7 +1475,7 @@ void Cigarette::handleTimeout() if (quantity_stop_count == STOP_SECONDS) //һλ { g_op_mode = true; //Աģʽ - on_btn_pause_released(); //ͣ + on_btn_pause_released(); //ֹͣ on_pushButton_clear_released(); // on_btn_start_released(); //ʼ g_op_mode = false; //˳Աģʽ @@ -1122,7 +1491,7 @@ void Cigarette::handleTimeout() if (secA == 0) { g_op_mode = true; //Աģʽ - on_btn_pause_released(); //ͣ + on_btn_pause_released(); //ֹͣ record_output_statistic(cur_quantity, 0); on_pushButton_clear_released(); // on_btn_start_released(); //ʼ @@ -1131,7 +1500,7 @@ void Cigarette::handleTimeout() else if (secB == 0) { g_op_mode = true; //Աģʽ - on_btn_pause_released(); //ͣ + on_btn_pause_released(); //ֹͣ record_output_statistic(cur_quantity, 1); on_pushButton_clear_released(); // on_btn_start_released(); //ʼ @@ -1140,7 +1509,7 @@ void Cigarette::handleTimeout() else if (secC == 0) { g_op_mode = true; //Աģʽ - on_btn_pause_released(); //ͣ + on_btn_pause_released(); //ֹͣ record_output_statistic(cur_quantity, 2); on_pushButton_clear_released(); // on_btn_start_released(); //ʼ @@ -1152,7 +1521,7 @@ void Cigarette::handleTimeout() { ui.label_plc->setText(QStringLiteral("PLCϿ")); ui.label_plc->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); - //m_PLCDevice->g_plc_ok = false; + m_PLCDevice->g_plc_status&=~(0x01); } } } @@ -1233,11 +1602,84 @@ void Cigarette::handleTimeout() #endif } } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + if (g_modbus_conf.kick5 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick5, 2, dest16); + if (ret == 2) + { + ui.lcdNumber_kick_5->display(dest16[0] + (dest16[1] << 16)); +#ifdef __UDPSend + _UDPSendInfo UDPSendInfo; + UDPSendInfo.FrameID = kick_frame; + UDPSendInfo.index = 4; + UDPSendInfo.Kick[UDPSendInfo.index] = dest16[0] + (dest16[1] << 16); + UDP_Info_queue->put(UDPSendInfo); +#endif + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + if (g_modbus_conf.kick6 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick6, 2, dest16); + if (ret == 2) + { + ui.lcdNumber_kick_6->display(dest16[0] + (dest16[1] << 16)); +#ifdef __UDPSend + _UDPSendInfo UDPSendInfo; + UDPSendInfo.FrameID = kick_frame; + UDPSendInfo.index = 5; + UDPSendInfo.Kick[UDPSendInfo.index] = dest16[0] + (dest16[1] << 16); + UDP_Info_queue->put(UDPSendInfo); +#endif + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + if (g_modbus_conf.kick7 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick7, 2, dest16); + if (ret == 2) + { + ui.lcdNumber_kick_7->display(dest16[0] + (dest16[1] << 16)); +#ifdef __UDPSend + _UDPSendInfo UDPSendInfo; + UDPSendInfo.FrameID = kick_frame; + UDPSendInfo.index = 6; + UDPSendInfo.Kick[UDPSendInfo.index] = dest16[0] + (dest16[1] << 16); + UDP_Info_queue->put(UDPSendInfo); +#endif + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + if (g_modbus_conf.kick8 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick8, 2, dest16); + if (ret == 2) + { + ui.lcdNumber_kick_8->display(dest16[0] + (dest16[1] << 16)); +#ifdef __UDPSend + _UDPSendInfo UDPSendInfo; + UDPSendInfo.FrameID = kick_frame; + UDPSendInfo.index = 7; + UDPSendInfo.Kick[UDPSendInfo.index] = dest16[0] + (dest16[1] << 16); + UDP_Info_queue->put(UDPSendInfo); +#endif + } + } #endif } } //߼ - /*if (SingleCamInfo[0].OffLine) //1# +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + if (SingleCamInfo[0].OffLine) //1# { //SingleCamInfo[0] = false; ui.cam_status_1->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); @@ -1251,6 +1693,8 @@ void Cigarette::handleTimeout() if (ret > 0) SingleCamInfo[0].OffLine = false; } } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) if (SingleCamInfo[1].OffLine) //2# { //SingleCamInfo[1] = false; @@ -1264,7 +1708,105 @@ void Cigarette::handleTimeout() int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); if(ret > 0) SingleCamInfo[1].OffLine = false; } - }*/ + } +#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) +// if (SingleCamInfo[2].OffLine) //3# +// { +// //SingleCamInfo[2] = false; +// ui.cam_status_3->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_3->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_3->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam3_no.png);")); +// ui.label_reslut_3->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 7,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[2].OffLine = false; +// } +// } +//#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) +// if (SingleCamInfo[3].OffLine) //4# +// { +// //SingleCamInfo[3] = false; +// ui.cam_status_4->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_4->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_4->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam4_no.png);")); +// ui.label_reslut_4->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 8,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[3].OffLine = false; +// } +// } +//#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) +// if (SingleCamInfo[4].OffLine) //5# +// { +// //SingleCamInfo[4] = false; +// ui.cam_status_5->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_5->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_5->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam5_no.png);")); +// ui.label_reslut_5->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 9,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[4].OffLine = false; +// } +// } +//#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) +// if (SingleCamInfo[5].OffLine) //6# +// { +// //SingleCamInfo[5] = false; +// ui.cam_status_6->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_6->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_6->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam6_no.png);")); +// ui.label_reslut_6->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 10,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[5].OffLine = false; +// } +// } +//#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) +// if (SingleCamInfo[6].OffLine) //7# +// { +// //SingleCamInfo[6] = false; +// ui.cam_status_7->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_7->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_7->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam7_no.png);")); +// ui.label_reslut_7->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 11,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[6].OffLine = false; +// } +// } +//#endif +//#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) +// if (SingleCamInfo[7].OffLine) //8# +// { +// //SingleCamInfo[7] = false; +// ui.cam_status_8->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.cam_work_8->setStyleSheet(tr("background-color: rgb(255, 255, 0);")); +// ui.toolButton_cam_8->setStyleSheet(tr("border-image: url(:/Cigarette/Resources/cam8_no.png);")); +// ui.label_reslut_8->setVisible(true); +// if (g_modbus_conf.alarm > 0) +// { +// uint16_t dest16[2] = { 12,0 }; +// int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); +// if (ret > 0) SingleCamInfo[7].OffLine = false; +// } +// } +//#endif + //ȡϢ if (m_PLCDevice->g_plc_ok) { @@ -1278,7 +1820,7 @@ void Cigarette::handleTimeout() { AlarmInfo alarm_info; alarm_info.alarm_code = dest16[0]; - if ((alarm_info.alarm_code > 0) && (alarm_info.alarm_code <= 6)) + if ((alarm_info.alarm_code > 0) && (alarm_info.alarm_code <= 12)) { alarm_info.alarm_msg = (g_alarm_msg[alarm_info.alarm_code]).toStdString(); alarm_info.alarm_start = localTime.toStdString(); @@ -1289,46 +1831,57 @@ void Cigarette::handleTimeout() g_vec_alarm.push_back(alarm_info); g_last_alarm_code = alarm_info.alarm_code; } + else { + if (g_vec_alarm.empty()) { + g_vec_alarm.push_back(alarm_info); + g_last_alarm_code = alarm_info.alarm_code; + } + } } else if (alarm_info.alarm_code == 0) { ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); ui.label_alarm->setText(QStringLiteral("ޱ")); } - if (alarm_info.alarm_code == 7) { - ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); - ui.label_alarm->setText(QStringLiteral("1#")); - //1# - ReconnectCamHub(0); - //־ - if (g_modbus_conf.alarm > 0) - { - uint16_t dest16[2] = {0,0}; - int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); - } - } - if (alarm_info.alarm_code == 8) { - ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); - ui.label_alarm->setText(QStringLiteral("2#")); - //2# - ReconnectCamHub(1); - //־ - if (g_modbus_conf.alarm > 0) - { - uint16_t dest16[2] = {0,0}; - int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); - } - } + //if (alarm_info.alarm_code == 7) { + // ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + // ui.label_alarm->setText(QStringLiteral("1#")); + // //1# + // ReconnectCamHub(0); + // //־ + // if (g_modbus_conf.alarm > 0) + // { + // uint16_t dest16[2] = {0,0}; + // int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); + // } + //} + //if (alarm_info.alarm_code == 8) { + // ui.label_alarm->setStyleSheet(tr("background-color: rgb(0, 170, 0);")); + // ui.label_alarm->setText(QStringLiteral("2#")); + // //2# + // ReconnectCamHub(1); + // //־ + // if (g_modbus_conf.alarm > 0) + // { + // uint16_t dest16[2] = {0,0}; + // int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); + // } + //} +#ifdef __UDPSend + QString str; + str = QString("alarm") + '_' + QString::number(alarm_info.alarm_code); + sThread.sendData(str, g_sys_conf.FeedbackPort); +#endif } } } } } -void Cigarette::on_pushButton_reset_released()//λ//ǰû +void Cigarette::on_pushButton_reset_released()///λť { int ret = m_PLCDevice->write_bit_2_plc(g_modbus_conf.reset, 1); - Sleep(1000); - if(g_modbus_conf.reset>0) - int ret = m_PLCDevice->write_bit_2_plc(g_modbus_conf.reset, 0); + //Sleep(1000); + if (g_modbus_conf.reset > 0) + int ret = m_PLCDevice->write_bit_2_plc(g_modbus_conf.reset, 0); } void Cigarette::OnCancelAlarm() //˫ { @@ -1361,6 +1914,11 @@ void Cigarette::OnCancelAlarm() //˫ { g_vec_alarm[n - 1].alarm_handle = localTime.toStdString(); } +#ifdef __UDPSend + QString str; + str = QString("alarm") + '_' + QString::number(0); + sThread.sendData(str, g_sys_conf.FeedbackPort); +#endif } } g_op_time = OP_TIME; @@ -1404,7 +1962,7 @@ void Cigarette::on_pushButton_clear_released()// } if(g_working) { - QMessageBox::information(NULL, QStringLiteral("״̬"), QStringLiteral("ȵͣťͣģʽſԽл"), QMessageBox::Ok); + QMessageBox::information(NULL, QStringLiteral("״̬"), QStringLiteral("ȵֹͣťſԽл "), QMessageBox::Ok); return; } ui.pushButton_clear->setEnabled(false); @@ -1458,7 +2016,7 @@ void Cigarette::on_pushButton_clear_released()// { uint16_t dest16[2]; int ret = m_PLCDevice->read_short_from_plc( g_modbus_conf.quantity, 2, dest16); - std::cout << ret << std::endl; + //std::cout << ret << std::endl; if (ret > 0) { int cur_quantity = dest16[0] + (dest16[1] << 16); @@ -1472,141 +2030,22 @@ void Cigarette::on_pushButton_clear_released()// if (g_modbus_conf.shift > 0) { int ret = m_PLCDevice->write_bit_2_plc( g_modbus_conf.shift, 1); - if (g_modbus_conf.alarm >0)//ǰû + if (g_modbus_conf.alarm >0)///ַalarmӦPLCַ { uint16_t dest16[2] = { 0,0 }; - int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16);//ַalarmӦPLCַ + int ret = m_PLCDevice->write_short_2_plc(g_modbus_conf.alarm, 2, dest16); } } } } g_op_time = OP_TIME; } -void Cigarette::on_pushButton_Clear_Pic_released() -{ - emit sengMsgToClog("Clean images."); - CleanThreadStart(); -} -void Cigarette::FindFileForDelete(const QString& path) -{ - QDir dir(path); - QFileInfoList list; - QFileInfo curFile; - if (!dir.exists()) { return; }//ļ棬򷵻false - dir.setFilter(QDir::Dirs | QDir::Files); - list = dir.entryInfoList(QDir::Dirs | QDir::Files - | QDir::Readable | QDir::Writable - | QDir::Hidden | QDir::NoDotAndDotDot - , QDir::Time); - if (list.isEmpty()) { return; }//ļΪգ򷵻false - int i = list.size() - 1; - QDateTime delDateTime; - QDate delDate; - do { - QFileInfo fileInfo = list.at(i); - while (fileInfo.fileName() == "." || fileInfo.fileName() == ".." && i >= 0) - { - i--; - } - if (i < 0) { - break; - } - bool bisDir = fileInfo.isDir(); - if (bisDir) - { - QRegExp rx("\\d{4}-\\d{2}-\\d{2}"); - QRegExpValidator v(rx, 0); - int pos = 0; - int match; - match = v.validate(fileInfo.fileName(), pos); - if (match == 2) - { - QString qstrSubFilePath = fileInfo.absoluteFilePath(); - QDir qdrSubPath(qstrSubFilePath); - qdrSubPath.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden); - QFileInfoList qlstFileInfo = qdrSubPath.entryInfoList(); - if (qlstFileInfo.count() <= 0) - { - qdrSubPath.rmdir(qstrSubFilePath); - i--; - list = dir.entryInfoList(QDir::Dirs | QDir::Files - | QDir::Readable | QDir::Writable - | QDir::Hidden | QDir::NoDotAndDotDot - , QDir::Time); - if (list.isEmpty()) { return; }//ļΪգ򷵻false - int i = list.size() - 1; - continue; - } - if (i == (list.size() - 1)) { - delDate = QDate::currentDate().addDays(-60); - } - - // QDate delDate = QDate::currentDate().addDays(-60); - QDate dirDate; - dirDate = QDate::fromString(fileInfo.fileName(), "yyyy-MM-dd"); - qint64 nDays = delDate.daysTo(dirDate); - if (nDays <= 0) - { - qdrSubPath.removeRecursively(); - i--; - list = dir.entryInfoList(QDir::Dirs | QDir::Files - | QDir::Readable | QDir::Writable - | QDir::Hidden | QDir::NoDotAndDotDot - , QDir::Time); - if (list.isEmpty()) { return; }//ļΪգ򷵻false - int i = list.size() - 1; - continue; - } - i--; - continue; - } - FindFileForDelete(fileInfo.filePath()); - i--; - } - else { - if (2) //g_sys_conf.save == - { - // ļжļ ĿǰĬ60졣 - if (i == (list.size() - 1)) { - delDateTime = fileInfo.birthTime().addDays(60); - } - qint64 nDays = delDateTime.daysTo(fileInfo.birthTime()); - nDays = fileInfo.birthTime().daysTo(delDateTime); - if (nDays <= 0) - { - // ɾ60ļ - fileInfo.dir().remove(fileInfo.fileName()); - } - } - i--; - } - } while (i >= 0); -} - -void Cigarette::autoCleanImage() -{ - int64 size; - QString iDriver = "D:/"; - LPCWSTR strDriver = (LPCWSTR)iDriver.utf16(); - ULARGE_INTEGER freeDiskSpaceAvailable, totalDiskSpace, totalFreeDiskSpace; - int64 gb = (1024 * 1024 * 1024); - - //úȡ̲(λΪֽByte),תΪGBҪ(1024*1024*1024) - GetDiskFreeSpaceEx(strDriver, &freeDiskSpaceAvailable, &totalDiskSpace, &totalFreeDiskSpace); - size = (quint64)totalFreeDiskSpace.QuadPart / gb; - - if (size < 10) { //ʣռС10g - QString dir("D:/image/"); - FindFileForDelete(dir); - } - -} //ȡϵͳԱ QString Cigarette::read_pswd() { std::fstream cfg_file; - cfg_file.open("pswd.txt"); + cfg_file.open("D:/Release/pswd.txt"); if (!cfg_file.is_open()) { std::cout << "Error: Open config file pswd.txt"<< std::endl; @@ -1638,7 +2077,7 @@ QString Cigarette::read_pswd() QString Cigarette::read_op_pswd() { std::fstream cfg_file; - cfg_file.open("pswd_op.txt"); + cfg_file.open("D:/Release/pswd_op.txt"); if (!cfg_file.is_open()) { std::cout << "Error: Open config file pswd_op.txt" << std::endl; @@ -1682,34 +2121,49 @@ bool Cigarette::read_sys_config(SysConf &conf) std::string line(tmp); if (line.length() > 0) { + /// atoiֵsubstrӴc_str()ַָ׵ַ size_t pos = line.find('='); std::string tmp_key = line.substr(0, pos); - if (tmp_key == "SAVE") - { - conf.save = atoi(line.substr(pos + 1).c_str()); + + if (tmp_key == "SAVE") + { /// ͼã0棻1NG2ȫ + conf.save = atoi(line.substr(pos + 1).c_str()); } else if (tmp_key == "MISMATCHACT") - { + { /// λΪ1NG0OK conf.MisMatchAct = atoi(line.substr(pos + 1).c_str()); } - else if (tmp_key == "SAVE_DAYS")/// - { + else if (tmp_key == "SAVE_DAYS") + { /// Ƭ conf.save_days = atoi(line.substr(pos + 1).c_str()); } - else if (tmp_key == "AUTO_OPEN") + else if (tmp_key == "FREESIZE") { + /// ͼƬ趨Сռֵ + conf.freesize = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "ComPort") + { /// COM + conf.ComPort = line.substr(pos + 1); + } + else if (tmp_key == "CONFTHRESHOLD") + { ///ƶ + conf.ConfThreshold = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "AUTO_OPEN") + { /// ǷԶ01 conf.auto_open = atoi(line.substr(pos + 1).c_str()); } else if (tmp_key == "AUTO_WORK") - { + { /// ǷԶʼ01 conf.auto_work = atoi(line.substr(pos + 1).c_str()); } else if (tmp_key == "AUTO_SHIFT") - { + { /// ǷԶࣺ01 conf.auto_shift = atoi(line.substr(pos + 1).c_str()); } else if (tmp_key == "TIMING_SHIFT") - { + { /// Ƿʱࣺ01 conf.timing_shift = atoi(line.substr(pos + 1).c_str()); } else if (tmp_key == "SHIFT_A") @@ -1718,7 +2172,7 @@ bool Cigarette::read_sys_config(SysConf &conf) string_split(line.substr(pos + 1), "|",vec_info); if (vec_info.size() == 2) { - conf.shiftA.setHMS(atoi(vec_info[0].c_str()), atoi(vec_info[1].c_str()), 0); + conf.shiftA.setHMS(atoi(vec_info[0].c_str())%24, atoi(vec_info[1].c_str()), 0);/// } } else if (tmp_key == "SHIFT_B") @@ -1727,7 +2181,7 @@ bool Cigarette::read_sys_config(SysConf &conf) string_split(line.substr(pos + 1), "|",vec_info); if (vec_info.size() == 2) { - conf.shiftB.setHMS(atoi(vec_info[0].c_str()), atoi(vec_info[1].c_str()), 0); + conf.shiftB.setHMS(atoi(vec_info[0].c_str())%24, atoi(vec_info[1].c_str()), 0);/// } } else if (tmp_key == "SHIFT_C") @@ -1736,9 +2190,25 @@ bool Cigarette::read_sys_config(SysConf &conf) string_split(line.substr(pos + 1), "|",vec_info); if (vec_info.size() == 2) { - conf.shiftC.setHMS(atoi(vec_info[0].c_str()), atoi(vec_info[1].c_str()), 0); + conf.shiftC.setHMS(atoi(vec_info[0].c_str())%24, atoi(vec_info[1].c_str()), 0);/// } } + else if (tmp_key == "LOCATION") + { + conf.location = line.substr(pos + 1).c_str(); + } + else if (tmp_key == "MODELPATH") + { + conf.model_path = line.substr(pos + 1).c_str(); + } + else if (tmp_key == "MODELNAME") + { + conf.model_name = line.substr(pos + 1).c_str(); + } + else if (tmp_key == "JPGPATH") + { + conf.jpg_path = line.substr(pos + 1).c_str(); + } #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) else if (tmp_key == "EXPO1") { @@ -1841,35 +2311,167 @@ bool Cigarette::read_sys_config(SysConf &conf) #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) else if (tmp_key == "EXPO4") { - conf.expo[3] = atoi(line.substr(pos + 1).c_str()); - } - else if (tmp_key == "GAIN4") + conf.expo[3] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "GAIN4") + { + conf.gain[3] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "FILTER4") + { + conf.filter[3] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "USERID4") + { + conf.UserID[3] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "NO4") + { + std::vector vec_info; + string_split(line.substr(pos + 1), "|",vec_info); + if (vec_info.size() == 3) + { + conf.no[3][0] = atoi(vec_info[0].c_str()); + conf.no[3][1] = atoi(vec_info[1].c_str()); + conf.no[3][2] = atoi(vec_info[2].c_str()); + } + } + else if (tmp_key == "SHOOT4") + { + conf.shoot[3] = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + else if (tmp_key == "EXPO5") + { + conf.expo[4] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "GAIN5") + { + conf.gain[4] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "FILTER5") + { + conf.filter[4] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "USERID5") + { + conf.UserID[4] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "NO5") + { + std::vector vec_info; + string_split(line.substr(pos + 1), "|", vec_info); + if (vec_info.size() == 3) + { + conf.no[4][0] = atoi(vec_info[0].c_str()); + conf.no[4][1] = atoi(vec_info[1].c_str()); + conf.no[4][2] = atoi(vec_info[2].c_str()); + } + } + else if (tmp_key == "SHOOT5") + { + conf.shoot[4] = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + else if (tmp_key == "EXPO6") + { + conf.expo[5] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "GAIN6") + { + conf.gain[5] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "FILTER6") + { + conf.filter[5] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "USERID6") + { + conf.UserID[5] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "NO6") + { + std::vector vec_info; + string_split(line.substr(pos + 1), "|", vec_info); + if (vec_info.size() == 3) + { + conf.no[5][0] = atoi(vec_info[0].c_str()); + conf.no[5][1] = atoi(vec_info[1].c_str()); + conf.no[5][2] = atoi(vec_info[2].c_str()); + } + } + else if (tmp_key == "SHOOT6") + { + conf.shoot[5] = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + else if (tmp_key == "EXPO7") + { + conf.expo[6] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "GAIN7") + { + conf.gain[6] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "FILTER7") + { + conf.filter[6] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "USERID7") + { + conf.UserID[6] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "NO7") + { + std::vector vec_info; + string_split(line.substr(pos + 1), "|", vec_info); + if (vec_info.size() == 3) + { + conf.no[6][0] = atoi(vec_info[0].c_str()); + conf.no[6][1] = atoi(vec_info[1].c_str()); + conf.no[6][2] = atoi(vec_info[2].c_str()); + } + } + else if (tmp_key == "SHOOT7") + { + conf.shoot[6] = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + else if (tmp_key == "EXPO8") + { + conf.expo[7] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "GAIN8") { - conf.gain[3] = atoi(line.substr(pos + 1).c_str()); - } - else if (tmp_key == "FILTER4") + conf.gain[7] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "FILTER8") { - conf.filter[3] = atoi(line.substr(pos + 1).c_str()); - } - else if (tmp_key == "USERID4") + conf.filter[7] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "USERID8") { - conf.UserID[3] = atoi(line.substr(pos + 1).c_str()); - } - else if (tmp_key == "NO4") + conf.UserID[7] = atoi(line.substr(pos + 1).c_str()); + } + else if (tmp_key == "NO8") { std::vector vec_info; - string_split(line.substr(pos + 1), "|",vec_info); + string_split(line.substr(pos + 1), "|", vec_info); if (vec_info.size() == 3) { - conf.no[3][0] = atoi(vec_info[0].c_str()); - conf.no[3][1] = atoi(vec_info[1].c_str()); - conf.no[3][2] = atoi(vec_info[2].c_str()); + conf.no[7][0] = atoi(vec_info[0].c_str()); + conf.no[7][1] = atoi(vec_info[1].c_str()); + conf.no[7][2] = atoi(vec_info[2].c_str()); } - } - else if (tmp_key == "SHOOT4") + } + else if (tmp_key == "SHOOT8") { - conf.shoot[3] = atoi(line.substr(pos + 1).c_str()); - } + conf.shoot[7] = atoi(line.substr(pos + 1).c_str()); + } #endif else if (tmp_key == "MonitorIP") { @@ -1883,7 +2485,9 @@ bool Cigarette::read_sys_config(SysConf &conf) } } } + cfg_file.close(); + ui.location->setText(g_sys_conf.location); return true; } @@ -1905,22 +2509,58 @@ bool Cigarette::read_modbus_config(ModbusConf &conf) { size_t pos = line.find('='); std::string tmp_key = line.substr(0, pos); - if (tmp_key == "KICK1") + if (tmp_key == "QUANTITY") + { + conf.quantity = atoi(line.substr(pos + 1).c_str()); + } +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + else if (tmp_key == "KICK1") { conf.kick1 = atoi(line.substr(pos + 1).c_str()); } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) else if (tmp_key == "KICK2") { conf.kick2 = atoi(line.substr(pos + 1).c_str()); } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) else if (tmp_key == "KICK3") { conf.kick3 = atoi(line.substr(pos + 1).c_str()); } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) else if (tmp_key == "KICK4") { conf.kick4 = atoi(line.substr(pos + 1).c_str()); } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + else if (tmp_key == "KICK5") + { + conf.kick5 = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + else if (tmp_key == "KICK6") + { + conf.kick6 = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + else if (tmp_key == "KICK7") + { + conf.kick7 = atoi(line.substr(pos + 1).c_str()); + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + else if (tmp_key == "KICK8") + { + conf.kick8 = atoi(line.substr(pos + 1).c_str()); + } +#endif else if (tmp_key == "QUANTITY") { conf.quantity = atoi(line.substr(pos + 1).c_str()); @@ -1974,7 +2614,7 @@ bool Cigarette::read_rotate_message() if (rotate_message.length() > NumberOfSupportedCameras*2) { for (int i = 0; i < NumberOfSupportedCameras; i++) { - isNeddRotate[i] = rotate_message[i * 2].toInt(); + isNeedRotate[i] = rotate_message[i * 2].toInt(); rotationAngle[i] = rotate_message[i * 2 + 1].toInt(); } } @@ -2004,7 +2644,7 @@ bool Cigarette::save_rotate_message() for (int i = 0; i < NumberOfSupportedCameras; i++) { char tmp[8]; memset(tmp, 0, 8); - itoa(isNeddRotate[i], tmp, 10); + itoa(isNeedRotate[i], tmp, 10); cfg_file.write(tmp, 1); cfg_file.write(",", 1); memset(tmp, 0, 8); @@ -2016,6 +2656,27 @@ bool Cigarette::save_rotate_message() return true; } +//汨Ϣ +bool Cigarette::save_alarm_message(std::vector &AlarmInfo_vect) +{ + std::fstream cfg_file; + cfg_file.open(ALARM_RECORD_FILE); + if (!cfg_file.is_open()) + { + std::cout << "Error: Open config file alarm.txt" << std::endl; + return false; + } + + for (int i = 0; i < AlarmInfo_vect.size(); i++) { + char buf[256]; + memset(buf, 0, 256); + sprintf(buf, "%s_%s_%s_%d\n", AlarmInfo_vect[i].alarm_start, AlarmInfo_vect[i].alarm_handle, AlarmInfo_vect[i].alarm_msg, AlarmInfo_vect[i].alarm_code); + cfg_file.write(buf, strlen(buf)); + } + cfg_file.close(); + return true; +} + QImage Cigarette::cvMatToQImage(const cv::Mat& mat) { const unsigned char* data = mat.data; @@ -2116,7 +2777,7 @@ void Cigarette::init_plc_value() void Cigarette::CreatWorkThread(int classid,int Num,Cigarette* classptr) { - work_thread[Num].init(g_image_queue[Num],classid,Num); + work_thread[Num].init(g_image_queue[Num],g_result_queue[Num],classid,Num); connect(&work_thread[Num], SIGNAL(notify(int,int,cv::Mat)), classptr, SLOT(OnNotifyHub(int,int,cv::Mat))); connect(&work_thread[Num], SIGNAL(display_timecost(int,int)), classptr, SLOT(OnDisplayTimeCostHub(int,int))); connect(&work_thread[Num], SIGNAL(display_check_total(int,long)), classptr, SLOT(OnDisplayCheckNumberHub(int,long))); @@ -2129,72 +2790,62 @@ void Cigarette::CreatWorkThread(int classid,int Num,Cigarette* classptr) debug_thread[Num].start_work(); } +#define InitPtrMat_init(a,b)\ +cam_status_mat[a]=ui.cam_status_##b;\ +cam_work_mat[a]=ui.cam_work_##b;\ +cam_toolButton_mat[a]=ui.toolButton_cam_##b;\ +label_cap_speed_mat[a]=ui.label_cap_speed_##b;\ +display_lable_mat[a][0]=ui.image_label_##b##1;\ +display_lable_mat[a][1]=ui.image_label_##b##2;\ +label_timecost_mat[a]=ui.label_timecost_##b;\ +lcdNumber_total_mat[a]=ui.lcdNumber_total_##b;\ +label_jd_no_mat[a]=ui.label_jd_no_##b;\ +lcdNumber_ok_mat[a]=ui.lcdNumber_ok_##b;\ +lcdNumber_ng_mat[a]=ui.lcdNumber_ng_##b;\ +label_reslut_mat[a]=ui.label_reslut_##b;\ +rotate_mat[a]=ui.rotate_##b;\ +label_ng_mat[a]=ui.label_ng_##b; void Cigarette::InitPtrMat() { #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - cam_status_mat[0]=ui.cam_status_1; - cam_work_mat[0]=ui.cam_work_1; - cam_toolButton_mat[0]=ui.toolButton_cam_1; - label_cap_speed_mat[0]=ui.label_cap_speed_1; - display_lable_mat[0][0]=ui.image_label_11; - display_lable_mat[0][1]=ui.image_label_12; - label_timecost_mat[0]=ui.label_timecost_1; - lcdNumber_total_mat[0]=ui.lcdNumber_total_1; - label_jd_no_mat[0]=ui.label_jd_no_1; - lcdNumber_ok_mat[0]=ui.lcdNumber_ok_1; - lcdNumber_ng_mat[0]=ui.lcdNumber_ng_1; - label_reslut_mat[0]=ui.label_reslut_1; - rotate_mat[0]=ui.rotate_1; - label_ng_mat[0]=ui.label_ng_1; + InitPtrMat_init(0,1) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - cam_status_mat[1]=ui.cam_status_2; - cam_work_mat[1]=ui.cam_work_2; - cam_toolButton_mat[1]=ui.toolButton_cam_2; - label_cap_speed_mat[1]=ui.label_cap_speed_2; - display_lable_mat[1][0]=ui.image_label_21; - display_lable_mat[1][1]=ui.image_label_22; - label_timecost_mat[1]=ui.label_timecost_2; - lcdNumber_total_mat[1]=ui.lcdNumber_total_2; - label_jd_no_mat[1]=ui.label_jd_no_2; - lcdNumber_ok_mat[1]=ui.lcdNumber_ok_2; - lcdNumber_ng_mat[1]=ui.lcdNumber_ng_2; - label_reslut_mat[1]=ui.label_reslut_2; - rotate_mat[1]=ui.rotate_2; - label_ng_mat[1]=ui.label_ng_2; + InitPtrMat_init(1,2) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - cam_status_mat[2]=ui.cam_status_3; - cam_work_mat[2]=ui.cam_work_3; - cam_toolButton_mat[2]=ui.toolButton_cam_3; - label_cap_speed_mat[2]=ui.label_cap_speed_3; - display_lable_mat[2][0]=ui.image_label_31; - display_lable_mat[2][1]=ui.image_label_32; - label_timecost_mat[2]=ui.label_timecost_3; - lcdNumber_total_mat[2]=ui.lcdNumber_total_3; - label_jd_no_mat[2]=ui.label_jd_no_3; - lcdNumber_ok_mat[2]=ui.lcdNumber_ok_3; - lcdNumber_ng_mat[2]=ui.lcdNumber_ng_3; - label_reslut_mat[2]=ui.label_reslut_3; - rotate_mat[2]=ui.rotate_3; - label_ng_mat[2]=ui.label_ng_3; + InitPtrMat_init(2,3) #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - cam_status_mat[3]=ui.cam_status_4; - cam_work_mat[3]=ui.cam_work_4; - cam_toolButton_mat[3]=ui.toolButton_cam_4; - label_cap_speed_mat[3]=ui.label_cap_speed_4; - display_lable_mat[3][0]=ui.image_label_41; - display_lable_mat[3][1]=ui.image_label_42; - label_timecost_mat[3]=ui.label_timecost_4; - lcdNumber_total_mat[3]=ui.lcdNumber_total_4; - label_jd_no_mat[3]=ui.label_jd_no_4; - lcdNumber_ok_mat[3]=ui.lcdNumber_ok_4; - lcdNumber_ng_mat[3]=ui.lcdNumber_ng_4; - label_reslut_mat[3]=ui.label_reslut_4; - rotate_mat[3]=ui.rotate_4; - label_ng_mat[3]=ui.label_ng_4; + InitPtrMat_init(3,4) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + InitPtrMat_init(4,5) #endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + InitPtrMat_init(5,6) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + InitPtrMat_init(6,7) +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + InitPtrMat_init(7,8) +#endif + for(int i=0;igeometry().x(); + display_lable_info[i][j].y = display_lable_mat[i][j]->geometry().y(); + display_lable_info[i][j].width = display_lable_mat[i][j]->geometry().width(); + display_lable_info[i][j].height = display_lable_mat[i][j]->geometry().height(); + } + rotate_info[i].x = rotate_mat[i]->geometry().x(); + rotate_info[i].y = rotate_mat[i]->geometry().y(); + rotate_info[i].width = rotate_mat[i]->geometry().width(); + rotate_info[i].height = rotate_mat[i]->geometry().height(); + } + } bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) @@ -2261,8 +2912,8 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pCaptureThread[Num]->p_image_queue = g_image_queue[Num]; pCaptureThread[Num]->p_result_queue = g_result_queue[Num]; pCaptureThread[Num]->p_result_wait_queue = g_result_wait_queue[Num]; + pCaptureThread[Num]->p_double_queue = g_double_queue[Num]; pCaptureThread[Num]->p_shooted_queue = g_shooted_queue[Num]; - pCaptureThread[Num]->p_debug_queue = g_debug_queue[Num]; pThread[Num] = new QThread; @@ -2273,7 +2924,8 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) //connect(pCaptureThread[Num], SIGNAL(error(QString)), this, SLOT(errorString(QString))); connect(pCaptureThread[Num], SIGNAL(finished()), pThread[Num], SLOT(quit())); connect(pCaptureThread[Num], SIGNAL(finished()), pCaptureThread[Num], SLOT(deleteLater())); - connect(pCaptureThread[Num], SIGNAL(updateStatistics(const QString&,int)), this, SLOT(updateStatisticsHub(const QString&,int))); + if(!g_debug_mode) + connect(pCaptureThread[Num], SIGNAL(updateStatistics(const QString&,int)), this, SLOT(updateStatisticsHub(const QString&,int))); pThread[Num]->start(); if (pThread[Num]->isRunning()) @@ -2376,6 +3028,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pBaslerCaptureThread[Num]->p_image_queue = g_image_queue[Num]; pBaslerCaptureThread[Num]->p_result_queue = g_result_queue[Num]; pBaslerCaptureThread[Num]->p_result_wait_queue = g_result_wait_queue[Num]; + pBaslerCaptureThread[Num]->p_double_queue = g_double_queue[Num]; pBaslerCaptureThread[Num]->p_shooted_queue = g_shooted_queue[Num]; pBaslerCaptureThread[Num]->p_debug_queue = g_debug_queue[Num]; @@ -2388,7 +3041,8 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) //connect(pBaslerCaptureThread[Num], SIGNAL(error(QString)), this, SLOT(errorString(QString))); connect(pBaslerCaptureThread[Num], SIGNAL(finished()), pThread[Num], SLOT(quit())); connect(pBaslerCaptureThread[Num], SIGNAL(finished()), pBaslerCaptureThread[Num], SLOT(deleteLater())); - connect(pBaslerCaptureThread[Num], SIGNAL(updateStatistics(const QString&, int)), this, SLOT(updateStatisticsHub(const QString&, int))); + if(!g_debug_mode) + connect(pBaslerCaptureThread[Num], SIGNAL(updateStatistics(const QString&, int)), this, SLOT(updateStatisticsHub(const QString&, int))); pThread[Num]->start(); if (pThread[Num]->isRunning()) @@ -2439,8 +3093,8 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) nRet = MV_CC_SetEnumValue(camhandle, "LineSelector", 1); //0:Line0 1:Line1 2:Line2 if (nRet) { std::cout << "can not set LineSelector" << std::endl; nnRet = nRet;} - //nRet = MV_CC_SetEnumValue(camhandle, "LineMode", 8); //0:Input 1:Output 2:Trigger 8:Strobe - //if (nRet) { std::cout << "can not set LineMode" << std::endl; nnRet = nRet; } + nRet = MV_CC_SetEnumValue(camhandle, "LineMode", 8); //0:Input 1:Output 2:Trigger 8:Strobe + if (nRet) { std::cout << "can not set LineMode" << std::endl; nnRet = nRet; } //0:ExposureStartActive 5:SoftTriggerActive 6:HardTriggerActive nRet = MV_CC_SetEnumValue(camhandle, "LineSource", 5); @@ -2479,7 +3133,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) nRet = MV_CC_SetEnumValue(camhandle, "BinningVertical", 2);//binning if (nRet) { std::cout << "can not set BinningVertical" << std::endl; nnRet = nRet; } - nRet = MV_CC_SetEnumValue(camhandle, "ExposureAuto", 0);//0:Off 1:Once 2:Continuous + nRet = MV_CC_SetEnumValue(camhandle, "ExposureAuto", FALSE); if (nRet) { std::cout << "can not set ExposureAuto" << std::endl; nnRet = nRet; } nRet = MV_CC_SetEnumValue(camhandle, "ExposureMode", 0);//timed @@ -2488,7 +3142,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) nRet = MV_CC_SetFloatValue(camhandle, "ExposureTime", g_sys_conf.expo[Num]); if (nRet) { std::cout << "can not set ExposureTime" << std::endl; nnRet = nRet; } - nRet = MV_CC_SetEnumValue(camhandle, "GainAuto", 0);//0:Off 1:Once 2:Continuous + nRet = MV_CC_SetEnumValue(camhandle, "GainAuto", FALSE); if (nRet) { std::cout << "can not set GainAuto" << std::endl; nnRet = nRet; } nRet = MV_CC_SetFloatValue(camhandle, "Gain", g_sys_conf.gain[Num]); @@ -2500,6 +3154,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pHIKCaptureThread[Num]->p_result_queue = g_result_queue[Num]; pHIKCaptureThread[Num]->p_debug_queue = g_debug_queue[Num]; pHIKCaptureThread[Num]->p_result_wait_queue = g_result_wait_queue[Num]; + pHIKCaptureThread[Num]->p_double_queue = g_double_queue[Num]; pHIKCaptureThread[Num]->p_shooted_queue = g_shooted_queue[Num]; pThread[Num] = new QThread; @@ -2510,7 +3165,8 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) //connect(pHIKCaptureThread[Num], SIGNAL(error(QString)), this, SLOT(errorString(QString))); connect(pHIKCaptureThread[Num], SIGNAL(finished()), pThread[Num], SLOT(quit())); connect(pHIKCaptureThread[Num], SIGNAL(finished()), pHIKCaptureThread[Num], SLOT(deleteLater())); - connect(pHIKCaptureThread[Num], SIGNAL(updateStatistics(const QString&,int)), this, SLOT(updateStatisticsHub(const QString&,int))); + if (!g_debug_mode) + connect(pHIKCaptureThread[Num], SIGNAL(updateStatistics(const QString&,int)), this, SLOT(updateStatisticsHub(const QString&,int))); pThread[Num]->start(); if (pThread[Num]->isRunning()) { @@ -2536,7 +3192,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pCaptureThread[Num]->terminate(); if (pThread[Num]) { - pThread[Num]->terminate(); + pThread[Num]->quit(); pThread[Num]->wait(); } } @@ -2565,16 +3221,16 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pBaslerCaptureThread[Num]->terminate(); if (pThread[Num]) { - pThread[Num]->terminate(); + pThread[Num]->quit(); pThread[Num]->wait(); } } Pylon::CBaslerUniversalInstantCamera* baslerCamera = BaslerCamHandle[Num]; - if(baslerCamera && baslerCamera->IsOpen()) + /*if(baslerCamera && baslerCamera->IsOpen()) { baslerCamera->Close(); baslerCamera->GrabCameraEvents = false; - } + }*/ DeleteElement(pBaslerCaptureThread[Num]); DeleteElement(pThread[Num]); SingleCamInfo[Num].IsOpen = false; @@ -2595,7 +3251,7 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) pHIKCaptureThread[Num]->terminate(); if (pThread[Num]) { - pThread[Num]->terminate(); + pThread[Num]->quit(); pThread[Num]->wait(); } } @@ -2606,8 +3262,6 @@ bool Cigarette::ControlCamOpenOrClose(int Num,bool OpenOrClose) } DeleteElement(pHIKCaptureThread[Num]); DeleteElement(pThread[Num]); - DeleteElement(pFI[Num]); - DeleteElement(pAC[Num]); SingleCamInfo[Num].IsOpen = false; return true; } @@ -2624,6 +3278,7 @@ void Cigarette::EnumerateCameras(SingleCamInfoStruct *TempSingleCamInfoStruct,bo filtered = BaslerCamera::Enumerate(); Pylon::CInstantCameraArray cameras(filtered); Pylon::CTlFactory& tlFactory = Pylon::CTlFactory::GetInstance(); + for (int i = 0; i < min(filtered, NumberOfSupportedCameras); i++) { SingleCamInfoStruct CamInfo; @@ -2640,7 +3295,6 @@ void Cigarette::EnumerateCameras(SingleCamInfoStruct *TempSingleCamInfoStruct,bo baslerCamera->Close(); delete baslerCamera; if(showinfo)std::cout << "Basler user ID = " << UserID << std::endl; - CamInfo.UserID = atoi(UserID.c_str()); CamInfo.CamClass = BaslerClassID; CamInfo.filtered_num = i; @@ -2685,11 +3339,24 @@ void Cigarette::EnumerateCameras(SingleCamInfoStruct *TempSingleCamInfoStruct,bo { void* camhandle; MVCC_STRINGVALUE UserID; + MVCC_STRINGVALUE YSXID; + MVCC_STRINGVALUE YSXID2; + string id; MV_CC_CreateHandle(&camhandle, HIKCamera::stDeviceList.pDeviceInfo[i]); if (!MV_CC_OpenDevice(camhandle)) { MV_CC_GetDeviceUserID(camhandle, &UserID); + MV_CC_GetStringValue(camhandle, "DeviceYSXID", &YSXID); if(showinfo)std::cout << "Hikrobot user ID = " << UserID.chCurValue << std::endl; + id = YSXID.chCurValue; +#ifdef identify_Hik_YSXID + if (id!="YSX9256") + { + QMessageBox::information(NULL, QStringLiteral("ϵͳԼʧ"), QStringLiteral("ƥʧܣͺ"), QMessageBox::Ok); + exit(-1); + } + YSXID = YSXID2;// +#endif MV_CC_CloseDevice(camhandle); } MV_CC_DestroyHandle(camhandle); @@ -2713,7 +3380,7 @@ void Cigarette::EnumerateCameras(SingleCamInfoStruct *TempSingleCamInfoStruct,bo if(showinfo)std::cout << "Camera:" << i << ",vendor = " << manufacture << std::endl; transform(manufacture.begin(), manufacture.end(), manufacture.begin(), ::toupper); SingleCamInfoStruct CamInfo; - if (!manufacture.compare(0, 7, "BALLUFF")) + if ((!manufacture.compare(0, 7, "BALLUFF"))||(!manufacture.compare(0, 13, "MATRIX VISION"))) { mvIMPACT::acquire::GenICam::DeviceControl dc(pDev); std::string UserID = dc.deviceUserID.read(); @@ -2776,36 +3443,37 @@ void Cigarette::EnableDebugMode() else if(SingleCamInfo[i].CamClass == HIKClassID) { int nRet = MV_OK; - MV_CC_SetFrameRate(HIKCamHandle[i], 10.0); nRet = MV_CC_SetBoolValue(HIKCamHandle[i], "AcquisitionFrameRateEnable",true); - if (nRet) { std::cout << "can not set AcquisitionFrameRateEnable" << std::endl;} + if (nRet) { std::cout << "can not set Hik's AcquisitionFrameRateEnable" << std::endl;} nRet = MV_CC_SetEnumValue(HIKCamHandle[i], "TriggerMode", MV_TRIGGER_MODE_OFF); - if (nRet) { std::cout << "can not set TriggerMode" << std::endl;} + if (nRet) { std::cout << "can not set Hik's TriggerMode" << std::endl;} } else if(SingleCamInfo[i].CamClass == BaslerClassID) { bool nRet = false; + + nRet = BaslerCamHandle[i]->AcquisitionFrameRate.TrySetValue(10); + if (!nRet) { std::cout << "can not set Basler's AcquisitionFrameRate" << std::endl; } + nRet = BaslerCamHandle[i]->AcquisitionFrameRateEnable.TrySetValue(true); + if (!nRet) { std::cout << "can not set Basler's AcquisitionFrameRateEnable" << std::endl; } + nRet = BaslerCamHandle[i]->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameStart); + if (!nRet) { std::cout << "can not set Basler's TriggerSelector_FrameStart" << std::endl; } + nRet = BaslerCamHandle[i]->TriggerMode.TrySetValue(Basler_UniversalCameraParams::TriggerMode_Off); + if (!nRet) { std::cout << "can not set Basler's TriggerMode_Off" << std::endl; } #ifndef USB_BASLER_NEW_FW - BaslerCamHandle[i]->TriggerSelector.SetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart); - if (!nRet) { std::cout << "can not set TriggerSelector_FrameBurstStart" << std::endl;} - BaslerCamHandle[i]->TriggerMode.SetValue(Basler_UniversalCameraParams::TriggerMode_Off); - if (!nRet) { std::cout << "can not set TriggerMode_Off" << std::endl;} + nRet = BaslerCamHandle[i]->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart); + if (!nRet) { std::cout << "can not set Basler's TriggerSelector_FrameBurstStart" << std::endl;} + nRet = BaslerCamHandle[i]->TriggerMode.TrySetValue(Basler_UniversalCameraParams::TriggerMode_Off); + if (!nRet) { std::cout << "can not set Basler's TriggerMode_Off" << std::endl;} #endif - BaslerCamHandle[i]->TriggerSelector.SetValue(Basler_UniversalCameraParams::TriggerSelector_FrameStart); - if (!nRet) { std::cout << "can not set TriggerSelector_FrameStart" << std::endl;} - BaslerCamHandle[i]->TriggerMode.SetValue(Basler_UniversalCameraParams::TriggerMode_Off); - if (!nRet) { std::cout << "can not set TriggerMode_Off" << std::endl;} - BaslerCamHandle[i]->AcquisitionFrameRateEnable.SetValue(true); - if (!nRet) { std::cout << "can not set AcquisitionFrameRateEnable" << std::endl;} - BaslerCamHandle[i]->AcquisitionFrameRate.SetValue(10); - if (!nRet) { std::cout << "can not set AcquisitionFrameRate" << std::endl;} } } } g_debug_mode = true; } + void Cigarette::DisableDebugMode() { for(int i=0;iTriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart); - if (!nRet) { std::cout << "can not set TriggerSelector_FrameBurstStart" << std::endl;} + if (!nRet) { std::cout << "can not set Basler's TriggerSelector_FrameBurstStart" << std::endl;} nRet = BaslerCamHandle[i]->TriggerMode.TrySetValue(Basler_UniversalCameraParams::TriggerMode_On); - if (!nRet) { std::cout << "can not set TriggerMode_On" << std::endl;} + if (!nRet) { std::cout << "can not set Basler's TriggerMode_On" << std::endl; } #endif nRet = BaslerCamHandle[i]->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameStart); - if (!nRet) { std::cout << "can not set TriggerSelector_FrameStart" << std::endl;} + if (!nRet) { std::cout << "can not set Basler's TriggerSelector_FrameStart" << std::endl;} nRet = BaslerCamHandle[i]->TriggerMode.TrySetValue(Basler_UniversalCameraParams::TriggerMode_On); - if (!nRet) { std::cout << "can not set TriggerMode_On" << std::endl;} + if (!nRet) { std::cout << "can not set Basler's TriggerMode_On" << std::endl;} nRet = BaslerCamHandle[i]->AcquisitionFrameRateEnable.TrySetValue(false); - if (!nRet) { std::cout << "can not set AcquisitionFrameRateEnable" << std::endl;} + if (!nRet) { std::cout << "can not set Basler's AcquisitionFrameRateEnable" << std::endl;} } } } @@ -2937,6 +3605,50 @@ void Cigarette::record_output_statistic(qint64 quantity, int shift) Kick[3] = dest16[0] + (dest16[1] << 16); } } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + if (g_modbus_conf.kick5 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick5, 2, dest16); + if (ret == 2) + { + Kick[4] = dest16[0] + (dest16[1] << 16); + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + if (g_modbus_conf.kick6 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick6, 2, dest16); + if (ret == 2) + { + Kick[5] = dest16[0] + (dest16[1] << 16); + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + if (g_modbus_conf.kick7 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick7, 2, dest16); + if (ret == 2) + { + Kick[6] = dest16[0] + (dest16[1] << 16); + } + } +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + if (g_modbus_conf.kick8 > 0) + { + uint16_t dest16[2]; + int ret = m_PLCDevice->read_short_from_plc(g_modbus_conf.kick8, 2, dest16); + if (ret == 2) + { + Kick[7] = dest16[0] + (dest16[1] << 16); + } + } #endif } } @@ -2947,7 +3659,7 @@ void Cigarette::record_output_statistic(qint64 quantity, int shift) std::fstream cfg_file; char buf[256]; memset(buf, 0, 256); - sprintf(buf, "../conf/camera%d_statistic.txt", i); + sprintf(buf, STATISTIC_FILE, i); cfg_file.open(buf, std::ios::app); if (cfg_file.good()) { @@ -2961,7 +3673,7 @@ void Cigarette::record_output_statistic(qint64 quantity, int shift) cfg_file.write(buf, strlen(buf)); } memset(buf, 0, 256); - sprintf(buf, "%c ܲ:%010I64d ޳:%02.5f%% ϸ:%2.5f%% \n", (shift == 0) ? 'A' : ((shift == 1) ? 'B' : 'C'), quantity, (Kick[i] / quantity) * 100, (1.0 - (Kick[i] / quantity)) * 100); + sprintf(buf, "%c ܲ:%010I64d ޳:%02.5f%% ϸ:%02.5f%% \n", (shift == 0) ? 'A' : ((shift == 1) ? 'B' : 'C'), quantity, (Kick[i] / quantity) * 100, (1.0 - (Kick[i] / quantity)) * 100); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); @@ -2981,20 +3693,18 @@ void Cigarette::recMsgFromUdp(QString data) { if (!g_op_mode) { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); + sThread.sendData("OpNoLogin", g_sys_conf.FeedbackPort); + return; } } - else - { - if (m_PLCDevice->g_plc_ok) { - if (g_debug_mode) - { - sThread.sendData(QString::number(STILL_DEBUG), g_sys_conf.FeedbackPort); - } - else - { - on_btn_start_released(); - } + if (m_PLCDevice->g_plc_ok) { + if (g_debug_mode) + { + sThread.sendData("StillDebug", g_sys_conf.FeedbackPort); + } + else + { + on_btn_start_released(); } } } @@ -3004,31 +3714,55 @@ void Cigarette::recMsgFromUdp(QString data) { if (!g_op_mode) { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); + sThread.sendData("OpNoLogin", g_sys_conf.FeedbackPort); + return; } } - else - { - on_btn_pause_released(); - } + on_btn_pause_released(); + } + + else if (data == "0") + { + OnRotateReleasedHub(0); + } + else if (data == "1") + { + OnRotateReleasedHub(1); + } + else if (data == "2") + { + OnRotateReleasedHub(2); + } + else if (data == "3") + { + OnRotateReleasedHub(3); + } + else if (data == "4") + { + OnRotateReleasedHub(4); + } + else if (data == "5") + { + OnRotateReleasedHub(5); + } + else if (data == "6") + { + OnRotateReleasedHub(6); + } + else if (data == "7") + { + OnRotateReleasedHub(7); } + + else if (data == "LOCK") { if (!g_admin_mode) { - if (!g_op_mode) - { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); - } - } - else - { - on_btn_lock_released(); + sThread.sendData("AdminNoLogin", g_sys_conf.FeedbackPort); + return; } - } - else if (data == "SETTING") - { - // on_btn_setup_released(); + on_btn_lock_released(); } else if (data == "CHANGESHIFT") { @@ -3036,226 +3770,290 @@ void Cigarette::recMsgFromUdp(QString data) { if (!g_op_mode) { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); + sThread.sendData("OpNoLogin", g_sys_conf.FeedbackPort); + return; } } + if (g_working) + { + sThread.sendData("CheckWorkState", g_sys_conf.FeedbackPort); + } else { - if (g_working) - { - sThread.sendData(QString::number(CHECK_WORKSTATE), g_sys_conf.FeedbackPort); - } - else - { - on_pushButton_clear_released(); - } + on_pushButton_clear_released(); } } - else if (data == "CLEANIMAGE") + else if (data == "CLEARNIMAGE") { - on_pushButton_Clear_Pic_released(); + emit sengMsgToClog("Clean images."); + CleanThreadStart(); } else if (data == "DEBUGEN") { if (!g_admin_mode) { - sThread.sendData(QString::number(NEED_LOGIN), g_sys_conf.FeedbackPort); - sThread.sendData(QString::number(DEBUG_EN_FAIL), g_sys_conf.FeedbackPort); + sThread.sendData("Need_Login", g_sys_conf.FeedbackPort); + sThread.sendData("DebugEnFail", g_sys_conf.FeedbackPort); + return; } - else + if (g_working) { - if (g_working) + if (g_debug_mode) { - if (g_debug_mode) - { - sThread.sendData(QString::number(DEBUG_EN_STILL_WORK), g_sys_conf.FeedbackPort); - } - else - { - sThread.sendData(QString::number(DEBUG_DIS_STILL_WORK), g_sys_conf.FeedbackPort); - } + sThread.sendData("DebugEnStillWork", g_sys_conf.FeedbackPort); } else { - on_checkBox_debug_clicked(true); + sThread.sendData("DebugDisStillWork", g_sys_conf.FeedbackPort); } } + else + { + on_checkBox_debug_clicked(true); + } } else if (data == "DEBUGDIS") { if (!g_admin_mode) { - sThread.sendData(QString::number(NEED_LOGIN), g_sys_conf.FeedbackPort); - sThread.sendData(QString::number(DEBUG_DIS_FAIL), g_sys_conf.FeedbackPort); - } - else - { - on_checkBox_debug_clicked(false); + sThread.sendData("Need_Login", g_sys_conf.FeedbackPort); + sThread.sendData("DebugDisFail", g_sys_conf.FeedbackPort); + return; } + on_checkBox_debug_clicked(false); } else if (data == "KICK") { if (!g_admin_mode) { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); - sThread.sendData(QString::number(KICK_FAIL), g_sys_conf.FeedbackPort); - } - else - { - on_checkBox_unkick_clicked(false); + if (!g_op_mode) + { + sThread.sendData("OpNoLogin", g_sys_conf.FeedbackPort); + sThread.sendData("KickFail", g_sys_conf.FeedbackPort); + return; + } } + on_checkBox_unkick_clicked(false); } else if (data == "UNKICK") { if (!g_admin_mode) { - sThread.sendData(QString::number(NO_LOGIN), g_sys_conf.FeedbackPort); - sThread.sendData(QString::number(UNKICK_FAIL), g_sys_conf.FeedbackPort); + if (!g_op_mode) + { + sThread.sendData("OpNoLogin", g_sys_conf.FeedbackPort); + sThread.sendData("UnKickFail", g_sys_conf.FeedbackPort); + return; + } + } + if (m_PLCDevice->g_plc_ok) + { + on_checkBox_unkick_clicked(true); + ui.checkBox_unkick->setChecked(true); } else { - if (m_PLCDevice->g_plc_ok) - { - on_checkBox_unkick_clicked(true); - ui.checkBox_unkick->setChecked(true); - } - else - { - sThread.sendData(QString::number(UNKICK_FAIL), g_sys_conf.FeedbackPort); - } + sThread.sendData("UnKickFail", g_sys_conf.FeedbackPort); } } else if (data == "GETCONF") { - std::fstream cfg_file; - cfg_file.open(CONFIGURE_FILE); - if (!cfg_file.is_open()) + sThread.sendFile(CONFIGURE_FILE,g_sys_conf.FilePort); + for(int i=0;iisChecked()) { - msg += QString::number(UNKICK_OK); + msg += "UnKickOk"; } else { - msg += QString::number(KICK_OK); + msg += "KickOk"; } sThread.sendData(msg, g_sys_conf.FeedbackPort); } - else if (dataList[0] == "GETSETTING") - { - int camcnt = dataList[1].toInt(); - QString str; - str = QString::number(GETSETTING) + '_' +\ - QString::number(g_sys_conf.auto_open) + '_' +\ - QString::number(g_sys_conf.auto_work) + '_' +\ - QString::number(g_sys_conf.save) + '_'; - for(int i = 0;i #include #include - - #include +#include class QTimer; #define OPEN true @@ -68,11 +67,16 @@ public: void read_plc_items(); bool save_rotate_message(); bool read_rotate_message(); + bool save_alarm_message(std::vector &AlarmInfo_vect); void init_plc_value(); void CreatWorkThread(int classid,int Num,Cigarette* classptr); void InitPtrMat(); bool ControlCamOpenOrClose(int Num,bool OpenOrClose); void EnumerateCameras(SingleCamInfoStruct *TempSingleCamInfo,bool showinfo,SysConf &conf); + void start_work(); + void pause_work(); + void CleanThreadStart(); + void Exit(); private slots : void on_btn_start_released(); void on_btn_pause_released(); @@ -83,10 +87,7 @@ private slots : void on_toolButton_plc_released(); void on_toolButton_alarm_released(); void on_pushButton_clear_released(); - void on_pushButton_Clear_Pic_released(); - void enable_shift(); - void output_result(int Num,bool ok_ng); void OnNotifyHub(int Num, int Cnt, cv::Mat m); void OnDisplayTimeCostHub(int Num, int ms); void OnDisplayCheckNumberHub(int Num, long no); @@ -98,25 +99,29 @@ private slots : void OnToolButtonCamReleasedHub(int Num); void OpenCamTimeoutHub(int Num); void OnDBClickHub(int Num_Cnt); + void DrawRect_init(int Num_Cnt); + void OnTPClickHub(int Num_Cnt); void OnDBClickNGHub(int Num); void ReconnectCamHub(int Num); - - void handleTimeout(); //ʱÿһ - void op_timeout(); //Աʣʱ - void admin_timeout(); //ԱȨʣʱ - void FindFileForDelete(const QString& path); - void autoCleanImage(); + void OnMouse(QMouseEvent* event); + void OnKey(QKeyEvent* event); + void handleTimeout(); //定时任务,每秒运行一次 + void op_timeout(); //操作员剩余时间 + void admin_timeout(); //管理员权限剩余时间 void EnableDebugMode(); void DisableDebugMode(); - void OnCancelAlarm(); //˫ - void on_pushButton_reset_released();//λ//ǰû + void OnCancelAlarm(); //双击消警 + void on_pushButton_reset_released();//复位 void OnOp(); void OnExit(); void OnRestart(); - void OnAdmin(); +#ifdef __DEBUG + void TestImg(); + void TestImgs(); +#endif private: Ui::CigaretteClass ui; DialogSetupPasswd *dialog_setup_passwd; @@ -125,7 +130,7 @@ private: PlcSetup * dialog_plc_setup; std::vector m_plc_items; public: - QTimer *m_pTimer_Cam_mat[NumberOfSupportedCameras]; //ʱ + QTimer *m_pTimer_Cam_mat[NumberOfSupportedCameras]; //相机重启定时器 QLabel *label_cap_speed_mat[NumberOfSupportedCameras]; QLabel *cam_status_mat[NumberOfSupportedCameras]; QLabel *cam_work_mat[NumberOfSupportedCameras]; @@ -140,21 +145,32 @@ public: QToolButton *rotate_mat[NumberOfSupportedCameras]; QLabel *label_ng_mat[NumberOfSupportedCameras]; + struct widget_info + { + UINT32 x; + UINT32 y; + UINT32 width; + UINT32 height; + }; + widget_info display_lable_info[NumberOfSupportedCameras][2]; + widget_info rotate_info[NumberOfSupportedCameras]; + WorkThread work_thread[NumberOfSupportedCameras]; - DebugThread debug_thread[NumberOfSupportedCameras]; SaveThread saveThread; void record_output_statistic(qint64 cur_quantity, int shift); QTimer *m_pTimer; - QTimer *m_delay; //ֹ - QTimer *m_op_delay; //ԱȨʣʱ - QTimer *m_admin_delay; //ԱȨʣʱ - QTimer *clean_pTimer; //ʱ - - QSignalMapper *image_lable_signalMapper0; - QSignalMapper *image_lable_signalMapper1; + QTimer *m_delay; //换班防止连击 + QTimer *m_op_delay; //操作员权限剩余时间 + QTimer *m_admin_delay; //操作员权限剩余时间 + QTimer *clean_pTimer; //定时清理任务 + + QSignalMapper *image_lable_DBsignalMapper0; + QSignalMapper *image_lable_DBsignalMapper1; + QSignalMapper *image_lable_TPsignalMapper0; + QSignalMapper *image_lable_TPsignalMapper1; QSignalMapper *label_ng_signalMapper; QSignalMapper *pTimer_Cam_signalMapper; QSignalMapper *toolButton_cam_signalMapper; @@ -163,15 +179,12 @@ public: int production_number[NumberOfSupportedCameras]; int OpenWithUserID[NumberOfSupportedCameras]; int ok[NumberOfSupportedCameras], ng[NumberOfSupportedCameras]; - cv::Mat g_last_mat[NumberOfSupportedCameras][2]; - bool g_max[NumberOfSupportedCameras][2]; //ͼǷ #ifdef __UDPSend private: threadSend sThread; threadReceive *rThread; #endif public slots: - void CleanThreadStart(); void CleanThreadStartAuto(); void recMsgFromUdp(QString data); //void ClogThreadStart(); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.qrc b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.qrc similarity index 64% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.qrc rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.qrc index 2cbf1240..b0f1e750 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.qrc +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.qrc @@ -1,6 +1,5 @@ - Resources/shanghai-Logo.png Resources/rotate.png Resources/exit.png Resources/setup.png @@ -23,5 +22,18 @@ Resources/lock.png Resources/unlock.png Resources/pause.png + Resources/cam5.png + Resources/cam5_no.png + Resources/cam5_yes.png + Resources/cam6.png + Resources/cam6_no.png + Resources/cam6_yes.png + Resources/cam7.png + Resources/cam7_no.png + Resources/cam7_yes.png + Resources/cam8.png + Resources/cam8_no.png + Resources/cam8_yes.png + Resources/logo.png diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.ui similarity index 57% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.ui index a993eaf9..753d020e 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/cigarette.ui +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/cigarette.ui @@ -17,41 +17,13 @@ background-color: rgb(55, 55, 55); - - - - 439 - 10 - 401 - 51 - - - - - 微软雅黑 - 30 - - - - background-color: rgb(255, 255, 0); - - - 小盒胶点检测系统 - - - Qt::AlignCenter - - - Qt::LinksAccessibleByMouse - - 10 - 70 - 111 - 411 + 80 + 171 + 221 @@ -71,12 +43,17 @@ - 20 - 34 + 10 + 24 72 96 + + + 微软雅黑 + + border-image: url(:/Cigarette/Resources/start.png); @@ -87,17 +64,23 @@ false - + - 20 - 215 + 95 + 24 72 - 91 + 96 + + + 微软雅黑 + + - border-image: url(:/Cigarette/Resources/unlock.png); + border-image: url(:/Cigarette/Resources/pause.png); + @@ -106,18 +89,22 @@ false - + - 20 - 310 + 10 + 120 72 96 + + + 微软雅黑 + + - border-image: url(:/Cigarette/Resources/setup.png); - + border-image: url(:/Cigarette/Resources/unlock.png); @@ -126,17 +113,22 @@ false - + - 20 + 90 120 72 96 + + + 微软雅黑 + + - border-image: url(:/Cigarette/Resources/pause.png); + border-image: url(:/Cigarette/Resources/setup.png); @@ -151,9 +143,9 @@ 10 - 500 - 111 - 241 + 320 + 171 + 421 @@ -170,37 +162,10 @@ 设备区 - - - - 20 - 110 - 71 - 31 - - - - - 微软雅黑 - 18 - 75 - true - - - - background-color: rgb(255, 255, 0); - - - 联机 - - - Qt::AlignCenter - - - 20 + 10 30 71 71 @@ -217,7 +182,7 @@ 95 - 555 + 30 71 71 @@ -233,7 +198,7 @@ 95 - 645 + 120 71 31 @@ -260,7 +225,7 @@ 95 - 680 + 155 71 31 @@ -286,8 +251,8 @@ - 20 - 145 + 10 + 155 71 31 @@ -314,7 +279,7 @@ 10 - 180 + 360 91 21 @@ -338,8 +303,8 @@ 10 - 210 - 71 + 380 + 81 21 @@ -358,19 +323,19 @@ 不剔除 - + 10 - 740 - 71 - 31 + 1560 + 61 + 16 微软雅黑 - 18 + 10 75 true @@ -385,19 +350,67 @@ Qt::AlignCenter - + + + + 20 + 1490 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/cam4_no.png); + + + + + + + + + 100 + 1310 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/cam6_no.png); + + + + + + + + + 100 + 1490 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/cam8_no.png); + + + + + + 90 - 705 - 71 - 31 + 1540 + 61 + 16 微软雅黑 - 18 + 10 75 true @@ -412,35 +425,19 @@ Qt::AlignCenter - - - - 10 - 615 - 72 - 72 - - - - border-image: url(:/Cigarette/Resources/cam3_no.png); - - - - - - + 90 - 740 - 71 - 31 + 1560 + 61 + 16 微软雅黑 - 18 + 10 75 true @@ -455,35 +452,67 @@ Qt::AlignCenter - + - 90 - 615 - 72 - 72 + 20 + 1400 + 41 + 41 - border-image: url(:/Cigarette/Resources/cam4_no.png); + border-image: url(:/Cigarette/Resources/cam3_no.png); - + - 10 - 705 - 71 - 31 + 100 + 1220 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/cam5_no.png); + + + + + + + + + 100 + 1400 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/cam7_no.png); + + + + + + + + + 90 + 1270 + 61 + 16 微软雅黑 - 18 + 10 75 true @@ -498,206 +527,301 @@ Qt::AlignCenter - - - - - 10 - 745 - 1264 - 53 - - - - - 微软雅黑 - 12 - 75 - true - - - - - - + - 929 - 10 + 10 + 1450 61 - 31 + 16 微软雅黑 - 12 + 10 75 true - color:white + background-color: rgb(255, 255, 0); - 无报警 + 联机 Qt::AlignCenter - + - 370 - 10 - 41 - 31 + 90 + 1450 + 61 + 16 微软雅黑 - 12 + 10 75 true - color:white + background-color: rgb(255, 255, 0); - 当班 + 联机 + + + Qt::AlignCenter - + - 700 - 10 - 81 - 31 + 90 + 1360 + 61 + 16 微软雅黑 - 12 + 10 75 true - color:white + background-color: rgb(255, 255, 0); - PLC正常 + 联机 Qt::AlignCenter - + - 420 - 5 - 151 - 41 + 10 + 1540 + 61 + 16 + + + 微软雅黑 + 10 + 75 + true + + - color:white + background-color: rgb(255, 255, 0); - - 8 + + 联机 + + + Qt::AlignCenter - + - 870 - 5 - 41 - 41 + 10 + 1470 + 61 + 16 + + + 微软雅黑 + 10 + 75 + true + + - border-image: url(:/Cigarette/Resources/alarm.png); + background-color: rgb(255, 255, 0); - + 工作 + + + Qt::AlignCenter - + - 640 - 5 - 51 - 41 + 90 + 1290 + 61 + 16 + + + 微软雅黑 + 10 + 75 + true + + - border-image: url(:/Cigarette/Resources/plc.png); + background-color: rgb(255, 255, 0); - + 工作 + + + Qt::AlignCenter - + - 580 - 5 - 51 - 41 + 90 + 1380 + 61 + 16 微软雅黑 - 12 + 10 + 75 + true - color:white + background-color: rgb(255, 255, 0); - 换班 + 工作 + + + Qt::AlignCenter - + - 1000 - 16 - 250 - 20 + 90 + 1470 + 61 + 16 微软雅黑 - 14 + 10 + 75 + true - color:white + background-color: rgb(255, 255, 0); - 运行1年10月25天9时15分 + 工作 Qt::AlignCenter - + + + + 10 + 120 + 71 + 31 + + + + + 微软雅黑 + 18 + 75 + true + + + + background-color: rgb(255, 255, 0); + + + 联机 + + + Qt::AlignCenter + + + 10 + 200 + 151 + 151 + + + + + 微软雅黑 + 30 + + + + background-color: rgb(255, 255, 0); + + + 运行中 + + + Qt::AlignCenter + + + + + + + 10 + 745 + 1264 + 53 + + + + + 微软雅黑 + 12 + 75 + true + + + + + + + + + 919 10 - 81 + 71 31 @@ -713,18 +837,18 @@ color:white - 登陆用户: + 无报警 Qt::AlignCenter - + - 100 + 410 10 - 71 + 41 31 @@ -732,23 +856,23 @@ 微软雅黑 12 - 50 - false + 75 + true color:white - 操作员 + 当班 - + - 170 + 740 10 - 41 + 81 31 @@ -764,15 +888,18 @@ color:white - 上班 + PLC正常 + + + Qt::AlignCenter - + - 210 + 450 5 - 151 + 171 41 @@ -783,10 +910,42 @@ 8 - + - 800 + 880 + 5 + 41 + 41 + + + + border-image: url(:/Cigarette/Resources/alarm.png); + + + + + + + + + 690 + 5 + 51 + 41 + + + + border-image: url(:/Cigarette/Resources/plc.png); + + + + + + + + + 630 5 51 41 @@ -802,145 +961,261 @@ color:white - 复位 + 换班 + + + + + + 1000 + 16 + 250 + 20 + + + + + 微软雅黑 + 12 + 75 + true + + + + color:white + + + 运行1年10月25天9时15分 + + + Qt::AlignCenter + + + + + + 10 + 10 + 101 + 31 + + + + + 微软雅黑 + 12 + 75 + true + + + + color:white + + + 登陆用户: + + + Qt::AlignCenter + + + + + + 110 + 10 + 71 + 31 + + + + + 微软雅黑 + 12 + 50 + false + + + + color:white + + + 操作员 + + + + + + 190 + 10 + 41 + 31 + + + + + 微软雅黑 + 12 + 75 + true + + + + color:white + + + 上班 + + + + + + 230 + 5 + 171 + 41 + + + + color:white + + + 8 + + + + + + 825 + 5 + 51 + 41 + + + + + 微软雅黑 + 12 + + + + color:white + + + 复位 - + - 490 - 1285 - 91 - 31 + 484 + 65 + 0 + 0 - - - 微软雅黑 - 10 - 75 - true - + + Qt::ClickFocus - - color:white + + false - 2#剔除次数 + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + - + - 500 - 1390 - 81 - 31 + 1010 + 20 + 191 + 21 微软雅黑 - 10 - 75 - true + 12 + 50 + false color:white - 2#NG次数 - - - - - - 600 - 1340 - 131 - 41 - - - - color:white - - - 10 - - - - - - 600 - 1285 - 131 - 41 - - - - color:white - - - 10 + Tel:87907256(0532) - + - 490 - 1235 - 91 - 31 + 1160 + 20 + 121 + 21 微软雅黑 - 10 - 75 - true + 12 + 50 + false color:white - 2#检测个数 + 青岛维克 - + - 500 - 1340 - 81 + 970 + 40 + 211 31 微软雅黑 - 10 - 75 - true + 12 + 50 + false color:white - 2#OK次数 + 2020-10-10 13:15:39 + + + Qt::AlignCenter - + - 200 - 1190 - 141 - 241 + 10 + 1880 + 160 + 110 @@ -950,40 +1225,43 @@ - + - 600 - 1230 - 131 - 41 + 170 + 1880 + 160 + 110 - color:white + background-color: rgb(0, 0, 0); - - 10 + + - 450 - 1200 - 20 - 20 + 484 + 230 + 0 + 0 - - border-image: url(:/Cigarette/Resources/rotate.png) + + Qt::ClickFocus + + + false ... - - Resources/rotate.pngResources/rotate.png + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png @@ -992,13 +1270,29 @@ - + - 140 - 80 - 861 - 651 + 610 + 1735 + 90 + 20 + + + + color:white + + + 10 + + + + + + 490 + 1880 + 160 + 110 @@ -1008,13 +1302,13 @@ - + - 600 - 1390 - 131 - 41 + 610 + 1765 + 90 + 20 @@ -1024,13 +1318,13 @@ 10 - + - 600 - 850 - 131 - 41 + 610 + 1705 + 90 + 20 @@ -1040,13 +1334,42 @@ 10 - + - 1060 - 900 - 71 - 31 + 484 + 565 + 0 + 0 + + + + Qt::ClickFocus + + + false + + + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + + + + + + + 515 + 1705 + 90 + 20 @@ -1061,32 +1384,40 @@ color:white - 4#OK次数 + 4#检测个数 - + - 190 - 840 - 151 - 261 + 515 + 1735 + 90 + 20 + + + 微软雅黑 + 10 + 75 + true + + - background-color: rgb(0, 0, 0); + color:white - + 4#OK次数 - + - 520 - 900 - 71 - 31 + 515 + 1795 + 90 + 20 @@ -1101,56 +1432,204 @@ color:white - 3#OK次数 + 4#剔除次数 - + - 732 - 840 - 161 - 261 + 185 + 1815 + 511 + 51 + + + 微软雅黑 + 10 + + - background-color: rgb(0, 0, 0); + color:white - - + + 4#相机分析结果 + + + + 10 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 采集速度: + + + + + + 80 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 220 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 150 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 胶点个数: + + + + + + 290 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 识别时间: + + + + + + 360 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 430 + 20 + 60 + 25 + + + + + SimSun + 18 + 75 + true + + + + background-color: rgb(0, 255, 0); + + + OK + + + Qt::AlignCenter + + - + - 520 - 1000 - 71 - 31 + 185 + 1705 + 320 + 110 - - - 微软雅黑 - 10 - 75 - true - - - color:white + background-color: rgb(0, 0, 0); - 3#剔除次数 + - 1140 - 1000 - 131 - 41 + 610 + 1795 + 90 + 20 @@ -1163,10 +1642,10 @@ - 1060 - 950 - 71 - 31 + 515 + 1765 + 90 + 20 @@ -1184,85 +1663,13 @@ 4#NG次数 - + - 1060 - 1000 - 71 - 31 - - - - - 微软雅黑 - 10 - 75 - true - - - - color:white - - - 4#剔除次数 - - - - - - 600 - 1000 - 131 - 41 - - - - color:white - - - 10 - - - - - - 490 - 850 - 20 - 20 - - - - Qt::ClickFocus - - - false - - - border-image: url(:/Cigarette/Resources/rotate.png) - - - ... - - - - Resources/rotate.pngResources/rotate.png - - - - 40 - 40 - - - - - - - 600 - 900 - 131 - 41 + 610 + 1600 + 90 + 20 @@ -1272,63 +1679,15 @@ 10 - + - 1030 - 850 - 20 + 515 + 1630 + 90 20 - - Qt::ClickFocus - - - false - - - border-image: url(:/Cigarette/Resources/rotate.png) - - - ... - - - - Resources/rotate.pngResources/rotate.png - - - - 40 - 40 - - - - - - - 600 - 950 - 131 - 41 - - - - color:white - - - 10 - - - - - - 520 - 950 - 71 - 31 - - 微软雅黑 @@ -1341,32 +1700,16 @@ color:white - 3#NG次数 - - - - - - 1140 - 950 - 131 - 41 - - - - color:white - - - 10 + 3#剔除次数 - + - 1060 - 855 - 71 - 31 + 515 + 1540 + 90 + 20 @@ -1381,16 +1724,16 @@ color:white - 4#检测个数 + 3#检测个数 - + - 1140 - 850 - 131 - 41 + 610 + 1630 + 90 + 20 @@ -1400,93 +1743,82 @@ 10 - + - 1140 - 900 - 131 - 41 + 484 + 400 + 0 + 0 - - color:white - - - 10 + + Qt::ClickFocus - - - - - 520 - 855 - 71 - 31 - + + false - - - 微软雅黑 - 10 - 75 - true - + + ... - - color:white + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png - - 3#检测个数 + + + 40 + 40 + - + - 732 - 1100 - 541 - 61 + 185 + 1650 + 510 + 50 微软雅黑 - 14 + 10 color:white - 4#相机分析结果 + 3#相机分析结果 - + 10 - 30 - 71 - 21 + 20 + 70 + 20 微软雅黑 - 11 + 10 采集速度: - + 80 - 30 - 71 - 21 + 20 + 50 + 20 @@ -1502,76 +1834,71 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 450 + 220 20 - 81 - 31 + 50 + 20 - SimSun - 18 - 75 - true + 微软雅黑 + 11 - - background-color: rgb(0, 255, 0); - - OK + - Qt::AlignCenter + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 300 - 30 - 71 - 21 + 150 + 20 + 70 + 20 微软雅黑 - 11 + 10 - 识别时间: + 胶点个数: - + - 160 - 30 - 71 - 21 + 290 + 20 + 70 + 20 微软雅黑 - 11 + 10 - 胶点个数: + 识别时间: - + - 370 - 30 + 360 + 20 50 20 @@ -1589,299 +1916,937 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 230 - 30 + 430 + 20 60 - 21 + 25 - 微软雅黑 - 11 + SimSun + 18 + 75 + true - - + + background-color: rgb(0, 255, 0); + + + OK - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Qt::AlignCenter - label_40 - label_cap_speed_4 - label_27 - label_28 - label_timecost_4 - label_jd_no_4 - label_reslut_4 - + - 190 - 1100 - 540 - 61 + 515 + 1600 + 90 + 20 微软雅黑 - 14 + 10 + 75 + true color:white - - 3#相机分析结果 + + 3#NG次数 - - - - 10 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 采集速度: - - - - - - 80 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 230 - 30 - 60 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 160 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 胶点个数: - - - - - - 300 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 识别时间: - - - - - - 370 - 30 - 50 - 20 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 450 - 20 - 81 - 31 - - - - - SimSun - 18 - 75 - true - - - - background-color: rgb(0, 255, 0); - - - OK - - - Qt::AlignCenter - - - + - 1020 - 80 - 251 - 651 + 185 + 1540 + 320 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 515 + 1570 + 90 + 20 微软雅黑 - 14 + 10 + 75 + true color:white - - 1#相机分析结果 + + 3#OK次数 - - - - 20 - 330 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 采集速度: - - - - - - 110 - 330 - 81 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 110 - 380 - 81 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 20 - 380 - 71 - 21 + + + + + 610 + 1570 + 90 + 20 + + + + color:white + + + 10 + + + + + + 610 + 1540 + 90 + 20 + + + + color:white + + + 10 + + + + + + 330 + 1880 + 160 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1175 + 1360 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1175 + 1255 + 90 + 20 + + + + color:white + + + 10 + + + + + + 750 + 1360 + 320 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1080 + 1450 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 6#剔除次数 + + + + + + 1080 + 1195 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 5#检测个数 + + + + + + 1080 + 1705 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 8#检测个数 + + + + + + 1034 + 65 + 0 + 0 + + + + Qt::ClickFocus + + + false + + + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + + + + + + + 1080 + 1795 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 8#剔除次数 + + + + + + 1080 + 1540 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 7#检测个数 + + + + + + 1080 + 1420 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 6#NG次数 + + + + + + 1034 + 230 + 0 + 0 + + + + Qt::ClickFocus + + + false + + + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + + + + + + + 1080 + 1255 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 5#NG次数 + + + + + + 1175 + 1600 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1080 + 1570 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 7#OK次数 + + + + + + 970 + 1880 + 160 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 750 + 1475 + 510 + 50 + + + + + 微软雅黑 + 10 + + + + color:white + + + 6#相机分析结果 + + + + + 10 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 采集速度: + + + + + + 80 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 220 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 150 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 胶点个数: + + + + + + 290 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 识别时间: + + + + + + 360 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 430 + 20 + 60 + 25 + + + + + SimSun + 18 + 75 + true + + + + background-color: rgb(0, 255, 0); + + + OK + + + Qt::AlignCenter + + + + + + + 1175 + 1420 + 90 + 20 + + + + color:white + + + 10 + + + + + + 750 + 1705 + 320 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1175 + 1705 + 90 + 20 + + + + color:white + + + 10 + + + + + + 750 + 1815 + 511 + 51 + + + + + 微软雅黑 + 10 + + + + color:white + + + 8#相机分析结果 + + + + + 10 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 采集速度: + + + + + + 80 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 220 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 150 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 胶点个数: + + + + + + 290 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 识别时间: + + + + + + 360 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 430 + 20 + 60 + 25 + + + + + SimSun + 18 + 75 + true + + + + background-color: rgb(0, 255, 0); + + + OK + + + Qt::AlignCenter + + + + + + + 750 + 1650 + 510 + 50 + + + + + 微软雅黑 + 10 + + + + color:white + + + 7#相机分析结果 + + + + + 10 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 采集速度: + + + + + + 80 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 220 + 20 + 50 + 20 @@ -1890,35 +2855,243 @@ 11 + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 150 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + 胶点个数: - + + + + 290 + 20 + 70 + 20 + + + + + 微软雅黑 + 10 + + + + 识别时间: + + + + + + 360 + 20 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 430 + 20 + 60 + 25 + + + + + SimSun + 18 + 75 + true + + + + background-color: rgb(0, 255, 0); + + + OK + + + Qt::AlignCenter + + + + + + + 1080 + 1285 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 5#剔除次数 + + + + + + 1175 + 1765 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1175 + 1285 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1080 + 1630 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 7#剔除次数 + + + + + + 1175 + 1390 + 90 + 20 + + + + color:white + + + 10 + + + + + + 750 + 1305 + 510 + 50 + + + + + 微软雅黑 + 10 + + + + color:white + + + 5#相机分析结果 + + - 20 - 430 - 71 - 21 + 10 + 20 + 70 + 20 微软雅黑 - 11 + 10 - 识别时间: + 采集速度: - + - 110 - 430 - 81 + 80 + 20 + 50 20 @@ -1932,420 +3105,566 @@ - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 20 - 480 - 81 - 31 + 220 + 20 + 50 + 20 - SimSun - 18 - 75 - true + 微软雅黑 + 11 - - background-color: rgb(0, 255, 0); - - OK + - Qt::AlignCenter - - - - - - 110 - 60 - 131 - 41 - - - - color:white - - - 10 + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 10 - 270 - 91 - 31 + 150 + 20 + 70 + 20 微软雅黑 10 - 75 - true - - color:white - - 1#剔除次数 - - - - - - 110 - 200 - 131 - 41 - - - - color:white - - - 10 + 胶点个数: - + - 10 - 200 - 81 - 31 + 290 + 20 + 70 + 20 微软雅黑 10 - 75 - true - - color:white - - 1#NG次数 - - - - - - 110 - 130 - 131 - 41 - - - - color:white - - - 10 - - - - - - 110 - 270 - 131 - 41 - - - - color:white - - - 10 + 识别时间: - + - 10 - 130 - 81 - 31 + 360 + 20 + 50 + 20 微软雅黑 - 10 - 75 - true + 11 - - color:white - - 1#OK次数 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 10 - 65 - 91 - 31 + 430 + 20 + 60 + 25 - 微软雅黑 - 10 + SimSun + 18 75 true - color:white - - - 1#检测个数 - - - - - - 20 - 530 - 211 - 101 - - - - - 微软雅黑 - 30 - 50 - false - - - - true - - - false - - - false - - - background-color: rgb(255, 255, 0); + background-color: rgb(0, 255, 0); - <html><head/><body><p>运行中</p></body></html> + OK Qt::AlignCenter - + + + + 1175 + 1630 + 90 + 20 + + + + color:white + + + 10 + + + + + + 750 + 1195 + 320 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1080 + 1225 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 5#OK次数 + + + + + + 1080 + 1360 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 6#检测个数 + + + + + + 1080 + 1735 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 8#OK次数 + + + + + + 1175 + 1735 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1175 + 1225 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1080 + 1765 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 8#NG次数 + + + + + + 1175 + 1540 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1175 + 1450 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1080 + 1600 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 7#NG次数 + + + + + + 1175 + 1195 + 90 + 20 + + + + color:white + + + 10 + + + + + + 650 + 1880 + 160 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1130 + 1880 + 160 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1175 + 1570 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1080 + 1390 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + color:white + + + 6#OK次数 + + + + + + 810 + 1880 + 160 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1175 + 1795 + 90 + 20 + + + + color:white + + + 10 + + + + + + 1034 + 565 + 0 + 0 + + + + Qt::ClickFocus + + + false + + + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + + + + + + + 1034 + 400 + 0 + 0 + + + + Qt::ClickFocus + + + false + + + ... + + + + :/Cigarette/Resources/rotate.png:/Cigarette/Resources/rotate.png + + + + 40 + 40 + + + + - 202 - 1440 - 541 - 61 + 750 + 1540 + 320 + 110 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 1160 + 40 + 141 + 30 微软雅黑 - 14 + 12 + 50 + false + + Qt::LeftToRight + color:white - - 2#相机分析结果 + + CDTH + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - 10 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 采集速度: - - - - - - 80 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 230 - 30 - 60 - 21 - - - - - 微软雅黑 - 11 - true - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - 450 - 20 - 81 - 31 - - - - - SimSun - 18 - 75 - true - - - - background-color: rgb(0, 255, 0); - - - OK - - - Qt::AlignCenter - - - - - - 300 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 识别时间: - - - - - - 160 - 30 - 71 - 21 - - - - - 微软雅黑 - 11 - - - - 胶点个数: - - - - - - 370 - 30 - 50 - 20 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - label_33 - label_cap_speed_2 - label_jd_no_2 - label_24 - label_25 - label_timecost_2 - label_reslut_2 - + - 950 - 90 - 40 - 40 + 690 + 100 + 20 + 20 @@ -2362,7 +3681,7 @@ - Resources/rotate.pngResources/rotate.png + ../../../烟厂软件代码/221209-上海FX2条盒两相机 -GPU-延后一个/Cigarette/Resources/rotate.png../../../烟厂软件代码/221209-上海FX2条盒两相机 -GPU-延后一个/Cigarette/Resources/rotate.png @@ -2371,420 +3690,181 @@ - + - 61 - 40 - 291 - 21 + 320 + 630 + 131 + 41 - - - 宋体 - 13 - - color:white - - http://www.sh.tobacco.com.cn/ - - - Qt::AlignCenter + + 10 - + - 60 - 16 - 311 - 21 + 480 + 580 + 81 + 31 - 黑体 - 13 + 微软雅黑 + 10 + 75 + true color:white - 上海烟草集团有限责任公司上海卷烟厂 - - - Qt::AlignCenter - - - - - - 5 - 10 - 51 - 51 - - - - border-image: url(:/Cigarette/Resources/shanghai-Logo.png) - - - + 1#OK次数 - + - 1040 - 10 - 161 - 21 + 200 + 630 + 91 + 31 微软雅黑 - 12 - 50 - false + 10 + 75 + true color:white - Tel:87907256(0532) + 1#剔除次数 - + - 1190 - 10 - 71 - 21 + 730 + 90 + 531 + 481 - - - 微软雅黑 - 12 - 50 - false - - - color:white + background-color: rgb(0, 0, 0); - 青岛维克 + - + - 1080 - 30 - 191 + 750 + 580 + 91 31 微软雅黑 - 12 - 50 - false + 10 + 75 + true color:white - 2020-10-10 13:15:39 - - - Qt::AlignCenter + 2#检测个数 - + - 40 - 830 - 71 - 51 + 1030 + 630 + 81 + 31 - - - - - - - 255 - 255 - 255 - - - - - - - 55 - 55 - 55 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 55 - 55 - 55 - - - - - - - 55 - 55 - 55 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 55 - 55 - 55 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 55 - 55 - 55 - - - - - - - 55 - 55 - 55 - - - - - - - 255 - 255 - 255 - - - - - - - - - 120 - 120 - 120 - - - - - - - 55 - 55 - 55 - - - - - - - 120 - 120 - 120 - - - - - - - 120 - 120 - 120 - - - - - - - 55 - 55 - 55 - - - - - - - 55 - 55 - 55 - - - - - - - 0 - 0 - 0 - - - - - - 微软雅黑 10 + 75 + true - - 清理图片 - - - - - - 20 - 1200 - 161 - 251 - - - background-color: rgb(0, 0, 0); + color:white - + 2#NG次数 - + - 350 - 1190 + 580 + 580 131 - 241 + 41 - background-color: rgb(0, 0, 0); + color:white - - + + 10 - + - 350 - 840 - 161 - 261 + 480 + 630 + 81 + 31 + + + 微软雅黑 + 10 + 75 + true + + - background-color: rgb(0, 0, 0); + color:white - + 1#NG次数 - + - 900 - 840 - 151 - 261 + 190 + 90 + 531 + 481 @@ -2794,44 +3874,184 @@ - + - 1098 - 1220 - 20 - 20 + 190 + 680 + 540 + 61 - - Qt::ClickFocus - - - false + + + 微软雅黑 + 14 + - border-image: url(:/Cigarette/Resources/rotate.png) - - - ... - - - - Resources/rotate.pngResources/rotate.png + color:white - - - 40 - 40 - + + 1#相机分析结果 + + + + 10 + 30 + 71 + 21 + + + + + 微软雅黑 + 11 + + + + 采集速度: + + + + + + 80 + 30 + 71 + 21 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 230 + 30 + 60 + 21 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 160 + 30 + 71 + 21 + + + + + 微软雅黑 + 11 + + + + 胶点个数: + + + + + + 300 + 30 + 71 + 21 + + + + + 微软雅黑 + 11 + + + + 识别时间: + + + + + + 370 + 30 + 50 + 20 + + + + + 微软雅黑 + 11 + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 450 + 20 + 81 + 31 + + + + + SimSun + 18 + 75 + true + + + + background-color: rgb(0, 255, 0); + + + OK + + + Qt::AlignCenter + + - + - 1128 - 1225 - 71 + 750 + 630 + 91 31 @@ -2847,14 +4067,14 @@ color:white - 5#检测个数 + 2#剔除次数 - + - 1208 - 1370 + 580 + 630 131 41 @@ -2866,28 +4086,36 @@ 10 - + - 1208 - 1220 - 131 - 41 + 200 + 585 + 91 + 31 + + + 微软雅黑 + 10 + 75 + true + + color:white - - 10 + + 1#检测个数 - + - 1128 - 1370 - 71 + 1030 + 580 + 81 31 @@ -2903,46 +4131,62 @@ color:white - 4#剔除次数 + 2#OK次数 - + - 968 - 1210 - 151 - 261 + 870 + 630 + 131 + 41 - background-color: rgb(0, 0, 0); + color:white - - + + 10 - + - 800 - 1210 - 161 - 261 + 870 + 575 + 131 + 41 - background-color: rgb(0, 0, 0); + color:white - - + + 10 + + + + + + 1130 + 580 + 131 + 41 + + + + color:white + + + 10 - + - 800 - 1470 + 732 + 680 541 61 @@ -2957,9 +4201,9 @@ color:white - 5#相机分析结果 + 2#相机分析结果 - + 10 @@ -2978,7 +4222,7 @@ 采集速度: - + 80 @@ -3000,7 +4244,30 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + + + + 230 + 30 + 60 + 21 + + + + + 微软雅黑 + 11 + true + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 450 @@ -3027,7 +4294,7 @@ Qt::AlignCenter - + 300 @@ -3046,7 +4313,7 @@ 识别时间: - + 160 @@ -3065,7 +4332,7 @@ 胶点个数: - + 370 @@ -3087,34 +4354,19 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - 230 - 30 - 60 - 21 - - - - - 微软雅黑 - 11 - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + label_33 + label_cap_speed_2 + label_jd_no_2 + label_24 + label_25 + label_timecost_2 + label_reslut_2 - + - 1208 - 1270 + 1130 + 630 131 41 @@ -3126,11 +4378,11 @@ 10 - + - 1208 - 1320 + 320 + 580 131 41 @@ -3142,119 +4394,93 @@ 10 - + - 1128 - 1270 - 71 - 31 + 430 + 10 + 441 + 61 微软雅黑 - 10 - 75 - true + 24 - color:white + background-color: rgb(255, 255, 0); - 4#OK次数 - - - - - - 1128 - 1320 - 71 - 31 - - - - - 微软雅黑 - 10 - 75 - true - - - - color:white + 小盒胶点检测系统 - - 4#NG次数 + + Qt::AlignCenter - + - 860 - 1675 - 71 + 80 + 7 + 271 31 微软雅黑 - 18 - 75 - true + 13 - background-color: rgb(255, 255, 0); + color:white - 工作 + 上海烟草机械有限责任公司 Qt::AlignCenter - + - 860 - 1560 - 71 - 71 + 10 + 5 + 70 + 61 - border-image: url(:/Cigarette/Resources/cam5_no.png); + border-image: url(:/Cigarette/Resources/logo.png); + - + - 860 - 1640 - 71 - 31 + 80 + 50 + 341 + 16 微软雅黑 - 18 - 75 - true + 10 - background-color: rgb(255, 255, 0); + color:white - 联机 + SHANGHAI TOBACCO MACHINERY CO.,LTD Qt::AlignCenter @@ -3262,70 +4488,112 @@ rotate_1 groupBox_status - label_title groupBox_op groupBox_dev - label_11 - label_ng_2 - lcdNumber_ok_2 - lcdNumber_kick_2 - label_6 - label_10 - image_label_21 - lcdNumber_total_2 - image_label_11 - lcdNumber_ng_2 - lcdNumber_total_3 - label_14 - image_label_31 - label_3 + label_17 + label_18 + label_cur_time + rotate_2 + lcdNumber_ok_4 + lcdNumber_ng_4 + lcdNumber_total_4 + rotate_4 + label_check_4 + label_ok_4 + label_kick_4 + groupBox_a_4 image_label_41 - label_9 lcdNumber_kick_4 label_ng_4 - label_13 - lcdNumber_kick_3 - lcdNumber_ok_3 lcdNumber_ng_3 + label_kick_3 + label_check_3 + lcdNumber_kick_3 + groupBox_a_3 label_ng_3 - lcdNumber_ng_4 - label_15 - lcdNumber_total_4 - lcdNumber_ok_4 - label_7 - groupBox_13 - groupBox_11 - groupBox_a - groupBox_b - label_title_7 - label_title_6 - toolButton_4 - label_17 - label_18 - label_cur_time - pushButton_Clear_Pic - image_label_12 - image_label_22 - rotate_2 - image_label_32 + image_label_31 + label_ok_3 + lcdNumber_ok_3 + lcdNumber_total_3 rotate_3 - image_label_42 - rotate_4 + lcdNumber_total_6 + lcdNumber_ng_5 + image_label_61 + label_kick_6 + label_check_5 + label_check_8 rotate_5 - label_16 + label_kick_8 + label_check_7 + label_ng_6 + rotate_6 + label_ng_5 + lcdNumber_ng_7 + label_ok_7 + groupBox_a_6 + lcdNumber_ng_6 + image_label_81 + lcdNumber_total_8 + groupBox_a_8 + groupBox_a_7 + label_kick_5 + lcdNumber_ng_8 lcdNumber_kick_5 - lcdNumber_total_5 - label_29 - image_label_52 + label_kick_7 + lcdNumber_ok_6 + groupBox_a_5 + lcdNumber_kick_7 image_label_51 - groupBox_14 + label_ok_5 + label_check_6 + label_ok_8 + lcdNumber_ok_8 lcdNumber_ok_5 - lcdNumber_ng_5 - label_32 - label_ng_5 - cam_work_5 - toolButton_cam_5 - cam_status_5 + label_ng_8 + lcdNumber_total_7 + lcdNumber_kick_6 + label_ng_7 + lcdNumber_total_5 + lcdNumber_ok_7 + label_ok_6 + lcdNumber_kick_8 + rotate_8 + rotate_7 + image_label_71 + image_label_22 + image_label_32 + image_label_42 + image_label_52 + image_label_62 + image_label_72 + image_label_82 + image_label_12 + location + rotate_9 + lcdNumber_kick_1 + label_2 + label_4 + image_label_21 + label_6 + label_ng_2 + lcdNumber_ok_1 + label_ng_1 + image_label_11 + groupBox_a + label_11 + lcdNumber_ng_1 + label + label_10 + lcdNumber_kick_2 + lcdNumber_total_2 + lcdNumber_ok_2 + groupBox_b + lcdNumber_ng_2 + lcdNumber_total_1 + label_title + label_title_6 + toolButton_4 + label_title_7 diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.cpp new file mode 100644 index 00000000..ab1697c5 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.cpp @@ -0,0 +1,365 @@ +#include "common.h" +#include +#include "stdarg.h" +#include +#include +#include +#include +#include + +int string_split(std::string str, std::string pattern,std::vector &out) +{ + std::string::size_type pos; + int cnt = 0; + str += pattern; + int size = str.size(); + + for (int i = 0; i chars(nLength); + _vsnprintf(chars.data(), nLength, pszFmt, args); + str.assign(chars.data()); + } + va_end(args); + return str; +} + +void DrawSelectRects(cv::Mat input,DisplayLabelConf &t_DisplayLabelConf,int Cnt) +{ + if (t_DisplayLabelConf.Flag[Cnt] & DisplayLabel_Type_Bit) { + if (t_DisplayLabelConf.leftButtonDownFlag) { + cv::rectangle( + input, + cv::Point( + t_DisplayLabelConf.originalPoint.x * input.cols, + t_DisplayLabelConf.originalPoint.y * input.rows), + cv::Point( + t_DisplayLabelConf.processPoint.x * input.cols, + t_DisplayLabelConf.processPoint.y * input.rows), + cv::Scalar(0, 0, 255), + 4); + } + for (int i = 0; i < t_DisplayLabelConf.RectVet[Cnt].size(); i++) { + cv::rectangle( + input, + cv::Point( + t_DisplayLabelConf.RectVet[Cnt][i].TL.x * input.cols, + t_DisplayLabelConf.RectVet[Cnt][i].TL.y * input.rows), + cv::Point( + t_DisplayLabelConf.RectVet[Cnt][i].BR.x * input.cols, + t_DisplayLabelConf.RectVet[Cnt][i].BR.y * input.rows), + cv::Scalar(0, 0, 255), + 4); + } + } +} + +bool CheckSelectRects( + cv::Mat input, + std::vector > > &VecRects, + int VecCnt, + DisplayLabelConf &t_DisplayLabelConf, + int LabelCnt +) +{ + bool find; + if (!(t_DisplayLabelConf.Flag[LabelCnt] & DisplayLabel_Type_Bit)) + { + return false; + } + if (VecCnt < VecRects.size()) + { + for (int i = 0; i < VecRects[VecCnt].size(); i++) + { + find = false; + for(int j = 0; j < t_DisplayLabelConf.RectVet[LabelCnt].size(); j++) + { + cv::Rect LocalRect = VecRects[VecCnt][i].second; + cv::Rect CheckRect = cv::Rect( + cv::Point( + t_DisplayLabelConf.RectVet[LabelCnt][j].TL.x* input.cols, + t_DisplayLabelConf.RectVet[LabelCnt][j].TL.y* input.rows + ), + cv::Point( + t_DisplayLabelConf.RectVet[LabelCnt][j].BR.x* input.cols, + t_DisplayLabelConf.RectVet[LabelCnt][j].BR.y* input.rows + ) + ); + + cv::Rect tempRect = (LocalRect & CheckRect); + if(LocalRect == tempRect) + { + find = true; + } + } + if(!find) + { + return true; + } + } + } + return false; +} + +void getFiles(std::string path, std::vector& files) +{ + //文件句柄 + intptr_t hFile = 0; + //文件信息 + struct _finddata_t fileinfo; + std::string p; + if ((hFile = _findfirst(p.assign(path).c_str(), &fileinfo)) != -1) + { + do + { + if (!(fileinfo.attrib & _A_SUBDIR)) + { + files.push_back(fileinfo.name); + } + } while (_findnext(hFile, &fileinfo) == 0); + _findclose(hFile); + } +} + +std::string WstringToString(std::wstring wstr) +{ + int nLen = wcslen(wstr.c_str()); + std::string str; + str.resize(nLen * 2, ' '); + int nResult = WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)wstr.c_str(), -1, (LPSTR)str.c_str(), nLen * 2, NULL, NULL); + return str; +} + +/* +TCHAR*转char* +*/ +char* LPWSTR2LPSTR(LPWSTR lpwszStrIn) +{ + LPSTR pszOut = NULL; + if (lpwszStrIn != NULL) { + int nInputStrLen = wcslen(lpwszStrIn); + int nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, lpwszStrIn, nInputStrLen, NULL, 0, 0, 0) + 2; + pszOut = new char[nOutputStrLen]; + if (pszOut != NULL) { + memset(pszOut, 0x00, nOutputStrLen); + WideCharToMultiByte(CP_ACP, 0, lpwszStrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0); + } + } + return pszOut; +} + +//从string s的位置pos开始,向后找,找到第一个等于x的位置返回其位置 +//找到,返回找到的位置,找不到返回-1 +int __find(const std::string s, const int start, const char x) { + if (start >= s.length())return -1; + for (int i = start; i < s.length(); ++i) { + if (s[i] == x) return i; + } + return -1; +} +//双斜杠转单斜杠 +void pathConvert_Double2Single(std::string& s) { + int start = 0; + while (start < s.length()) { + int pos = s.find('\\', start); + if (pos == -1)break; + s.replace(pos, 1,"/"); + start = pos + 1; + } +} + +int CALLBACK BrowseCallbackProc( + HWND hwnd, UINT uMsg, LPARAM /*lParam*/, LPARAM lpData) +{ + LPWSTR buf[1000]; + GetCurrentDirectory(1000, (LPWSTR)buf); + if (uMsg == BFFM_INITIALIZED) + { + SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE, (LPARAM)buf); + } + + return 0; +} + +std::string SelectDirBRI() +{ + BROWSEINFO bi; + bi.hwndOwner = NULL; + bi.pidlRoot = CSIDL_DESKTOP; + bi.pszDisplayName = NULL; + bi.lpszTitle = NULL;//显?位于对话框左上部的提?信息 + bi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;//有新建?件夹按钮 + bi.lpfn = BrowseCallbackProc; + bi.iImage = 0; + LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//调?选择对话框 + if (pidl == NULL) + { + std::cout << "没有选择目录" << std::endl; + return ""; + } + TCHAR strFolder[MAX_PATH]; + SHGetPathFromIDList(pidl, strFolder); + std::string sFolder = ""; + sFolder = WstringToString(strFolder); + int pos = sFolder.find('\0'); + if (pos) + { + sFolder = sFolder.substr(0, pos); + } + return sFolder; +} + +std::string SelectFileOFN() +{ + OPENFILENAME ofn;//#include + TCHAR szOpenFileNames[80 * MAX_PATH] = { 0 }; + TCHAR szPath[MAX_PATH]; + TCHAR szFileName[80 * MAX_PATH]; + + int nLen = 0; + TCHAR* p = NULL; + ZeroMemory(&ofn, sizeof(ofn)); + + // 结构体大小 + ofn.lStructSize = sizeof(ofn); + // 拥有着窗口句柄 + ofn.hwndOwner = NULL; + // 接收返回的文件名,注意第一个字符需要为NULL + ofn.lpstrFile = szOpenFileNames; + // 缓冲区长度 + ofn.nMaxFile = sizeof(szOpenFileNames); + // _T可替换为TEXT,使用_T需要引tchar.h + ofn.lpstrFile[0] = _T('\0'); + // 设置过滤 + ofn.lpstrFilter = _T("All\0*.*\0.mp4\0*.mp4\0.avi\0*.avi\0.mkv\0*.mkv\0.rmvb\0*.rmvb\0.f4v\0*.f4v\0.flv\0*.flv\0.m4v\0*.m4v\0.mpg\0*.mpg\0\0"); + // 过滤器索引 + ofn.nFilterIndex = 1; + // 窗口标题 + ofn.lpstrTitle = _T("请选择图片"); + + // 文件必须存在、允许多选、隐藏只读选项、对话框使用资源管理器风格的用户界面 + // 官方文档:https://docs.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-openfilenamea + ofn.Flags = OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_EXPLORER; + + // 如果打开文件失败,则不操作 + if (!::GetOpenFileName(&ofn)) { + return ""; + } + + // 把第一个文件名前的复制到szPath,即: + // 如果只选了一个文件,就复制到最后一个'/' + // 如果选了多个文件,就复制到第一个NULL字符 + lstrcpyn(szPath, szOpenFileNames, ofn.nFileOffset); + + // 当只选了一个文件时,下面这个NULL字符是必需的. + // 这里不区别对待选了一个和多个文件的情况 + szPath[ofn.nFileOffset] = '\0'; + nLen = lstrlen(szPath); + + // 如果选了多个文件,则必须加上'//' + if (szPath[nLen - 1] != '\\') { + lstrcat(szPath, _T("\\")); + } + + // 把指针移到第一个文件 + p = szOpenFileNames + ofn.nFileOffset; + + // 对szFileName进行清零 + ZeroMemory(szFileName, sizeof(szFileName)); + + // 定义字符串,用于拼接所选的所有文件的完整路径 + std::string str = ""; + + while (*p) { + // 读取文件名 + std::string fileName = LPWSTR2LPSTR(p); + // 读取文件所在文件夹路径 + std::string filePath = LPWSTR2LPSTR(szPath); + // 拼接文件完整路径 + std::string completePath = filePath + fileName; + // 拼接字符串 + str += completePath; + //移至下一个文件 + p += lstrlen(p) + 1; + } + + return str; + // 将string转为char* + //char* strc = new char[strlen(str.c_str()) + 1]; + //const char* cc = str.c_str(); + //strcpy_s(strc, str.size() + 1, cc); +} + +//https://learn.microsoft.com/en-us/windows/win32/shell/common-file-dialog?redirectedfrom=MSDN +std::string SelectDirIFD() +{ + std::string folderpath = ""; + // CoCreate the File Open Dialog object. + IFileDialog* pfd = NULL; + HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, + NULL, + CLSCTX_INPROC_SERVER, + IID_PPV_ARGS(&pfd)); + if (SUCCEEDED(hr)) + { + // Set the options on the dialog. + DWORD dwFlags; + + // Before setting, always get the options first in order + // not to override existing options. + hr = pfd->GetOptions(&dwFlags); + if (SUCCEEDED(hr)) + { + // In this case, get shell items only for file system items. + hr = pfd->SetOptions(dwFlags | FOS_PICKFOLDERS); + if (SUCCEEDED(hr)) + { + // Show the dialog + hr = pfd->Show(NULL); + if (SUCCEEDED(hr)) + { + // Obtain the result once the user clicks + // the 'Open' button. + // The result is an IShellItem object. + IShellItem* psiResult; + hr = pfd->GetResult(&psiResult); + if (SUCCEEDED(hr)) + { + // We are just going to print out the + // name of the file for sample sake. + PWSTR pszFilePath = NULL; + hr = psiResult->GetDisplayName(SIGDN_FILESYSPATH,&pszFilePath); + if (SUCCEEDED(hr)) + { + folderpath = LPWSTR2LPSTR(pszFilePath); + CoTaskMemFree(pszFilePath); + } + psiResult->Release(); + } + } + } + } + pfd->Release(); + } + return folderpath; +} \ No newline at end of file diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.h new file mode 100644 index 00000000..d082f028 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/common.h @@ -0,0 +1,230 @@ +#pragma once + +#include +#include +#include +#include "basecamera.h" +#include "QtCore\qdatetime.h" + +//#define __DEBUG //debugϢ +//#define __UDPSend //緢͹ +#define USB_BASLER_NEW_FW //ʹbaslerƹ̼ +//#define IMM_PROCESS //պУź +//#define IMM_FEED_BACK //Уź +#define ONE_TIME_SHIFT //һķͷ(Ĭϴ) +#define AI_WARM_UP //AIʶʼǰ +#define LICENSE_VERIFY //licenseļУ +//CAP_FEED_BACKDOUBLE_FEED_BACKҪһ +#if defined (ONE_TIME_SHIFT) + //#define CAP_FEED_BACK //ʱҲûвԽеĻͷ + //#define DOUBLE_FEED_BACK //һngηngź +#endif +#define identify_Hik_YSXID//ʶ𺣿YSXID +//#define __ExportData // ݵXMLĵ +#define DRAW_RECT // 껭 + +#define Queue_Size 15 +#define Unit_Queue_Size Queue_Size*3 +#define StrobeLineTime 10000 + +#ifdef __DEBUG +#define DEBUG(format, ...) printf (format, ##__VA_ARGS__) +#else +#define DEBUG(format, ...) +#endif + +// ļ +#define CONFIGURE_FILE "D:/conf/conf.txt" +// תǶļ +#define ROTATE_FILE "D:/conf/rotate.txt" +#define MODBUS_CONFIGURE_FILE "D:/conf/modbus.txt" +#define PLC_CONFIG_FILE "D:/conf/plc.txt" +#define SELECT_RECTS_FILE "D:/conf/SelectRects%d%d.txt" +#define STATISTIC_FILE "D:/conf/camera%d_statistic.txt" +#define ALARM_RECORD_FILE "alarm.txt" + +#define OUTPUT_HIGH_WIDTH 20000 //źŵȣ΢ + +#define OP_TIME 300 //OPȨʱĬ300룩 + +#define ADMIN_TIME 600 //ADMINȨʱĬ300룩 + +#define STOP_SECONDS 3 //ٴβ䴥Զ + +int string_split(std::string str, std::string pattern,std::vector &out); +std::string format(const char *pszFmt, ...); +void getFiles(std::string path, std::vector& files); +std::string SelectDirBRI(); +std::string SelectFileOFN(); +std::string SelectDirIFD(); +class SysConf +{ +public: + std::mutex lock; + int save; //ͼƬǷ񱣴棬0棬1NG, 2ȫ + int MisMatchAct; //λΪ1NG,0ok + int save_days; ///Ƭ + int freesize; /// 趨ͼƬСռ + std::string ComPort; ///COM + int ConfThreshold; //ʶ + int auto_open; //ǷԶ01 + int auto_work; //ǷԶʼ01 + int auto_shift; //ǷԶ࣬01 + int shift_byhand; // Ƿֶ࣬01 + QTime shiftA; //Aʱ + QTime shiftB; //Bʱ + QTime shiftC; //Cʱ + QString location; // ڵ + QString model_path; // ģļ· + QString model_name; // ģ + QString jpg_path; // ͼƬ· + int timing_shift; //Ƿʱ࣬01 + int expo[NumberOfSupportedCameras]; //عʱ䣬λ΢ + int gain[NumberOfSupportedCameras]; //ģ棬Χ0~64 + int filter[NumberOfSupportedCameras];//˲ʱ + int UserID[NumberOfSupportedCameras]; + int no[NumberOfSupportedCameras][3];//ͼƬٺϸ񽺵 + int shoot[NumberOfSupportedCameras];// + std::string MonitorIP; //Զ̼ض˵IP + int MonitorPort; + int FeedbackPort; + int FilePort; + //MonitorPortΪݶ˿ + //MonitorPort+NumberOfSupportedCamerasΪͼ˿ + //MonitorPort+NumberOfSupportedCameras*2Ϊ˿,ҲFeedbackPort + //MonitorPort+NumberOfSupportedCameras*2+1Ϊ˿ + + SysConf() + { + save=0; //ͼƬǷ񱣴棬0棬1NG, 2ȫ + MisMatchAct=1; //λΪ1NG,0ok + save_days = 1; ///Ƭ + freesize = 10; /// 趨ͼƬСռ + ComPort = "COM1"; ///COM + ConfThreshold = 1; ///ٷֱʶ + auto_open=1; //ǷԶ01 + auto_work=1; //ǷԶʼ01 + auto_shift=0; //ǷԶ࣬01 + shift_byhand = 1; //Ƿֶ࣬01 + timing_shift = 0; //Ƿʱ࣬01 + location = ""; + model_path = ""; + model_name = ""; + jpg_path = ""; + shiftA.setHMS(0, 0, 0); + shiftB.setHMS(0, 0, 0); + shiftC.setHMS(0, 0, 0); + for(int i=0;i0) + int kick1; //1#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + int kick2; //2#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + int kick3; //3#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + int kick4; //4#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + int kick5; //5#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + int kick6; //6#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + int kick7; //7#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + int kick8; //8#ͨ޳ַ +#endif + int quantity; //ַ + int shift; //ַ + int work; //ʼ/ֹͣ + int no_kick; //ֻղ޳ģʽ + int debug; //ģʽPLCģline4ź + int reset; //λ + int alarm; // + + ModbusConf() + { +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) + kick1=0; //1#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) + kick2=0; //2#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) + kick3=0; //3#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) + kick4=0; //4#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + kick5=0; //5#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + kick6=0; //6#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + kick7=0; //7#ͨ޳ַ +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + kick8=0; //8#ͨ޳ַ +#endif + quantity=0; //ַ + shift=0; //ַ + work=0; //ʼ/ֹͣ + no_kick=0; //ֻղ޳ģʽ + debug=0; //ģʽPLCģline4ź + reset=0; //λ + alarm=0; // + } +}; + +#define DisplayLabel_Type_Bit 0x01 //1:򿪷Χʶܣ0:رշΧʶ +#define DisplayLabel_Conf_Bit 0x02 //1:Իƾο0:ܻƾο +class RectRatio +{ +public: + RectRatio(cv::Point2f tl, cv::Point2f br) :TL(tl), BR(br) {}; + cv::Point2f TL; + cv::Point2f BR; +}; + +class DisplayLabelConf +{ +public: + std::mutex lock; + bool leftButtonDownFlag = false; //Ƶͣŵı־λ + cv::Point2f originalPoint; //ο + cv::Point2f processPoint; //οյ + + cv::Mat g_last_mat[2]; + bool g_max[2] = {false}; //ͼǷ + uint8_t Flag[2] = {0}; + std::vector RectVet[2]; +}; +void DrawSelectRects(cv::Mat input, DisplayLabelConf& t_DisplayLabelConf, int Cnt); +bool CheckSelectRects(cv::Mat input, std::vector > >& VecRects, int VecCnt, DisplayLabelConf& t_DisplayLabelConf, int LabelCnt); diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.cpp new file mode 100644 index 00000000..d6eaad25 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.cpp @@ -0,0 +1,46 @@ +//qlabel_doubleclick.cpp +#include "db_label.h" +#include +db_label::db_label(QWidget *parent) : QLabel(parent){ + setFocusPolicy(Qt::StrongFocus); + connect(&timer, SIGNAL(timeout()), this, SLOT(TimeOutNotify())); +} + +db_label::~db_label(){} + +void db_label::mouseDoubleClickEvent(QMouseEvent* event) { + emit SignalmouseDoubleClickEvent(event); +} + +void db_label::mouseReleaseEvent(QMouseEvent* event) { + emit SignalmouseReleaseEvent(event); + cnt++; + timer.setSingleShot(true); + timer.start(300); +} + +void db_label::mousePressEvent(QMouseEvent* event) { + emit SignalmousePressEvent(event); +} + +void db_label::mouseMoveEvent(QMouseEvent* event) { + emit SignalmouseMoveEvent(event); +} + +void db_label::keyReleaseEvent(QKeyEvent* event) +{ + emit SignalkeyReleaseEvent(event); +} + +void db_label::TimeOutNotify(void) { + timer.stop(); + switch(cnt) { + case 1:emit QlabelClick(); break; + case 2:emit QlabelDoubleClick(); break; + case 3:emit QlabelTripleClick(); break; + default:break; + } + cnt = 0; +} + + diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.h new file mode 100644 index 00000000..db3d3486 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/db_label.h @@ -0,0 +1,38 @@ +//qlabel_doubleclick.h +#ifndef QLABEL_DOUBLECLICK_H_ +#define QLABEL_DOUBLECLICK_H_ + +#include +#include +#include +#include + +class db_label : public QLabel +{ + Q_OBJECT + +public: + db_label(QWidget *parent = 0); + ~db_label(); + + void mouseDoubleClickEvent(QMouseEvent *event); + void mousePressEvent(QMouseEvent* event); + void mouseReleaseEvent(QMouseEvent* event); + void mouseMoveEvent(QMouseEvent* event); + void keyReleaseEvent(QKeyEvent* event); + QTimer timer; + int cnt = 0; +signals: + void QlabelClick(); + void QlabelDoubleClick(); + void QlabelTripleClick(); + void SignalmouseDoubleClickEvent(QMouseEvent* event); + void SignalmousePressEvent(QMouseEvent* event); + void SignalmouseReleaseEvent(QMouseEvent* event); + void SignalmouseMoveEvent(QMouseEvent* event); + void SignalkeyReleaseEvent(QKeyEvent* event); +private slots: + void TimeOutNotify(); +}; + +#endif // QLABEL_DOUBLECLICK_H_ \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/debugthread.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/debugthread.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/debugthread.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/debugthread.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/debugthread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/debugthread.h similarity index 60% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/debugthread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/debugthread.h index 74098f66..4bb76c47 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/debugthread.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/debugthread.h @@ -9,9 +9,10 @@ #include "basecamera.h" #include "common.h" extern SyncQueue *g_debug_queue[NumberOfSupportedCameras]; //相机调试模式图像队列 +extern DisplayLabelConf g_display_label_conf[NumberOfSupportedCameras]; extern int rotationAngle[NumberOfSupportedCameras]; //图片旋转角度 -extern bool isNeddRotate[NumberOfSupportedCameras]; +extern bool isNeedRotate[NumberOfSupportedCameras]; class DebugThread : public QThread { Q_OBJECT @@ -51,8 +52,7 @@ protected: p_debug_queue->take(image); if (image.data) { - cv::cvtColor(image, image, CV_BGR2RGB); //灰度图像转为彩色图像 - if (isNeddRotate[local_camera_number]) { + if (isNeedRotate[local_camera_number]) { if(rotationAngle[local_camera_number] != (cv::ROTATE_90_COUNTERCLOCKWISE + 1)) { cv::rotate(image, image, rotationAngle[local_camera_number]); @@ -60,6 +60,18 @@ protected: } emit notify(local_camera_number,0,image); } +#ifdef DRAW_RECT + std::lock_guard locker2(g_display_label_conf[local_camera_number].lock); + local_DisplayLabelConf.leftButtonDownFlag = g_display_label_conf[local_camera_number].leftButtonDownFlag; + local_DisplayLabelConf.Flag[0] = g_display_label_conf[local_camera_number].Flag[0]; + local_DisplayLabelConf.Flag[1] = g_display_label_conf[local_camera_number].Flag[1]; + local_DisplayLabelConf.originalPoint = g_display_label_conf[local_camera_number].originalPoint; + local_DisplayLabelConf.processPoint = g_display_label_conf[local_camera_number].processPoint; + local_DisplayLabelConf.RectVet[0] = g_display_label_conf[local_camera_number].RectVet[0]; + local_DisplayLabelConf.RectVet[1] = g_display_label_conf[local_camera_number].RectVet[1]; + + DrawSelectRects(image, local_DisplayLabelConf, 0); +#endif } } public: @@ -67,6 +79,7 @@ public: int local_classid; bool b_quit; SyncQueue *p_debug_queue; + DisplayLabelConf local_DisplayLabelConf; }; #endif //end of _DEBUGTHREAD_H diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.ui similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogin.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogin.ui diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.cpp similarity index 59% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.cpp index 83dcd9ea..33cdd270 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.cpp @@ -7,13 +7,17 @@ #include "common.h" #include #include +#include +#include #include "basecamera.h" #include //用于显示桌面 #include //用于显示桌面 +#include +#include "Cleanthread.h" + extern SysConf g_sys_conf; //系统配置参数 extern QString g_admin_pswd; //管理员密码 - extern QString g_op_pswd; //操作员密码 void task_osk() @@ -24,7 +28,7 @@ void task_osk() DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { ui.setupUi(this); InitPtrMat(); - //this->setWindowFlags(Qt::FramelessWindowHint); + this->setWindowFlags(Qt::FramelessWindowHint);//窗口可移动 for(int i=0;isetChecked(false); } + + if (!g_sys_conf.model_path.isEmpty()) { + // 如果曾经选择过模型文件夹 + // 查看model_path路径下文件夹详情 + QDir* dirinfo = new QDir(g_sys_conf.model_path); + if (!dirinfo->exists()) + delete dirinfo, dirinfo = nullptr; + dirinfo->setNameFilters(QStringList("*.weights")); // 设置过滤器 + QStringList fileList = dirinfo->entryList(QDir::Files); + fileList.removeOne("."); + fileList.removeOne(".."); + ui.comboBox->clear(); + ui.comboBox->addItems(fileList); + if (!g_sys_conf.model_name.isEmpty()) { + // 如果曾选择过模型,则在comboBox显示选择模型的文件名 + ui.comboBox->setCurrentText(g_sys_conf.model_name); + } + // 更换模型事件 + connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxSelect(int))); + delete dirinfo, dirinfo = nullptr; + } + else { + // 如果未曾选择过模型文件夹 + if (!g_sys_conf.model_name.isEmpty()) { + // 如果曾经选择过模型文件 + ui.comboBox->addItem(g_sys_conf.model_name); + } + } - // switch (g_sys_conf.save) { case 0: @@ -67,12 +98,24 @@ DialogSetup::DialogSetup(QWidget * parent) : QDialog(parent) { break; } // +#ifndef __DEBUG + ui.pushButton_testimg->setVisible(false); + ui.pushButton_testimgs->setVisible(false); +#endif } DialogSetup::~DialogSetup() { } +void DialogSetup::onComboBoxSelect(int index) { + // 获取comboBox当前内容 + QString ct = ui.comboBox->currentText(); + /// QMessageBox::information(this, QStringLiteral("提示"), QStringLiteral("您选择的项为")+ct, NULL); + // 保存到配置文件中 + g_sys_conf.model_name = ct; +} + void DialogSetup::on_toolButton_keyboard_released() { std::thread osk_thread = std::thread(task_osk); @@ -220,17 +263,81 @@ void DialogSetup::on_pushButton_save_released() g_sys_conf.gain[i] = (lineEdit_gain_mat[i]->text()).toInt(); g_sys_conf.filter[i] = (lineEdit_filter_mat[i]->text()).toInt(); } + write_config(); QMessageBox::information(NULL, QStringLiteral("提示"), QStringLiteral("保存参数成功,部分配置需要重启程序后生效"), QMessageBox::Ok); } + void DialogSetup::on_pushButton_close_released() { this->close(); } + +void DialogSetup::on_pushButton_clear_pic_released() +{ + QThread* handleThread = new QThread(); + CleanWorkThread* cleanWorkThread = new CleanWorkThread(); + + cleanWorkThread->moveToThread(handleThread); + + connect(handleThread, &QThread::started, cleanWorkThread, &CleanWorkThread::startWork); + connect(cleanWorkThread, &CleanWorkThread::workStart, cleanWorkThread, &CleanWorkThread::setSel); + connect(cleanWorkThread, &CleanWorkThread::workFinished, cleanWorkThread, &CleanWorkThread::deleteLater); + connect(cleanWorkThread, &CleanWorkThread::destroyed, handleThread, &QThread::quit); + connect(handleThread, &QThread::finished, handleThread, &QThread::deleteLater); + handleThread->start(); +} + +void DialogSetup::on_toolButton_choose_path_released() { + // 点击浏览文件按钮后触发的事件 + QString dirName = QFileDialog::getExistingDirectory(this, QStringLiteral("请选择模型所在文件夹"), "./"); + //std::cout << "dirName is " << dirName.toStdString().c_str() << std::endl; + //std::cout << "g_sys_conf.dir_path is " << g_sys_conf.dir_path.toStdString().c_str() << std::endl; + //std::cout << "g_sys_conf.model_name is " << g_sys_conf.model_name.toStdString().c_str() << std::endl; + + if (dirName.isEmpty()) { + dirName = g_sys_conf.model_path; + ui.comboBox->setCurrentText(g_sys_conf.model_name); + return; + } + QDir* dirinfo = new QDir(dirName); + if (!dirinfo->exists()) { + delete dirinfo, dirinfo = nullptr; + } + dirinfo->setNameFilters(QStringList("*.weights")); + + QStringList fileList = dirinfo->entryList(QDir::Files); + if (fileList.count() == 0) + g_sys_conf.model_path = "D:/model"; + else + g_sys_conf.model_path = dirName; + + fileList.removeOne("."); + fileList.removeOne(".."); + + ui.comboBox->clear(); + ui.comboBox->addItems(fileList); + + delete dirinfo, dirinfo = nullptr; +} + +void DialogSetup::on_toolButton_choose_path_jpg_released() { + QString JpgPath = QFileDialog::getOpenFileName(this, "选择jpg文件", "/", "jpg files(*.jpg)"); + if (JpgPath.isEmpty()) { + return; + } + else { + if (ui.comboBox_2->findText(JpgPath) == -1) { + ui.comboBox_2->addItem(JpgPath); // 在comboBox中显示文件路径 + g_sys_conf.jpg_path = JpgPath; // 将选择的路径写入conf配置文件中 + } + } +} + void DialogSetup::write_pswd() { std::fstream cfg_file; - cfg_file.open("pswd.txt", std::ios::out | std::ios::trunc); + cfg_file.open("D:/Release/pswd.txt", std::ios::out | std::ios::trunc); if (cfg_file.good()) { char buf[256]; @@ -243,7 +350,7 @@ void DialogSetup::write_pswd() void DialogSetup::write_pswd_op() { std::fstream cfg_file; - cfg_file.open("pswd_op.txt", std::ios::out | std::ios::trunc); + cfg_file.open("D:/Release/pswd_op.txt", std::ios::out | std::ios::trunc); if (cfg_file.good()) { char buf[256]; @@ -256,7 +363,7 @@ void DialogSetup::write_pswd_op() void DialogSetup::write_config() { std::fstream cfg_file; - cfg_file.open("../conf/conf.txt", std::ios::out | std::ios::trunc); + cfg_file.open("D:/conf/conf.txt", std::ios::out | std::ios::trunc); if (cfg_file.good()) { char buf[256]; @@ -269,6 +376,15 @@ void DialogSetup::write_config() memset(buf, 0, 256);/// sprintf(buf, "SAVE_DAYS=%d\n", g_sys_conf.save_days); cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256);/// + sprintf(buf, "FREESIZE=%d\n", g_sys_conf.freesize); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256);/// + sprintf(buf, "ComPort=%s\n", g_sys_conf.ComPort); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256);/// + sprintf(buf, "CONFTHRESHOLD=%d\n", g_sys_conf.ConfThreshold); + cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); sprintf(buf, "AUTO_OPEN=%d\n", g_sys_conf.auto_open); cfg_file.write(buf, strlen(buf)); @@ -282,6 +398,9 @@ void DialogSetup::write_config() sprintf(buf, "TIMING_SHIFT=%d\n", g_sys_conf.timing_shift); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); + sprintf(buf, "SHIFT_BYHAND=%d\n", g_sys_conf.shift_byhand); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); sprintf(buf, "SHIFT_A=%d|%d\n", g_sys_conf.shiftA.hour(), g_sys_conf.shiftA.minute()); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); @@ -291,6 +410,18 @@ void DialogSetup::write_config() sprintf(buf, "SHIFT_C=%d|%d\n", g_sys_conf.shiftC.hour(), g_sys_conf.shiftC.minute()); cfg_file.write(buf, strlen(buf)); memset(buf, 0, 256); + sprintf(buf, "LOCATION=%s\n", g_sys_conf.location.toStdString().c_str()); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "MODELPATH=%s\n", g_sys_conf.model_path.toStdString().c_str()); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "MODELNAME=%s\n", g_sys_conf.model_name.toStdString().c_str()); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "JPGPATH=%s\n", g_sys_conf.jpg_path.toStdString().c_str()); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); sprintf(buf, "*****************************************\n"); cfg_file.write(buf, strlen(buf)); #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) @@ -380,6 +511,94 @@ void DialogSetup::write_config() memset(buf, 0, 256); sprintf(buf, "*****************************************\n"); cfg_file.write(buf, strlen(buf)); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + memset(buf, 0, 256); + sprintf(buf, "EXPO5=%d\n", g_sys_conf.expo[4]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "GAIN5=%d\n", g_sys_conf.gain[4]); + cfg_file.write(buf, strlen(buf)); + sprintf(buf, "FILTER5=%d\n", g_sys_conf.filter[4]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "USERID5=%d\n", g_sys_conf.UserID[4]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "NO5=%d|%d|%d\n", g_sys_conf.no[4][0],g_sys_conf.no[4][1],g_sys_conf.no[4][2]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "SHOOT5=%d\n", g_sys_conf.shoot[4]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "*****************************************\n"); + cfg_file.write(buf, strlen(buf)); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + memset(buf, 0, 256); + sprintf(buf, "EXPO6=%d\n", g_sys_conf.expo[5]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "GAIN6=%d\n", g_sys_conf.gain[5]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "FILTER6=%d\n", g_sys_conf.filter[5]); + cfg_file.write(buf, strlen(buf)); + sprintf(buf, "USERID6=%d\n", g_sys_conf.UserID[5]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "NO6=%d|%d|%d\n", g_sys_conf.no[5][0],g_sys_conf.no[5][1],g_sys_conf.no[5][2]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "SHOOT6=%d\n", g_sys_conf.shoot[5]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "*****************************************\n"); + cfg_file.write(buf, strlen(buf)); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + memset(buf, 0, 256); + sprintf(buf, "EXPO7=%d\n", g_sys_conf.expo[6]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "GAIN7=%d\n", g_sys_conf.gain[6]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "FILTER7=%d\n", g_sys_conf.filter[6]); + cfg_file.write(buf, strlen(buf)); + sprintf(buf, "USERID7=%d\n", g_sys_conf.UserID[6]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "NO7=%d|%d|%d\n", g_sys_conf.no[6][0],g_sys_conf.no[6][1],g_sys_conf.no[6][2]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "SHOOT7=%d\n", g_sys_conf.shoot[6]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "*****************************************\n"); + cfg_file.write(buf, strlen(buf)); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + memset(buf, 0, 256); + sprintf(buf, "EXPO8=%d\n", g_sys_conf.expo[7]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "GAIN8=%d\n", g_sys_conf.gain[7]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "FILTER8=%d\n", g_sys_conf.filter[7]); + cfg_file.write(buf, strlen(buf)); + sprintf(buf, "USERID8=%d\n", g_sys_conf.UserID[7]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "NO8=%d|%d|%d\n", g_sys_conf.no[7][0],g_sys_conf.no[7][1],g_sys_conf.no[7][2]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "SHOOT8=%d\n", g_sys_conf.shoot[7]); + cfg_file.write(buf, strlen(buf)); + memset(buf, 0, 256); + sprintf(buf, "*****************************************\n"); + cfg_file.write(buf, strlen(buf)); #endif memset(buf, 0, 256); sprintf(buf, "MonitorIP=%s\n", g_sys_conf.MonitorIP.c_str()); @@ -392,27 +611,36 @@ void DialogSetup::write_config() } cfg_file.close(); } + +#define InitPtrMatDef(a,b)\ + lineEdit_expo_mat[a]=ui.lineEdit_expo_##b; \ + lineEdit_gain_mat[a]=ui.lineEdit_gain_##b; \ + lineEdit_filter_mat[a]=ui.lineEdit_filter_##b; void DialogSetup::InitPtrMat() { #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>0) - lineEdit_expo_mat[0]=ui.lineEdit_expo_1; - lineEdit_gain_mat[0]=ui.lineEdit_gain_1; - lineEdit_filter_mat[0]=ui.lineEdit_filter_1; + InitPtrMatDef(0, 1); #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>1) - lineEdit_expo_mat[1]=ui.lineEdit_expo_2; - lineEdit_gain_mat[1]=ui.lineEdit_gain_2; - lineEdit_filter_mat[1]=ui.lineEdit_filter_2; + InitPtrMatDef(1, 2); #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>2) - lineEdit_expo_mat[2]=ui.lineEdit_expo_3; - lineEdit_gain_mat[2]=ui.lineEdit_gain_3; - lineEdit_filter_mat[2]=ui.lineEdit_filter_3; + InitPtrMatDef(2, 3); #endif #if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>3) - lineEdit_expo_mat[3]=ui.lineEdit_expo_4; - lineEdit_gain_mat[3]=ui.lineEdit_gain_4; - lineEdit_filter_mat[3]=ui.lineEdit_filter_4; + InitPtrMatDef(3, 4); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>4) + InitPtrMatDef(4, 5); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>5) + InitPtrMatDef(5, 6); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>6) + InitPtrMatDef(6, 7); +#endif +#if defined(NumberOfSupportedCameras) && (NumberOfSupportedCameras>7) + InitPtrMatDef(7, 8); #endif } @@ -423,7 +651,7 @@ void DialogSetup::on_pushButton_config_released() connect(m_camera_glue, &camera_glue::sendMsgToDialogSetup,this, &DialogSetup::recMsgFromDialogConfig); connect(this, &DialogSetup::sendMsgToConfig,m_camera_glue, &camera_glue::recMsgFromDialogSetup); m_camera_glue->show(); - m_camera_glue->move((this->width() - m_camera_glue->width() / 1.7), (this->height() - m_camera_glue->height()) / 2); + m_camera_glue->move(this->geometry().center() - m_camera_glue->rect().center());//移动父窗口中心位置 emit sendMsgToConfig(g_sys_conf.no); } void DialogSetup::recMsgFromDialogConfig(int ptr[][3]) @@ -439,7 +667,7 @@ void DialogSetup::on_pushButton_change_released() connect(m_change_shift, &change_shift::sendMsgToDialogSetup, this, &DialogSetup::recMsgFromChangeShift); connect(this, &DialogSetup::sendMsgToShift, m_change_shift, &change_shift::recMsgFromDialogSetup); m_change_shift->show(); - m_change_shift->move((this->width() - m_change_shift->width() / 1.7), (this->height() - m_change_shift->height()) / 2); + m_change_shift->move(this->geometry().center() - m_change_shift->rect().center()); emit sendMsgToShift(g_sys_conf.shiftA, g_sys_conf.shiftB, g_sys_conf.shiftC); } void DialogSetup::on_pushButton_statistic_released() @@ -448,7 +676,7 @@ void DialogSetup::on_pushButton_statistic_released() m_output_statistic = new output_statistic(this); connect(this, &DialogSetup::sendMsgToOutput, m_output_statistic, &output_statistic::recMsgFromDialogSetup); m_output_statistic->show(); - m_output_statistic->move((this->width() - m_output_statistic->width() / 1.9), (this->height() - m_output_statistic->height()) / 2); + m_output_statistic->move(this->geometry().center() - m_output_statistic->rect().center()); emit sendMsgToOutput(); } void DialogSetup::recMsgFromChangeShift(QTime timeA, QTime timeB, QTime timeC) @@ -456,4 +684,14 @@ void DialogSetup::recMsgFromChangeShift(QTime timeA, QTime timeB, QTime timeC) g_sys_conf.shiftA.setHMS(timeA.hour(), timeA.minute(), 0); g_sys_conf.shiftB.setHMS(timeB.hour(), timeB.minute(), 0); g_sys_conf.shiftC.setHMS(timeC.hour(), timeC.minute(), 0); -} \ No newline at end of file +} +#ifdef __DEBUG +void DialogSetup::on_pushButton_testimg_released() +{ + emit _testimg(); +} +void DialogSetup::on_pushButton_testimgs_released() +{ + emit _testimgs(); +} +#endif \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.hpp similarity index 82% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.hpp index da0fa4cf..c1033cd4 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.hpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.hpp @@ -2,7 +2,7 @@ #include #include "ui_dialogsetup.h" #include "basecamera.h" - +#include #include #include #include @@ -14,19 +14,24 @@ signals : void sendMsgToShift(QTime timeA, QTime timeB, QTime timeC); void sendMsgToOutput(); void sendMsgToConfig(int ptr[][3]); +#ifdef __DEBUG + void _testimg(); + void _testimgs(); +#endif private slots : void on_toolButton_keyboard_released(); void on_pushButton_exit_released(); void on_pushButton_save_released(); void on_pushButton_close_released(); + void on_toolButton_choose_path_released(); + void on_toolButton_choose_path_jpg_released(); void on_pushButton_desktop_released(); - void on_pushButton_image_released(); void on_pushButton_pswd_released(); void on_pushButton_pswd_op_released(); - void on_pushButton_expo_released(); void on_pushButton_filter_released(); + void on_pushButton_clear_pic_released(); void on_pushButton_config_released(); void on_pushButton_change_released(); @@ -37,6 +42,11 @@ private slots : void recMsgFromDialogConfig(int ptr[][3]); void recMsgFromChangeShift(QTime timeA, QTime timeB, QTime timeC); + void onComboBoxSelect(int index); +#ifdef __DEBUG + void on_pushButton_testimg_released(); + void on_pushButton_testimgs_released(); +#endif public: DialogSetup(QWidget * parent = Q_NULLPTR); ~DialogSetup(); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.ui similarity index 57% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.ui index 02cf645a..696f66dd 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetup.ui +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetup.ui @@ -6,8 +6,8 @@ 0 0 - 662 - 722 + 661 + 673 @@ -19,7 +19,7 @@ - DialogSetup + 系统设置 background-color: rgb(240, 240, 240); @@ -29,8 +29,8 @@ 0 0 - 721 - 821 + 681 + 961 @@ -47,23 +47,23 @@ 0 0 - 719 - 819 + 679 + 959 670 - 810 + 880 - + 10 - 60 + 70 641 - 81 + 61 @@ -80,10 +80,10 @@ - 20 - 40 - 191 - 21 + 30 + 30 + 220 + 22 @@ -101,9 +101,9 @@ - 220 - 40 - 241 + 380 + 30 + 261 21 @@ -120,13 +120,13 @@ - + 10 - 400 + 350 641 - 91 + 81 @@ -143,9 +143,9 @@ - 540 - 30 - 91 + 550 + 20 + 81 51 @@ -161,11 +161,11 @@ 确定 - + - 180 - 40 + 190 + 30 61 31 @@ -185,8 +185,8 @@ - 440 - 42 + 450 + 32 91 31 @@ -210,8 +210,8 @@ 250 - 40 - 91 + 30 + 101 31 @@ -230,11 +230,11 @@ QLineEdit::Password - + - 350 - 40 + 360 + 30 81 31 @@ -254,8 +254,8 @@ - 80 - 40 + 90 + 30 91 31 @@ -275,11 +275,11 @@ QLineEdit::Password - + - 10 - 40 + 20 + 30 61 31 @@ -297,13 +297,13 @@ - + 10 - 240 - 641 - 71 + 190 + 640 + 101 @@ -317,19 +317,19 @@ 相机参数 - + 20 - 30 - 181 - 31 + 40 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -342,15 +342,15 @@ 210 - 30 - 91 - 31 + 40 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -362,16 +362,16 @@ - 900 - 90 - 91 - 31 + 210 + 70 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -380,19 +380,19 @@ - + - 710 - 90 - 181 - 31 + 20 + 70 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -404,16 +404,16 @@ - 1200 - 90 - 91 - 31 + 510 + 70 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -422,19 +422,19 @@ - + 320 - 30 - 181 - 31 + 40 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -443,19 +443,19 @@ 1#相机模拟增益(0~64): - + - 1010 - 90 - 181 - 31 + 320 + 70 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -468,15 +468,15 @@ 510 - 30 - 91 - 31 + 40 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -488,16 +488,16 @@ - 890 - 110 - 91 - 31 + 210 + 1640 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -506,19 +506,19 @@ - + - 700 - 150 - 181 - 31 + 20 + 1670 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -530,16 +530,16 @@ - 890 - 150 - 91 - 31 + 210 + 1670 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -548,19 +548,19 @@ - + - 700 - 110 - 181 - 31 + 20 + 1640 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -572,16 +572,16 @@ - 1190 - 150 - 91 - 31 + 510 + 1670 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -590,19 +590,19 @@ - + - 1000 - 110 - 181 - 31 + 320 + 1640 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -611,19 +611,19 @@ 3#相机模拟增益(0~64): - + - 1000 - 150 - 181 - 31 + 320 + 1670 + 180 + 20 微软雅黑 - 12 + 10 75 true @@ -635,16 +635,16 @@ - 1190 - 110 - 91 - 31 + 510 + 1640 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -674,82 +674,82 @@ 确定 - - - - - 10 - 580 - 641 - 71 - - - - - 微软雅黑 - 12 - 75 - true - - - - 滤波设置 - - + 20 - 30 - 211 - 31 + 1700 + 180 + 20 微软雅黑 - 12 + 10 75 true - 1#相机滤波时间(微秒): + 5#相机曝光时间(微秒): - + - 230 - 30 - 91 - 31 + 20 + 1730 + 180 + 20 微软雅黑 - 12 + 10 75 true - + 6#相机曝光时间(微秒): - + - 1200 - 50 - 91 - 31 + 20 + 1760 + 180 + 20 微软雅黑 - 12 + 10 + 75 + true + + + + 7#相机曝光时间(微秒): + + + + + + 210 + 1700 + 90 + 20 + + + + + 微软雅黑 + 10 75 true @@ -758,40 +758,40 @@ - + - 1010 - 50 - 181 - 31 + 210 + 1730 + 90 + 20 微软雅黑 - 12 + 10 75 true - 2#相机滤波时间(微秒): + - + - 1190 - 70 - 91 - 31 + 210 + 1760 + 90 + 20 微软雅黑 - 12 + 10 75 true @@ -800,203 +800,707 @@ - + - 700 - 70 - 181 - 31 + 320 + 1700 + 180 + 20 微软雅黑 - 12 + 10 75 true - 3#相机滤波时间(微秒): + 5#相机模拟增益(0~64): - + - 890 - 70 - 91 - 31 + 320 + 1730 + 180 + 20 微软雅黑 - 12 + 10 75 true - + 6#相机模拟增益(0~64): - + - 1000 - 70 - 181 - 31 + 320 + 1760 + 180 + 20 微软雅黑 - 12 + 10 75 true - 4#相机滤波时间(微秒): + 7#相机模拟增益(0~64): - + - 680 - 50 - 91 - 51 + 510 + 1700 + 90 + 20 微软雅黑 - 12 + 10 75 true - 确定 + - - - - - 10 - 150 - 641 - 81 - - - - - 微软雅黑 - 12 - 75 - true - - - - 存图设置 - - + - 30 - 40 - 91 - 21 + 510 + 1730 + 90 + 20 微软雅黑 - 12 + 10 75 true - 不存 + - + - 230 - 40 - 91 - 21 + 510 + 1760 + 90 + 20 微软雅黑 - 12 + 10 75 true - 存NG + - + - 440 - 40 - 91 - 21 + 20 + 1790 + 180 + 20 微软雅黑 - 12 + 10 75 true - 全存 + 8#相机曝光时间(微秒): - + - 540 - 30 - 101 - 41 + 210 + 1790 + 90 + 20 微软雅黑 - 12 + 10 75 true - 确定 + - - - - - 120 - 660 - 131 - 51 + + + + 320 + 1790 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 8#相机模拟增益(0~64): + + + + + + 510 + 1790 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + + 10 + 510 + 641 + 71 + + + + + 微软雅黑 + 12 + 75 + true + + + + 滤波设置 + + + + + 20 + 30 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 1#相机滤波时间(微秒): + + + + + + 210 + 30 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 510 + 30 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 320 + 30 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 2#相机滤波时间(微秒): + + + + + + 510 + 1040 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 20 + 1040 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 3#相机滤波时间(微秒): + + + + + + 210 + 1040 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 320 + 1040 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 4#相机滤波时间(微秒): + + + + + + 680 + 50 + 91 + 51 + + + + + 微软雅黑 + 12 + 75 + true + + + + 确定 + + + + + + 20 + 1070 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 5#相机滤波时间(微秒): + + + + + + 320 + 1070 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 6#相机滤波时间(微秒): + + + + + + 20 + 1100 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 7#相机滤波时间(微秒): + + + + + + 320 + 1100 + 180 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + 8#相机滤波时间(微秒): + + + + + + 210 + 1070 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 210 + 1100 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 510 + 1070 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + 510 + 1100 + 90 + 20 + + + + + 微软雅黑 + 10 + 75 + true + + + + + + + + + + + 10 + 130 + 641 + 61 + + + + + 微软雅黑 + 12 + 75 + true + + + + 存图设置 + + + + + 30 + 30 + 90 + 21 + + + + + 微软雅黑 + 12 + 75 + true + + + + 不存 + + + + + + 230 + 30 + 90 + 21 + + + + + 微软雅黑 + 12 + 75 + true + + + + 存NG + + + + + + 440 + 30 + 90 + 21 + + + + + 微软雅黑 + 12 + 75 + true + + + + 全存 + + + + + + 570 + 25 + 50 + 30 + + + + + 微软雅黑 + 12 + 75 + true + + + + 确定 + + + + + + + 120 + 600 + 131 + 51 @@ -1014,10 +1518,10 @@ - 490 - 10 - 131 - 51 + 520 + 20 + 130 + 50 @@ -1032,13 +1536,13 @@ 退出系统 - + 10 - 490 + 430 641 - 91 + 81 @@ -1052,11 +1556,11 @@ 操作员密码修改 - + - 180 - 40 + 190 + 30 61 31 @@ -1076,8 +1580,8 @@ - 440 - 42 + 450 + 32 91 31 @@ -1101,8 +1605,8 @@ 250 - 40 - 91 + 30 + 101 31 @@ -1121,11 +1625,11 @@ QLineEdit::Password - + - 350 - 40 + 360 + 30 81 31 @@ -1145,8 +1649,8 @@ - 80 - 40 + 90 + 30 91 31 @@ -1166,11 +1670,11 @@ QLineEdit::Password - + - 10 - 40 + 20 + 30 61 31 @@ -1190,9 +1694,9 @@ - 540 - 30 - 91 + 550 + 20 + 81 51 @@ -1213,7 +1717,7 @@ 380 - 660 + 600 131 51 @@ -1233,10 +1737,10 @@ - 300 - 10 - 131 - 51 + 220 + 20 + 130 + 50 @@ -1254,8 +1758,8 @@ - 160 - 10 + 110 + 20 91 41 @@ -1278,9 +1782,9 @@ - 10 - 20 - 101 + 20 + 30 + 81 21 @@ -1299,10 +1803,10 @@ - 20 - 320 - 141 - 51 + 10 + 300 + 101 + 41 @@ -1320,10 +1824,10 @@ - 270 - 320 - 141 - 51 + 120 + 300 + 111 + 41 @@ -1341,10 +1845,10 @@ - 510 - 320 - 141 - 51 + 240 + 300 + 91 + 41 @@ -1359,132 +1863,176 @@ 产量统计 + + + + 620 + 310 + 27 + 26 + + + + + 微软雅黑 + + + + ... + + + + + + 340 + 310 + 101 + 21 + + + + + 微软雅黑 + 10 + 75 + true + + + + 模型存储路径 + + + + + + 450 + 310 + 161 + 25 + + + + + 微软雅黑 + + + + + + + 340 + 970 + 91 + 21 + + + + + 微软雅黑 + 75 + true + + + + 图片存储路径 + + + + + + 440 + 970 + 171 + 25 + + + + + 微软雅黑 + + + + + + + 620 + 970 + 27 + 26 + + + + + 微软雅黑 + + + + ... + + + + + + 370 + 20 + 130 + 50 + + + + + 微软雅黑 + 12 + 75 + true + + + + 清理图片 + + - - - - 530 - 970 - 91 - 31 - - - - - 微软雅黑 - 12 - 75 - true - - - - - - - - - - 40 - 970 - 181 - 31 - - - - - 微软雅黑 - 12 - 75 - true - - - - 5#相机曝光时间(微秒): - - - - - - 230 - 970 - 91 - 31 - - - - - 微软雅黑 - 12 - 75 - true - - - - - - - - - - 340 - 970 - 181 - 31 - - - - - 微软雅黑 - 12 - 75 - true - - - - 1#相机模拟增益(0~64): - - - + - 40 - 1020 - 211 - 31 + 560 + 600 + 131 + 21 微软雅黑 - 12 + 9 75 true - 1#相机滤波时间(微秒): + 测试单张图片 - + - 250 - 1020 - 91 - 31 + 560 + 630 + 131 + 21 微软雅黑 - 12 + 9 75 true - + 测试多张图片 diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.ui similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/dialogsetuppasswd.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/dialogsetuppasswd.ui diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.cpp new file mode 100644 index 00000000..b2d0c023 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.cpp @@ -0,0 +1,178 @@ +#include "exportData.h" +#include "QtCore\qfile.h" +#include "QtCore\qtextstream.h" +#include + +extern SyncQueue<_ExportDataInfo>* export_Data_Info_queue; + +ExportDataThread::ExportDataThread(QObject* parent) : QThread(parent) +{ + char xmlPath[256]; + for (int index = 0; index < NumberOfSupportedCameras; index++) + { + XMLError error; + pDocument[index] = new XMLDocument(); + memset(xmlPath, 0, 256); + sprintf(xmlPath, EXPORTDATA_FILE, index); + error = pDocument[index]->LoadFile(xmlPath); + if (error != XML_SUCCESS) + { + XMLDeclaration* declaration = pDocument[index]->NewDeclaration(); + pDocument[index]->InsertFirstChild(declaration); + XMLElement* root = pDocument[0]->NewElement("Root"); + pDocument[0]->InsertEndChild(root); + pDocument[index]->SaveFile(xmlPath); + } + /* + _ExportDataInfo data; + data.cameraId = index; + data.cameraTotal = 3; + data.timeCost = "3ms"; + insertXMLNode(xmlPath, data); + */ + } +} + +void ExportDataThread::init() +{ + b_quit = false; +} + +void ExportDataThread::start_work() +{ + start(HighestPriority); +} + +void ExportDataThread::stop() +{ + b_quit = true; + _ExportDataInfo data; + export_Data_Info_queue->put(data); +} + +bool _ExportDataInfo::getAverageData(map &averageData, int index) +{ + XMLDocument doc; + char xmlPath[256]; + XMLError error; + map data; + + memset(xmlPath, 0, 256); + sprintf(xmlPath, EXPORTDATA_FILE, index); + error = doc.LoadFile(xmlPath); + if (error != XML_SUCCESS) + if (doc.LoadFile(xmlPath) != 0) + { + cout << "load xml file failed" << endl; + return false; + } + XMLElement* root = doc.RootElement(); + XMLElement* userNode = root->FirstChildElement("Camera"); + data["CameraId"] = index; + data["IsNG"] = 0; + data["IsJdExist"] = 0; + data["Total"] = 0; + while (userNode != NULL) + { + if (atoi(userNode->Attribute("Id")) == index) { + data["IsNG"]++; + data["IsJdExist"]++; + data["Total"]++; + XMLElement* IsNgNode = userNode->FirstChildElement("IsNG"); + data["IsNg"] = strcmp(IsNgNode->GetText(), "TRUE"); + XMLElement* IsJdExistNode = userNode->FirstChildElement("IsJdExist"); + if (strcmp(IsJdExistNode->GetText(), "TRUE") == 0) + data["IsJdExist"]++; + XMLElement* TimeCostNode = userNode->FirstChildElement("TimeCost"); + data["TimeCost"] += stof(TimeCostNode->GetText()); + } + userNode = userNode->NextSiblingElement();//һֵܽڵ + } + if (data["Total"] == 0) + return false; + data["TimeCost"] = data["TimeCost"] / data["Total"]; + + averageData = data; + + return true; +} + +int ExportDataThread::insertXMLNode(const char* xmlPath, _ExportDataInfo& data) +{ + XMLElement* root = pDocument[data.cameraId]->RootElement(); + + if (root == NULL) { + root = pDocument[data.cameraId]->NewElement("Root"); + pDocument[data.cameraId]->InsertEndChild(root); + pDocument[data.cameraId]->SaveFile(xmlPath); + } + + XMLElement* CameraNode = pDocument[data.cameraId]->NewElement("Camera"); + CameraNode->SetAttribute("Id", data.cameraId); + CameraNode->SetAttribute("Count ", data.cameraTotal); + root->InsertEndChild(CameraNode); + + XMLElement* IsNG = pDocument[data.cameraId]->NewElement("IsNG"); + XMLText* IsNGText = pDocument[data.cameraId]->NewText(data.isNg ? "TRUE" : "FALSE"); + IsNG->InsertEndChild(IsNGText); + CameraNode->InsertEndChild(IsNG); + + XMLElement* timeCost = pDocument[data.cameraId]->NewElement("TimeCost"); + timeCost->InsertEndChild(pDocument[data.cameraId]->NewText(data.timeCost.c_str())); + CameraNode->InsertEndChild(timeCost); + + XMLElement* isJdExist = pDocument[data.cameraId]->NewElement("IsJdExist"); + isJdExist->InsertEndChild(pDocument[data.cameraId]->NewText(data.isJdExist[0] ? "TRUE" : "FALSE")); + CameraNode->InsertEndChild(isJdExist); + + // XMLElement* jdInterval = pDocument[data.cameraId]->NewElement("JdInterval"); + // jdInterval->InsertEndChild(pDocument[data.cameraId]->NewText((const char*)&data.jdInterval)); + // CameraNode->InsertEndChild(jdInterval); + + // XMLElement* jdInterval = pDocument[data.cameraId]->NewElement("jdPointsLocation"); + // jdInterval->InsertEndChild(pDocument[data.cameraId]->NewText(data.getPoint(0).c_str())); + // CameraNode->InsertEndChild(jdInterval); + + return pDocument[data.cameraId]->SaveFile(xmlPath); +} + +void ExportDataThread::run() +{ + while (!b_quit) { + _ExportDataInfo element; + export_Data_Info_queue->take(element); + if (element.cameraId != -1) { + char buf[256]; + memset(buf, 0, 256); + sprintf(buf, EXPORTDATA_FILE, element.cameraId); + insertXMLNode(buf, element); + } + } + + for (int index = 0; index < NumberOfSupportedCameras; index++) { + pDocument[index]->~XMLDocument(); + } + +} + +void ExportDataThread::check_save_dir(std::string dir_path) +{ + bool b_find = false; + for (int i = 0; i < vec_save_dirs.size(); i++) + { + if (dir_path == vec_save_dirs[i]) + { + b_find = true; + } + } + if (!b_find) + { + QString dir_str = QString::fromStdString(dir_path); + QDir dir; + if (!dir.exists(dir_str)) + { + dir.mkpath(dir_str); + } + vec_save_dirs.push_back(dir_path); + } +} \ No newline at end of file diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.h new file mode 100644 index 00000000..daff5fb1 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/exportData.h @@ -0,0 +1,87 @@ +#pragma once +#include +#include "ui_output_statistic.h" +#include +#include +#include +#include +#include +#include "basecamera.h" +#include "tinyxml2.h" + + +#define EXPORTDATA_FILE "D:/conf/camera%d_data_info.xml" + +using namespace tinyxml2; + +class _ExportDataInfo +{ + struct JdPoint // + { + string x; + string y; + }; + +public: + int cameraId; + int shotCounts; + int jd[20]; + string timeCost; + float jdInterval; + bool isNg; + bool isJdExist[20]; + long long cameraTotal; + std::vector jdPointsLocation; + float jdSize[20]; + + bool getAverageData(map& averageData, int index); + + string getPoint(int index) { + string point = "("; + point += jdPointsLocation.at(index).x + ',' + jdPointsLocation.at(index).y + ')'; + return point; + } + + _ExportDataInfo() + { + cameraId = -1; + jdInterval = 0.0; + isNg = false; + for (int i = 0; i < 20; i++)isJdExist[i] = false; + for (int i = 0; i < 20; i++)jd[i] = 0; + timeCost = "0ms"; + for (int i = 0; i < 20; i++)jdSize[i] = 0.0; + shotCounts = 0; + } +}; + +extern SyncQueue<_ExportDataInfo>* export_Data_Info_queue; + +class ExportDataThread : public QThread +{ + Q_OBJECT +signals: + + +public: + ExportDataThread(QObject* parent = 0); + ~ExportDataThread() + { + stop(); + //export_Data_Info_queue->put(data); + quit(); + wait(); + } + + void init(); + void start_work(); + void stop(); + int insertXMLNode(const char* xmlPath, _ExportDataInfo& data); +protected: + void run(); + void check_save_dir(std::string dir_path); +public: + bool b_quit; + std::vector vec_save_dirs; + tinyxml2::XMLDocument *pDocument[NumberOfSupportedCameras]; +}; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/hikcamera.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/hikcamera.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/hikcamera.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/hikcamera.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/hikcamera.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/hikcamera.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/hikcamera.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/hikcamera.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/main.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/main.cpp similarity index 62% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/main.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/main.cpp index f42eda19..05627df4 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/main.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/main.cpp @@ -2,12 +2,21 @@ #include #include #include - +#if defined LICENSE_VERIFY +#pragma comment(lib,"CryptoToolLib.lib") +#include "CryptoToolLib.h" +#endif int main(int argc, char *argv[]) { +#if defined LICENSE_VERIFY + if(!VerifyLicense()) + { + exit(0); + } +#endif qRegisterMetaType("cv::Mat"); QApplication a(argc, argv); - QPixmap pixmap("splash.jpg"); + QPixmap pixmap("D:/Release/splash.jpg"); QSplashScreen splash(pixmap); splash.show(); a.processEvents(); diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-private.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-private.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-private.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-private.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-rtu-private.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-rtu-private.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-rtu-private.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-rtu-private.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-rtu.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-rtu.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-rtu.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-rtu.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-tcp-private.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-tcp-private.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-tcp-private.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-tcp-private.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-tcp.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-tcp.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-tcp.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-tcp.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-version.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-version.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus-version.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus-version.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus.lib b/云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus.lib similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/modbus/modbus.lib rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/modbus/modbus.lib diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.cpp new file mode 100644 index 00000000..86c61696 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.cpp @@ -0,0 +1,109 @@ +#include "output_statistic.h" +#include "QtCore\qfile.h" +#include "QtCore\qtextstream.h" +#include "exportData.h" +#include "common.h" +#include + +output_statistic::output_statistic(QDialog *parent) + : QDialog(parent) +{ + ui.setupUi(this); + this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); +} + +output_statistic::~output_statistic() +{ +} + +void output_statistic::recMsgFromDialogSetup() +{ +#ifdef __ExportData + _ExportDataInfo data; + map averageData[NumberOfSupportedCameras]; + + ui.tabWidget->setTabVisible(1, false); + ui.tabWidget->setTabVisible(2, false); + ui.tabWidget->setTabVisible(3, false); + ui.tabWidget->setTabVisible(4, false); + ui.tabWidget->setTabVisible(5, false); + ui.tabWidget->setTabVisible(6, false); + ui.tabWidget->setTabVisible(7, false); + ui.tabWidget->setTabText(0, "Statistical data"); + + + for (int index = 0; index < NumberOfSupportedCameras; index++) { + data.getAverageData(averageData[index], index); + QString text; + text.append(" CameraId: "); + text.append(std::to_string((int)averageData[index]["CameraId"]).c_str()); + text.append("\n IsNG: "); + text.append(std::to_string((int)averageData[index]["IsNG"]).c_str()); + text.append("\n IsJdExist: "); + text.append(std::to_string((int)averageData[index]["IsJdExist"]).c_str()); + text.append("\n TimeCost: "); + text.append(std::to_string(averageData[index]["TimeCost"]).c_str()); + text.append("\n*************************************************\n"); + ui.textBrowser_1->insertPlainText(text); + } + +#else + QFile file("../conf/camera0_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_1->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera1_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_2->setText(in.readAll()); + } + file.close(); + /*file.setFileName("../conf/camera2_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_3->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera3_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_4->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera4_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_5->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera5_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_6->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera6_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_7->setText(in.readAll()); + } + file.close(); + file.setFileName("../conf/camera7_statistic.txt"); + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QTextStream in(&file); + ui.textBrowser_8->setText(in.readAll()); + } + file.close();*/ +#endif + this->show(); +} diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.ui similarity index 65% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.ui index 36d42d97..e2efce90 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/output_statistic.ui +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/output_statistic.ui @@ -6,7 +6,7 @@ 0 0 - 573 + 810 390 @@ -22,22 +22,37 @@ QFrame::Raised - + + + + 微软雅黑 + + - 0 + 1 Camera1 - + + + + Camera2 + + + + + + + diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plc_item.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plc_item.cpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plc_item.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/plc_item.cpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plc_item.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plc_item.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plc_item.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/plc_item.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.cpp similarity index 99% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.cpp index 67c73d37..38fb142e 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.cpp @@ -8,7 +8,7 @@ #include #include #include "PLCDevice.h" -#define PLC_ITEM_FILE "../conf/plc.txt" +#define PLC_ITEM_FILE "D:/conf/plc.txt" extern PLCDevice * m_PLCDevice; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.hpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.hpp similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.hpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.hpp diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.ui b/云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.ui similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/plcsetup.ui rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/plcsetup.ui diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/pswd.txt b/云南楚雄ZB48A-2相机-1280x800/Cigarette/pswd.txt similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/pswd.txt rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/pswd.txt diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/pswd_op.txt b/云南楚雄ZB48A-2相机-1280x800/Cigarette/pswd_op.txt similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/pswd_op.txt rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/pswd_op.txt diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/savethread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/savethread.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/savethread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/savethread.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/splash.jpg b/云南楚雄ZB48A-2相机-1280x800/Cigarette/splash.jpg similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/splash.jpg rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/splash.jpg diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadReceive.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadReceive.cpp similarity index 73% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadReceive.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/threadReceive.cpp index c9023c8b..767cb588 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadReceive.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadReceive.cpp @@ -49,11 +49,12 @@ void threadReceive::processPendingDatagram() void threadReceive::fileprocessPendingDatagram() { + QString filename; + std::fstream file; // ӵеȴݱ while (filemSocket->hasPendingDatagrams()) { QByteArray datagram; - // datagramĴСΪȴݱĴСܽյ datagram.resize(filemSocket->pendingDatagramSize()); @@ -61,13 +62,28 @@ void threadReceive::fileprocessPendingDatagram() filemSocket->readDatagram(datagram.data(), datagram.size()); QString data = datagram; - std::fstream cfg_file; - cfg_file.open("../conf/conf.txt",std::ios::out | std::ios::trunc); - if (cfg_file.is_open()) + QString str = data.mid(0, 4); + if (str == "SYNC") { - cfg_file.write(data.toStdString().c_str(),datagram.size()); + str = data.mid(4, 3); + if (str == "str") + { + filename = data.mid(7, data.length() - 7); + file.open(("../conf/" + filename.toStdString()).c_str(), std::ios::out | std::ios::trunc | ios::binary); + } + else if (str == "con") + { + str = data.mid(7, data.length() - 7); + if (file.is_open()) + { + file.write(str.toStdString().c_str(), str.toStdString().size()); + } + } + else if (str == "end") + { + str = data.mid(7, data.length() - 7); + file.close(); + } } - cfg_file.close(); - } } \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadReceive.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadReceive.h similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadReceive.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/threadReceive.h diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.cpp similarity index 77% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.cpp rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.cpp index 1ab07efc..0fb11441 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.cpp +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.cpp @@ -1,7 +1,8 @@ #include "threadSend.h" #include #include "basecamera.h" - +#include +#include void threadSend::init(SyncQueue<_UDPSendInfo> *p_UDP_Info_queue,std::string IP,int port) { ip = QString::fromStdString(IP); @@ -133,3 +134,41 @@ void threadSend::sendTotal(_UDPSendInfo *UDPSendInfo,int port) .arg(QString::number(UDPSendInfo->Total)); mSocket.writeDatagram(res.toUtf8(), QHostAddress(ip), port + UDPSendInfo->index); } + +void threadSend::sendFile(QString FilePath, int port) +{ + QFileInfo info(FilePath); + QString filename = info.fileName(); + QFile file(FilePath); + if (file.size() > 0) { + bool isOk = file.open(QIODevice::ReadOnly); + if (false == isOk) { + return ; + } + } + else { + return ; + } + QString sync("SYNC"); + if (!file.atEnd()) { + QString FileStartFrame(sync); + FileStartFrame.append("str"); + FileStartFrame.append(filename); + mSocket.writeDatagram(FileStartFrame.toLatin1(), QHostAddress(ip), port); + } + + msleep(10); + while (!file.atEnd()) {//文件指针 + QString FileFrame(sync); + FileFrame.append("con"); + QByteArray line = FileFrame.toLatin1() + file.read(1000); + mSocket.writeDatagram(line, QHostAddress(ip), port); + msleep(10); + } + + QString FileEndFrame(sync); + FileEndFrame.append("end");//结尾标志 + FileEndFrame.append(QString::number(file.size()));//文件大小 + mSocket.writeDatagram(FileEndFrame.toLatin1(), QHostAddress(ip), port); + file.close(); +} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.h similarity index 76% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.h index ccbd3de5..fa52929c 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/threadSend.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/threadSend.h @@ -11,33 +11,8 @@ #include -#define SUCCESS 0 -#define NO_LOGIN 1 -#define UNKICK_FAIL 2 -#define UNKICK_OK 3 -#define DEBUG_EN_STILL_WORK 4 -#define DEBUG_DIS_STILL_WORK 5 -#define DEBUG_EN_FAIL 6 -#define DEBUG_DIS_FAIL 7 -#define DEBUG_EN 8 -#define DEBUG_DIS 9 -#define KICK_FAIL 10 -#define LOGIN_IN 11 -#define PSW_ERROR 12 -#define NEED_LOGIN 13 -#define CHECK_WORKSTATE 14 -#define UNLOCK_OK 15 -#define LOCK_OK 16 -#define STILL_DEBUG 17 -#define KICK_OK 18 -#define GETSETTING 19 -#define CANSETCONF 20 -#define HANDSHAKE 40 -#define WORK 21 -#define NO_WORK 22 - -#define image_width 80 -#define image_heigh 60 +#define image_width 160 +#define image_heigh 120 #define info_frame 1 #define speed_frame 2 @@ -113,6 +88,7 @@ public: void sendOK(_UDPSendInfo *UDPSendInfo,int port); void sendNG(_UDPSendInfo *UDPSendInfo,int port); void sendTotal(_UDPSendInfo *UDPSendInfo,int port); + void sendFile(QString FilePath, int port); public: SyncQueue<_UDPSendInfo> *Local_UDP_Info_queue; std::atomic_bool isLoop = { 0 }; diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/three test.jpg b/云南楚雄ZB48A-2相机-1280x800/Cigarette/three test.jpg similarity index 100% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/three test.jpg rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/three test.jpg diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.cpp new file mode 100644 index 00000000..05b0266f --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.cpp @@ -0,0 +1,2994 @@ +/* +Original code by Lee Thomason (www.grinninglizard.com) + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any +damages arising from the use of this software. + +Permission is granted to anyone to use this software for any +purpose, including commercial applications, and to alter it and +redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must +not claim that you wrote the original software. If you use this +software in a product, an acknowledgment in the product documentation +would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and +must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. +*/ + +#include "tinyxml2.h" + +#include // yes, this one new style header, is in the Android SDK. +#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) +# include +# include +#else +# include +# include +#endif + +#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE) + // Microsoft Visual Studio, version 2005 and higher. Not WinCE. + /*int _snprintf_s( + char *buffer, + size_t sizeOfBuffer, + size_t count, + const char *format [, + argument] ... + );*/ + static inline int TIXML_SNPRINTF( char* buffer, size_t size, const char* format, ... ) + { + va_list va; + va_start( va, format ); + const int result = vsnprintf_s( buffer, size, _TRUNCATE, format, va ); + va_end( va ); + return result; + } + + static inline int TIXML_VSNPRINTF( char* buffer, size_t size, const char* format, va_list va ) + { + const int result = vsnprintf_s( buffer, size, _TRUNCATE, format, va ); + return result; + } + + #define TIXML_VSCPRINTF _vscprintf + #define TIXML_SSCANF sscanf_s +#elif defined _MSC_VER + // Microsoft Visual Studio 2003 and earlier or WinCE + #define TIXML_SNPRINTF _snprintf + #define TIXML_VSNPRINTF _vsnprintf + #define TIXML_SSCANF sscanf + #if (_MSC_VER < 1400 ) && (!defined WINCE) + // Microsoft Visual Studio 2003 and not WinCE. + #define TIXML_VSCPRINTF _vscprintf // VS2003's C runtime has this, but VC6 C runtime or WinCE SDK doesn't have. + #else + // Microsoft Visual Studio 2003 and earlier or WinCE. + static inline int TIXML_VSCPRINTF( const char* format, va_list va ) + { + int len = 512; + for (;;) { + len = len*2; + char* str = new char[len](); + const int required = _vsnprintf(str, len, format, va); + delete[] str; + if ( required != -1 ) { + TIXMLASSERT( required >= 0 ); + len = required; + break; + } + } + TIXMLASSERT( len >= 0 ); + return len; + } + #endif +#else + // GCC version 3 and higher + //#warning( "Using sn* functions." ) + #define TIXML_SNPRINTF snprintf + #define TIXML_VSNPRINTF vsnprintf + static inline int TIXML_VSCPRINTF( const char* format, va_list va ) + { + int len = vsnprintf( 0, 0, format, va ); + TIXMLASSERT( len >= 0 ); + return len; + } + #define TIXML_SSCANF sscanf +#endif + +#if defined(_WIN64) + #define TIXML_FSEEK _fseeki64 + #define TIXML_FTELL _ftelli64 +#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || (__CYGWIN__) + #define TIXML_FSEEK fseeko + #define TIXML_FTELL ftello +#elif defined(__ANDROID__) + #if __ANDROID_API__ > 24 + #define TIXML_FSEEK fseeko64 + #define TIXML_FTELL ftello64 + #else + #define TIXML_FSEEK fseeko + #define TIXML_FTELL ftello + #endif +#elif defined(__unix__) && defined(__x86_64__) + #define TIXML_FSEEK fseeko64 + #define TIXML_FTELL ftello64 +#else + #define TIXML_FSEEK fseek + #define TIXML_FTELL ftell +#endif + + +static const char LINE_FEED = static_cast(0x0a); // all line endings are normalized to LF +static const char LF = LINE_FEED; +static const char CARRIAGE_RETURN = static_cast(0x0d); // CR gets filtered out +static const char CR = CARRIAGE_RETURN; +static const char SINGLE_QUOTE = '\''; +static const char DOUBLE_QUOTE = '\"'; + +// Bunch of unicode info at: +// http://www.unicode.org/faq/utf_bom.html +// ef bb bf (Microsoft "lead bytes") - designates UTF-8 + +static const unsigned char TIXML_UTF_LEAD_0 = 0xefU; +static const unsigned char TIXML_UTF_LEAD_1 = 0xbbU; +static const unsigned char TIXML_UTF_LEAD_2 = 0xbfU; + +namespace tinyxml2 +{ + +struct Entity { + const char* pattern; + int length; + char value; +}; + +static const int NUM_ENTITIES = 5; +static const Entity entities[NUM_ENTITIES] = { + { "quot", 4, DOUBLE_QUOTE }, + { "amp", 3, '&' }, + { "apos", 4, SINGLE_QUOTE }, + { "lt", 2, '<' }, + { "gt", 2, '>' } +}; + + +StrPair::~StrPair() +{ + Reset(); +} + + +void StrPair::TransferTo( StrPair* other ) +{ + if ( this == other ) { + return; + } + // This in effect implements the assignment operator by "moving" + // ownership (as in auto_ptr). + + TIXMLASSERT( other != 0 ); + TIXMLASSERT( other->_flags == 0 ); + TIXMLASSERT( other->_start == 0 ); + TIXMLASSERT( other->_end == 0 ); + + other->Reset(); + + other->_flags = _flags; + other->_start = _start; + other->_end = _end; + + _flags = 0; + _start = 0; + _end = 0; +} + + +void StrPair::Reset() +{ + if ( _flags & NEEDS_DELETE ) { + delete [] _start; + } + _flags = 0; + _start = 0; + _end = 0; +} + + +void StrPair::SetStr( const char* str, int flags ) +{ + TIXMLASSERT( str ); + Reset(); + size_t len = strlen( str ); + TIXMLASSERT( _start == 0 ); + _start = new char[ len+1 ]; + memcpy( _start, str, len+1 ); + _end = _start + len; + _flags = flags | NEEDS_DELETE; +} + + +char* StrPair::ParseText( char* p, const char* endTag, int strFlags, int* curLineNumPtr ) +{ + TIXMLASSERT( p ); + TIXMLASSERT( endTag && *endTag ); + TIXMLASSERT(curLineNumPtr); + + char* start = p; + const char endChar = *endTag; + size_t length = strlen( endTag ); + + // Inner loop of text parsing. + while ( *p ) { + if ( *p == endChar && strncmp( p, endTag, length ) == 0 ) { + Set( start, p, strFlags ); + return p + length; + } else if (*p == '\n') { + ++(*curLineNumPtr); + } + ++p; + TIXMLASSERT( p ); + } + return 0; +} + + +char* StrPair::ParseName( char* p ) +{ + if ( !p || !(*p) ) { + return 0; + } + if ( !XMLUtil::IsNameStartChar( (unsigned char) *p ) ) { + return 0; + } + + char* const start = p; + ++p; + while ( *p && XMLUtil::IsNameChar( (unsigned char) *p ) ) { + ++p; + } + + Set( start, p, 0 ); + return p; +} + + +void StrPair::CollapseWhitespace() +{ + // Adjusting _start would cause undefined behavior on delete[] + TIXMLASSERT( ( _flags & NEEDS_DELETE ) == 0 ); + // Trim leading space. + _start = XMLUtil::SkipWhiteSpace( _start, 0 ); + + if ( *_start ) { + const char* p = _start; // the read pointer + char* q = _start; // the write pointer + + while( *p ) { + if ( XMLUtil::IsWhiteSpace( *p )) { + p = XMLUtil::SkipWhiteSpace( p, 0 ); + if ( *p == 0 ) { + break; // don't write to q; this trims the trailing space. + } + *q = ' '; + ++q; + } + *q = *p; + ++q; + ++p; + } + *q = 0; + } +} + + +const char* StrPair::GetStr() +{ + TIXMLASSERT( _start ); + TIXMLASSERT( _end ); + if ( _flags & NEEDS_FLUSH ) { + *_end = 0; + _flags ^= NEEDS_FLUSH; + + if ( _flags ) { + const char* p = _start; // the read pointer + char* q = _start; // the write pointer + + while( p < _end ) { + if ( (_flags & NEEDS_NEWLINE_NORMALIZATION) && *p == CR ) { + // CR-LF pair becomes LF + // CR alone becomes LF + // LF-CR becomes LF + if ( *(p+1) == LF ) { + p += 2; + } + else { + ++p; + } + *q = LF; + ++q; + } + else if ( (_flags & NEEDS_NEWLINE_NORMALIZATION) && *p == LF ) { + if ( *(p+1) == CR ) { + p += 2; + } + else { + ++p; + } + *q = LF; + ++q; + } + else if ( (_flags & NEEDS_ENTITY_PROCESSING) && *p == '&' ) { + // Entities handled by tinyXML2: + // - special entities in the entity table [in/out] + // - numeric character reference [in] + // 中 or 中 + + if ( *(p+1) == '#' ) { + const int buflen = 10; + char buf[buflen] = { 0 }; + int len = 0; + const char* adjusted = const_cast( XMLUtil::GetCharacterRef( p, buf, &len ) ); + if ( adjusted == 0 ) { + *q = *p; + ++p; + ++q; + } + else { + TIXMLASSERT( 0 <= len && len <= buflen ); + TIXMLASSERT( q + len <= adjusted ); + p = adjusted; + memcpy( q, buf, len ); + q += len; + } + } + else { + bool entityFound = false; + for( int i = 0; i < NUM_ENTITIES; ++i ) { + const Entity& entity = entities[i]; + if ( strncmp( p + 1, entity.pattern, entity.length ) == 0 + && *( p + entity.length + 1 ) == ';' ) { + // Found an entity - convert. + *q = entity.value; + ++q; + p += entity.length + 2; + entityFound = true; + break; + } + } + if ( !entityFound ) { + // fixme: treat as error? + ++p; + ++q; + } + } + } + else { + *q = *p; + ++p; + ++q; + } + } + *q = 0; + } + // The loop below has plenty going on, and this + // is a less useful mode. Break it out. + if ( _flags & NEEDS_WHITESPACE_COLLAPSING ) { + CollapseWhitespace(); + } + _flags = (_flags & NEEDS_DELETE); + } + TIXMLASSERT( _start ); + return _start; +} + + + + +// --------- XMLUtil ----------- // + +const char* XMLUtil::writeBoolTrue = "true"; +const char* XMLUtil::writeBoolFalse = "false"; + +void XMLUtil::SetBoolSerialization(const char* writeTrue, const char* writeFalse) +{ + static const char* defTrue = "true"; + static const char* defFalse = "false"; + + writeBoolTrue = (writeTrue) ? writeTrue : defTrue; + writeBoolFalse = (writeFalse) ? writeFalse : defFalse; +} + + +const char* XMLUtil::ReadBOM( const char* p, bool* bom ) +{ + TIXMLASSERT( p ); + TIXMLASSERT( bom ); + *bom = false; + const unsigned char* pu = reinterpret_cast(p); + // Check for BOM: + if ( *(pu+0) == TIXML_UTF_LEAD_0 + && *(pu+1) == TIXML_UTF_LEAD_1 + && *(pu+2) == TIXML_UTF_LEAD_2 ) { + *bom = true; + p += 3; + } + TIXMLASSERT( p ); + return p; +} + + +void XMLUtil::ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ) +{ + const unsigned long BYTE_MASK = 0xBF; + const unsigned long BYTE_MARK = 0x80; + const unsigned long FIRST_BYTE_MARK[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; + + if (input < 0x80) { + *length = 1; + } + else if ( input < 0x800 ) { + *length = 2; + } + else if ( input < 0x10000 ) { + *length = 3; + } + else if ( input < 0x200000 ) { + *length = 4; + } + else { + *length = 0; // This code won't convert this correctly anyway. + return; + } + + output += *length; + + // Scary scary fall throughs are annotated with carefully designed comments + // to suppress compiler warnings such as -Wimplicit-fallthrough in gcc + switch (*length) { + case 4: + --output; + *output = static_cast((input | BYTE_MARK) & BYTE_MASK); + input >>= 6; + //fall through + case 3: + --output; + *output = static_cast((input | BYTE_MARK) & BYTE_MASK); + input >>= 6; + //fall through + case 2: + --output; + *output = static_cast((input | BYTE_MARK) & BYTE_MASK); + input >>= 6; + //fall through + case 1: + --output; + *output = static_cast(input | FIRST_BYTE_MARK[*length]); + break; + default: + TIXMLASSERT( false ); + } +} + + +const char* XMLUtil::GetCharacterRef( const char* p, char* value, int* length ) +{ + // Presume an entity, and pull it out. + *length = 0; + + if ( *(p+1) == '#' && *(p+2) ) { + unsigned long ucs = 0; + TIXMLASSERT( sizeof( ucs ) >= 4 ); + ptrdiff_t delta = 0; + unsigned mult = 1; + static const char SEMICOLON = ';'; + + if ( *(p+2) == 'x' ) { + // Hexadecimal. + const char* q = p+3; + if ( !(*q) ) { + return 0; + } + + q = strchr( q, SEMICOLON ); + + if ( !q ) { + return 0; + } + TIXMLASSERT( *q == SEMICOLON ); + + delta = q-p; + --q; + + while ( *q != 'x' ) { + unsigned int digit = 0; + + if ( *q >= '0' && *q <= '9' ) { + digit = *q - '0'; + } + else if ( *q >= 'a' && *q <= 'f' ) { + digit = *q - 'a' + 10; + } + else if ( *q >= 'A' && *q <= 'F' ) { + digit = *q - 'A' + 10; + } + else { + return 0; + } + TIXMLASSERT( digit < 16 ); + TIXMLASSERT( digit == 0 || mult <= UINT_MAX / digit ); + const unsigned int digitScaled = mult * digit; + TIXMLASSERT( ucs <= ULONG_MAX - digitScaled ); + ucs += digitScaled; + TIXMLASSERT( mult <= UINT_MAX / 16 ); + mult *= 16; + --q; + } + } + else { + // Decimal. + const char* q = p+2; + if ( !(*q) ) { + return 0; + } + + q = strchr( q, SEMICOLON ); + + if ( !q ) { + return 0; + } + TIXMLASSERT( *q == SEMICOLON ); + + delta = q-p; + --q; + + while ( *q != '#' ) { + if ( *q >= '0' && *q <= '9' ) { + const unsigned int digit = *q - '0'; + TIXMLASSERT( digit < 10 ); + TIXMLASSERT( digit == 0 || mult <= UINT_MAX / digit ); + const unsigned int digitScaled = mult * digit; + TIXMLASSERT( ucs <= ULONG_MAX - digitScaled ); + ucs += digitScaled; + } + else { + return 0; + } + TIXMLASSERT( mult <= UINT_MAX / 10 ); + mult *= 10; + --q; + } + } + // convert the UCS to UTF-8 + ConvertUTF32ToUTF8( ucs, value, length ); + return p + delta + 1; + } + return p+1; +} + + +void XMLUtil::ToStr( int v, char* buffer, int bufferSize ) +{ + TIXML_SNPRINTF( buffer, bufferSize, "%d", v ); +} + + +void XMLUtil::ToStr( unsigned v, char* buffer, int bufferSize ) +{ + TIXML_SNPRINTF( buffer, bufferSize, "%u", v ); +} + + +void XMLUtil::ToStr( bool v, char* buffer, int bufferSize ) +{ + TIXML_SNPRINTF( buffer, bufferSize, "%s", v ? writeBoolTrue : writeBoolFalse); +} + +/* + ToStr() of a number is a very tricky topic. + https://github.com/leethomason/tinyxml2/issues/106 +*/ +void XMLUtil::ToStr( float v, char* buffer, int bufferSize ) +{ + TIXML_SNPRINTF( buffer, bufferSize, "%.8g", v ); +} + + +void XMLUtil::ToStr( double v, char* buffer, int bufferSize ) +{ + TIXML_SNPRINTF( buffer, bufferSize, "%.17g", v ); +} + + +void XMLUtil::ToStr( int64_t v, char* buffer, int bufferSize ) +{ + // horrible syntax trick to make the compiler happy about %lld + TIXML_SNPRINTF(buffer, bufferSize, "%lld", static_cast(v)); +} + +void XMLUtil::ToStr( uint64_t v, char* buffer, int bufferSize ) +{ + // horrible syntax trick to make the compiler happy about %llu + TIXML_SNPRINTF(buffer, bufferSize, "%llu", (long long)v); +} + +bool XMLUtil::ToInt(const char* str, int* value) +{ + if (IsPrefixHex(str)) { + unsigned v; + if (TIXML_SSCANF(str, "%x", &v) == 1) { + *value = static_cast(v); + return true; + } + } + else { + if (TIXML_SSCANF(str, "%d", value) == 1) { + return true; + } + } + return false; +} + +bool XMLUtil::ToUnsigned(const char* str, unsigned* value) +{ + if (TIXML_SSCANF(str, IsPrefixHex(str) ? "%x" : "%u", value) == 1) { + return true; + } + return false; +} + +bool XMLUtil::ToBool( const char* str, bool* value ) +{ + int ival = 0; + if ( ToInt( str, &ival )) { + *value = (ival==0) ? false : true; + return true; + } + static const char* TRUE_VALS[] = { "true", "True", "TRUE", 0 }; + static const char* FALSE_VALS[] = { "false", "False", "FALSE", 0 }; + + for (int i = 0; TRUE_VALS[i]; ++i) { + if (StringEqual(str, TRUE_VALS[i])) { + *value = true; + return true; + } + } + for (int i = 0; FALSE_VALS[i]; ++i) { + if (StringEqual(str, FALSE_VALS[i])) { + *value = false; + return true; + } + } + return false; +} + + +bool XMLUtil::ToFloat( const char* str, float* value ) +{ + if ( TIXML_SSCANF( str, "%f", value ) == 1 ) { + return true; + } + return false; +} + + +bool XMLUtil::ToDouble( const char* str, double* value ) +{ + if ( TIXML_SSCANF( str, "%lf", value ) == 1 ) { + return true; + } + return false; +} + + +bool XMLUtil::ToInt64(const char* str, int64_t* value) +{ + if (IsPrefixHex(str)) { + unsigned long long v = 0; // horrible syntax trick to make the compiler happy about %llx + if (TIXML_SSCANF(str, "%llx", &v) == 1) { + *value = static_cast(v); + return true; + } + } + else { + long long v = 0; // horrible syntax trick to make the compiler happy about %lld + if (TIXML_SSCANF(str, "%lld", &v) == 1) { + *value = static_cast(v); + return true; + } + } + return false; +} + + +bool XMLUtil::ToUnsigned64(const char* str, uint64_t* value) { + unsigned long long v = 0; // horrible syntax trick to make the compiler happy about %llu + if(TIXML_SSCANF(str, IsPrefixHex(str) ? "%llx" : "%llu", &v) == 1) { + *value = (uint64_t)v; + return true; + } + return false; +} + + +char* XMLDocument::Identify( char* p, XMLNode** node ) +{ + TIXMLASSERT( node ); + TIXMLASSERT( p ); + char* const start = p; + int const startLine = _parseCurLineNum; + p = XMLUtil::SkipWhiteSpace( p, &_parseCurLineNum ); + if( !*p ) { + *node = 0; + TIXMLASSERT( p ); + return p; + } + + // These strings define the matching patterns: + static const char* xmlHeader = { "( _commentPool ); + returnNode->_parseLineNum = _parseCurLineNum; + p += xmlHeaderLen; + } + else if ( XMLUtil::StringEqual( p, commentHeader, commentHeaderLen ) ) { + returnNode = CreateUnlinkedNode( _commentPool ); + returnNode->_parseLineNum = _parseCurLineNum; + p += commentHeaderLen; + } + else if ( XMLUtil::StringEqual( p, cdataHeader, cdataHeaderLen ) ) { + XMLText* text = CreateUnlinkedNode( _textPool ); + returnNode = text; + returnNode->_parseLineNum = _parseCurLineNum; + p += cdataHeaderLen; + text->SetCData( true ); + } + else if ( XMLUtil::StringEqual( p, dtdHeader, dtdHeaderLen ) ) { + returnNode = CreateUnlinkedNode( _commentPool ); + returnNode->_parseLineNum = _parseCurLineNum; + p += dtdHeaderLen; + } + else if ( XMLUtil::StringEqual( p, elementHeader, elementHeaderLen ) ) { + returnNode = CreateUnlinkedNode( _elementPool ); + returnNode->_parseLineNum = _parseCurLineNum; + p += elementHeaderLen; + } + else { + returnNode = CreateUnlinkedNode( _textPool ); + returnNode->_parseLineNum = _parseCurLineNum; // Report line of first non-whitespace character + p = start; // Back it up, all the text counts. + _parseCurLineNum = startLine; + } + + TIXMLASSERT( returnNode ); + TIXMLASSERT( p ); + *node = returnNode; + return p; +} + + +bool XMLDocument::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + if ( visitor->VisitEnter( *this ) ) { + for ( const XMLNode* node=FirstChild(); node; node=node->NextSibling() ) { + if ( !node->Accept( visitor ) ) { + break; + } + } + } + return visitor->VisitExit( *this ); +} + + +// --------- XMLNode ----------- // + +XMLNode::XMLNode( XMLDocument* doc ) : + _document( doc ), + _parent( 0 ), + _value(), + _parseLineNum( 0 ), + _firstChild( 0 ), _lastChild( 0 ), + _prev( 0 ), _next( 0 ), + _userData( 0 ), + _memPool( 0 ) +{ +} + + +XMLNode::~XMLNode() +{ + DeleteChildren(); + if ( _parent ) { + _parent->Unlink( this ); + } +} + +const char* XMLNode::Value() const +{ + // Edge case: XMLDocuments don't have a Value. Return null. + if ( this->ToDocument() ) + return 0; + return _value.GetStr(); +} + +void XMLNode::SetValue( const char* str, bool staticMem ) +{ + if ( staticMem ) { + _value.SetInternedStr( str ); + } + else { + _value.SetStr( str ); + } +} + +XMLNode* XMLNode::DeepClone(XMLDocument* target) const +{ + XMLNode* clone = this->ShallowClone(target); + if (!clone) return 0; + + for (const XMLNode* child = this->FirstChild(); child; child = child->NextSibling()) { + XMLNode* childClone = child->DeepClone(target); + TIXMLASSERT(childClone); + clone->InsertEndChild(childClone); + } + return clone; +} + +void XMLNode::DeleteChildren() +{ + while( _firstChild ) { + TIXMLASSERT( _lastChild ); + DeleteChild( _firstChild ); + } + _firstChild = _lastChild = 0; +} + + +void XMLNode::Unlink( XMLNode* child ) +{ + TIXMLASSERT( child ); + TIXMLASSERT( child->_document == _document ); + TIXMLASSERT( child->_parent == this ); + if ( child == _firstChild ) { + _firstChild = _firstChild->_next; + } + if ( child == _lastChild ) { + _lastChild = _lastChild->_prev; + } + + if ( child->_prev ) { + child->_prev->_next = child->_next; + } + if ( child->_next ) { + child->_next->_prev = child->_prev; + } + child->_next = 0; + child->_prev = 0; + child->_parent = 0; +} + + +void XMLNode::DeleteChild( XMLNode* node ) +{ + TIXMLASSERT( node ); + TIXMLASSERT( node->_document == _document ); + TIXMLASSERT( node->_parent == this ); + Unlink( node ); + TIXMLASSERT(node->_prev == 0); + TIXMLASSERT(node->_next == 0); + TIXMLASSERT(node->_parent == 0); + DeleteNode( node ); +} + + +XMLNode* XMLNode::InsertEndChild( XMLNode* addThis ) +{ + TIXMLASSERT( addThis ); + if ( addThis->_document != _document ) { + TIXMLASSERT( false ); + return 0; + } + InsertChildPreamble( addThis ); + + if ( _lastChild ) { + TIXMLASSERT( _firstChild ); + TIXMLASSERT( _lastChild->_next == 0 ); + _lastChild->_next = addThis; + addThis->_prev = _lastChild; + _lastChild = addThis; + + addThis->_next = 0; + } + else { + TIXMLASSERT( _firstChild == 0 ); + _firstChild = _lastChild = addThis; + + addThis->_prev = 0; + addThis->_next = 0; + } + addThis->_parent = this; + return addThis; +} + + +XMLNode* XMLNode::InsertFirstChild( XMLNode* addThis ) +{ + TIXMLASSERT( addThis ); + if ( addThis->_document != _document ) { + TIXMLASSERT( false ); + return 0; + } + InsertChildPreamble( addThis ); + + if ( _firstChild ) { + TIXMLASSERT( _lastChild ); + TIXMLASSERT( _firstChild->_prev == 0 ); + + _firstChild->_prev = addThis; + addThis->_next = _firstChild; + _firstChild = addThis; + + addThis->_prev = 0; + } + else { + TIXMLASSERT( _lastChild == 0 ); + _firstChild = _lastChild = addThis; + + addThis->_prev = 0; + addThis->_next = 0; + } + addThis->_parent = this; + return addThis; +} + + +XMLNode* XMLNode::InsertAfterChild( XMLNode* afterThis, XMLNode* addThis ) +{ + TIXMLASSERT( addThis ); + if ( addThis->_document != _document ) { + TIXMLASSERT( false ); + return 0; + } + + TIXMLASSERT( afterThis ); + + if ( afterThis->_parent != this ) { + TIXMLASSERT( false ); + return 0; + } + if ( afterThis == addThis ) { + // Current state: BeforeThis -> AddThis -> OneAfterAddThis + // Now AddThis must disappear from it's location and then + // reappear between BeforeThis and OneAfterAddThis. + // So just leave it where it is. + return addThis; + } + + if ( afterThis->_next == 0 ) { + // The last node or the only node. + return InsertEndChild( addThis ); + } + InsertChildPreamble( addThis ); + addThis->_prev = afterThis; + addThis->_next = afterThis->_next; + afterThis->_next->_prev = addThis; + afterThis->_next = addThis; + addThis->_parent = this; + return addThis; +} + + + + +const XMLElement* XMLNode::FirstChildElement( const char* name ) const +{ + for( const XMLNode* node = _firstChild; node; node = node->_next ) { + const XMLElement* element = node->ToElementWithName( name ); + if ( element ) { + return element; + } + } + return 0; +} + + +const XMLElement* XMLNode::LastChildElement( const char* name ) const +{ + for( const XMLNode* node = _lastChild; node; node = node->_prev ) { + const XMLElement* element = node->ToElementWithName( name ); + if ( element ) { + return element; + } + } + return 0; +} + + +const XMLElement* XMLNode::NextSiblingElement( const char* name ) const +{ + for( const XMLNode* node = _next; node; node = node->_next ) { + const XMLElement* element = node->ToElementWithName( name ); + if ( element ) { + return element; + } + } + return 0; +} + + +const XMLElement* XMLNode::PreviousSiblingElement( const char* name ) const +{ + for( const XMLNode* node = _prev; node; node = node->_prev ) { + const XMLElement* element = node->ToElementWithName( name ); + if ( element ) { + return element; + } + } + return 0; +} + + +char* XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ) +{ + // This is a recursive method, but thinking about it "at the current level" + // it is a pretty simple flat list: + // + // + // + // With a special case: + // + // + // + // + // Where the closing element (/foo) *must* be the next thing after the opening + // element, and the names must match. BUT the tricky bit is that the closing + // element will be read by the child. + // + // 'endTag' is the end tag for this node, it is returned by a call to a child. + // 'parentEnd' is the end tag for the parent, which is filled in and returned. + + XMLDocument::DepthTracker tracker(_document); + if (_document->Error()) + return 0; + + while( p && *p ) { + XMLNode* node = 0; + + p = _document->Identify( p, &node ); + TIXMLASSERT( p ); + if ( node == 0 ) { + break; + } + + const int initialLineNum = node->_parseLineNum; + + StrPair endTag; + p = node->ParseDeep( p, &endTag, curLineNumPtr ); + if ( !p ) { + _document->DeleteNode( node ); + if ( !_document->Error() ) { + _document->SetError( XML_ERROR_PARSING, initialLineNum, 0); + } + break; + } + + const XMLDeclaration* const decl = node->ToDeclaration(); + if ( decl ) { + // Declarations are only allowed at document level + // + // Multiple declarations are allowed but all declarations + // must occur before anything else. + // + // Optimized due to a security test case. If the first node is + // a declaration, and the last node is a declaration, then only + // declarations have so far been added. + bool wellLocated = false; + + if (ToDocument()) { + if (FirstChild()) { + wellLocated = + FirstChild() && + FirstChild()->ToDeclaration() && + LastChild() && + LastChild()->ToDeclaration(); + } + else { + wellLocated = true; + } + } + if ( !wellLocated ) { + _document->SetError( XML_ERROR_PARSING_DECLARATION, initialLineNum, "XMLDeclaration value=%s", decl->Value()); + _document->DeleteNode( node ); + break; + } + } + + XMLElement* ele = node->ToElement(); + if ( ele ) { + // We read the end tag. Return it to the parent. + if ( ele->ClosingType() == XMLElement::CLOSING ) { + if ( parentEndTag ) { + ele->_value.TransferTo( parentEndTag ); + } + node->_memPool->SetTracked(); // created and then immediately deleted. + DeleteNode( node ); + return p; + } + + // Handle an end tag returned to this level. + // And handle a bunch of annoying errors. + bool mismatch = false; + if ( endTag.Empty() ) { + if ( ele->ClosingType() == XMLElement::OPENED ) { + mismatch = true; + } + } + else { + if ( ele->ClosingType() != XMLElement::OPENED ) { + mismatch = true; + } + else if ( !XMLUtil::StringEqual( endTag.GetStr(), ele->Name() ) ) { + mismatch = true; + } + } + if ( mismatch ) { + _document->SetError( XML_ERROR_MISMATCHED_ELEMENT, initialLineNum, "XMLElement name=%s", ele->Name()); + _document->DeleteNode( node ); + break; + } + } + InsertEndChild( node ); + } + return 0; +} + +/*static*/ void XMLNode::DeleteNode( XMLNode* node ) +{ + if ( node == 0 ) { + return; + } + TIXMLASSERT(node->_document); + if (!node->ToDocument()) { + node->_document->MarkInUse(node); + } + + MemPool* pool = node->_memPool; + node->~XMLNode(); + pool->Free( node ); +} + +void XMLNode::InsertChildPreamble( XMLNode* insertThis ) const +{ + TIXMLASSERT( insertThis ); + TIXMLASSERT( insertThis->_document == _document ); + + if (insertThis->_parent) { + insertThis->_parent->Unlink( insertThis ); + } + else { + insertThis->_document->MarkInUse(insertThis); + insertThis->_memPool->SetTracked(); + } +} + +const XMLElement* XMLNode::ToElementWithName( const char* name ) const +{ + const XMLElement* element = this->ToElement(); + if ( element == 0 ) { + return 0; + } + if ( name == 0 ) { + return element; + } + if ( XMLUtil::StringEqual( element->Name(), name ) ) { + return element; + } + return 0; +} + +// --------- XMLText ---------- // +char* XMLText::ParseDeep( char* p, StrPair*, int* curLineNumPtr ) +{ + if ( this->CData() ) { + p = _value.ParseText( p, "]]>", StrPair::NEEDS_NEWLINE_NORMALIZATION, curLineNumPtr ); + if ( !p ) { + _document->SetError( XML_ERROR_PARSING_CDATA, _parseLineNum, 0 ); + } + return p; + } + else { + int flags = _document->ProcessEntities() ? StrPair::TEXT_ELEMENT : StrPair::TEXT_ELEMENT_LEAVE_ENTITIES; + if ( _document->WhitespaceMode() == COLLAPSE_WHITESPACE ) { + flags |= StrPair::NEEDS_WHITESPACE_COLLAPSING; + } + + p = _value.ParseText( p, "<", flags, curLineNumPtr ); + if ( p && *p ) { + return p-1; + } + if ( !p ) { + _document->SetError( XML_ERROR_PARSING_TEXT, _parseLineNum, 0 ); + } + } + return 0; +} + + +XMLNode* XMLText::ShallowClone( XMLDocument* doc ) const +{ + if ( !doc ) { + doc = _document; + } + XMLText* text = doc->NewText( Value() ); // fixme: this will always allocate memory. Intern? + text->SetCData( this->CData() ); + return text; +} + + +bool XMLText::ShallowEqual( const XMLNode* compare ) const +{ + TIXMLASSERT( compare ); + const XMLText* text = compare->ToText(); + return ( text && XMLUtil::StringEqual( text->Value(), Value() ) ); +} + + +bool XMLText::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + return visitor->Visit( *this ); +} + + +// --------- XMLComment ---------- // + +XMLComment::XMLComment( XMLDocument* doc ) : XMLNode( doc ) +{ +} + + +XMLComment::~XMLComment() +{ +} + + +char* XMLComment::ParseDeep( char* p, StrPair*, int* curLineNumPtr ) +{ + // Comment parses as text. + p = _value.ParseText( p, "-->", StrPair::COMMENT, curLineNumPtr ); + if ( p == 0 ) { + _document->SetError( XML_ERROR_PARSING_COMMENT, _parseLineNum, 0 ); + } + return p; +} + + +XMLNode* XMLComment::ShallowClone( XMLDocument* doc ) const +{ + if ( !doc ) { + doc = _document; + } + XMLComment* comment = doc->NewComment( Value() ); // fixme: this will always allocate memory. Intern? + return comment; +} + + +bool XMLComment::ShallowEqual( const XMLNode* compare ) const +{ + TIXMLASSERT( compare ); + const XMLComment* comment = compare->ToComment(); + return ( comment && XMLUtil::StringEqual( comment->Value(), Value() )); +} + + +bool XMLComment::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + return visitor->Visit( *this ); +} + + +// --------- XMLDeclaration ---------- // + +XMLDeclaration::XMLDeclaration( XMLDocument* doc ) : XMLNode( doc ) +{ +} + + +XMLDeclaration::~XMLDeclaration() +{ + //printf( "~XMLDeclaration\n" ); +} + + +char* XMLDeclaration::ParseDeep( char* p, StrPair*, int* curLineNumPtr ) +{ + // Declaration parses as text. + p = _value.ParseText( p, "?>", StrPair::NEEDS_NEWLINE_NORMALIZATION, curLineNumPtr ); + if ( p == 0 ) { + _document->SetError( XML_ERROR_PARSING_DECLARATION, _parseLineNum, 0 ); + } + return p; +} + + +XMLNode* XMLDeclaration::ShallowClone( XMLDocument* doc ) const +{ + if ( !doc ) { + doc = _document; + } + XMLDeclaration* dec = doc->NewDeclaration( Value() ); // fixme: this will always allocate memory. Intern? + return dec; +} + + +bool XMLDeclaration::ShallowEqual( const XMLNode* compare ) const +{ + TIXMLASSERT( compare ); + const XMLDeclaration* declaration = compare->ToDeclaration(); + return ( declaration && XMLUtil::StringEqual( declaration->Value(), Value() )); +} + + + +bool XMLDeclaration::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + return visitor->Visit( *this ); +} + +// --------- XMLUnknown ---------- // + +XMLUnknown::XMLUnknown( XMLDocument* doc ) : XMLNode( doc ) +{ +} + + +XMLUnknown::~XMLUnknown() +{ +} + + +char* XMLUnknown::ParseDeep( char* p, StrPair*, int* curLineNumPtr ) +{ + // Unknown parses as text. + p = _value.ParseText( p, ">", StrPair::NEEDS_NEWLINE_NORMALIZATION, curLineNumPtr ); + if ( !p ) { + _document->SetError( XML_ERROR_PARSING_UNKNOWN, _parseLineNum, 0 ); + } + return p; +} + + +XMLNode* XMLUnknown::ShallowClone( XMLDocument* doc ) const +{ + if ( !doc ) { + doc = _document; + } + XMLUnknown* text = doc->NewUnknown( Value() ); // fixme: this will always allocate memory. Intern? + return text; +} + + +bool XMLUnknown::ShallowEqual( const XMLNode* compare ) const +{ + TIXMLASSERT( compare ); + const XMLUnknown* unknown = compare->ToUnknown(); + return ( unknown && XMLUtil::StringEqual( unknown->Value(), Value() )); +} + + +bool XMLUnknown::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + return visitor->Visit( *this ); +} + +// --------- XMLAttribute ---------- // + +const char* XMLAttribute::Name() const +{ + return _name.GetStr(); +} + +const char* XMLAttribute::Value() const +{ + return _value.GetStr(); +} + +char* XMLAttribute::ParseDeep( char* p, bool processEntities, int* curLineNumPtr ) +{ + // Parse using the name rules: bug fix, was using ParseText before + p = _name.ParseName( p ); + if ( !p || !*p ) { + return 0; + } + + // Skip white space before = + p = XMLUtil::SkipWhiteSpace( p, curLineNumPtr ); + if ( *p != '=' ) { + return 0; + } + + ++p; // move up to opening quote + p = XMLUtil::SkipWhiteSpace( p, curLineNumPtr ); + if ( *p != '\"' && *p != '\'' ) { + return 0; + } + + const char endTag[2] = { *p, 0 }; + ++p; // move past opening quote + + p = _value.ParseText( p, endTag, processEntities ? StrPair::ATTRIBUTE_VALUE : StrPair::ATTRIBUTE_VALUE_LEAVE_ENTITIES, curLineNumPtr ); + return p; +} + + +void XMLAttribute::SetName( const char* n ) +{ + _name.SetStr( n ); +} + + +XMLError XMLAttribute::QueryIntValue( int* value ) const +{ + if ( XMLUtil::ToInt( Value(), value )) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const +{ + if ( XMLUtil::ToUnsigned( Value(), value )) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryInt64Value(int64_t* value) const +{ + if (XMLUtil::ToInt64(Value(), value)) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryUnsigned64Value(uint64_t* value) const +{ + if(XMLUtil::ToUnsigned64(Value(), value)) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryBoolValue( bool* value ) const +{ + if ( XMLUtil::ToBool( Value(), value )) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryFloatValue( float* value ) const +{ + if ( XMLUtil::ToFloat( Value(), value )) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +XMLError XMLAttribute::QueryDoubleValue( double* value ) const +{ + if ( XMLUtil::ToDouble( Value(), value )) { + return XML_SUCCESS; + } + return XML_WRONG_ATTRIBUTE_TYPE; +} + + +void XMLAttribute::SetAttribute( const char* v ) +{ + _value.SetStr( v ); +} + + +void XMLAttribute::SetAttribute( int v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + _value.SetStr( buf ); +} + + +void XMLAttribute::SetAttribute( unsigned v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + _value.SetStr( buf ); +} + + +void XMLAttribute::SetAttribute(int64_t v) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + _value.SetStr(buf); +} + +void XMLAttribute::SetAttribute(uint64_t v) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + _value.SetStr(buf); +} + + +void XMLAttribute::SetAttribute( bool v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + _value.SetStr( buf ); +} + +void XMLAttribute::SetAttribute( double v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + _value.SetStr( buf ); +} + +void XMLAttribute::SetAttribute( float v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + _value.SetStr( buf ); +} + + +// --------- XMLElement ---------- // +XMLElement::XMLElement( XMLDocument* doc ) : XMLNode( doc ), + _closingType( OPENED ), + _rootAttribute( 0 ) +{ +} + + +XMLElement::~XMLElement() +{ + while( _rootAttribute ) { + XMLAttribute* next = _rootAttribute->_next; + DeleteAttribute( _rootAttribute ); + _rootAttribute = next; + } +} + + +const XMLAttribute* XMLElement::FindAttribute( const char* name ) const +{ + for( XMLAttribute* a = _rootAttribute; a; a = a->_next ) { + if ( XMLUtil::StringEqual( a->Name(), name ) ) { + return a; + } + } + return 0; +} + + +const char* XMLElement::Attribute( const char* name, const char* value ) const +{ + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return 0; + } + if ( !value || XMLUtil::StringEqual( a->Value(), value )) { + return a->Value(); + } + return 0; +} + +int XMLElement::IntAttribute(const char* name, int defaultValue) const +{ + int i = defaultValue; + QueryIntAttribute(name, &i); + return i; +} + +unsigned XMLElement::UnsignedAttribute(const char* name, unsigned defaultValue) const +{ + unsigned i = defaultValue; + QueryUnsignedAttribute(name, &i); + return i; +} + +int64_t XMLElement::Int64Attribute(const char* name, int64_t defaultValue) const +{ + int64_t i = defaultValue; + QueryInt64Attribute(name, &i); + return i; +} + +uint64_t XMLElement::Unsigned64Attribute(const char* name, uint64_t defaultValue) const +{ + uint64_t i = defaultValue; + QueryUnsigned64Attribute(name, &i); + return i; +} + +bool XMLElement::BoolAttribute(const char* name, bool defaultValue) const +{ + bool b = defaultValue; + QueryBoolAttribute(name, &b); + return b; +} + +double XMLElement::DoubleAttribute(const char* name, double defaultValue) const +{ + double d = defaultValue; + QueryDoubleAttribute(name, &d); + return d; +} + +float XMLElement::FloatAttribute(const char* name, float defaultValue) const +{ + float f = defaultValue; + QueryFloatAttribute(name, &f); + return f; +} + +const char* XMLElement::GetText() const +{ + /* skip comment node */ + const XMLNode* node = FirstChild(); + while (node) { + if (node->ToComment()) { + node = node->NextSibling(); + continue; + } + break; + } + + if ( node && node->ToText() ) { + return node->Value(); + } + return 0; +} + + +void XMLElement::SetText( const char* inText ) +{ + if ( FirstChild() && FirstChild()->ToText() ) + FirstChild()->SetValue( inText ); + else { + XMLText* theText = GetDocument()->NewText( inText ); + InsertFirstChild( theText ); + } +} + + +void XMLElement::SetText( int v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + SetText( buf ); +} + + +void XMLElement::SetText( unsigned v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + SetText( buf ); +} + + +void XMLElement::SetText(int64_t v) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + SetText(buf); +} + +void XMLElement::SetText(uint64_t v) { + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + SetText(buf); +} + + +void XMLElement::SetText( bool v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + SetText( buf ); +} + + +void XMLElement::SetText( float v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + SetText( buf ); +} + + +void XMLElement::SetText( double v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + SetText( buf ); +} + + +XMLError XMLElement::QueryIntText( int* ival ) const +{ + if ( FirstChild() && FirstChild()->ToText() ) { + const char* t = FirstChild()->Value(); + if ( XMLUtil::ToInt( t, ival ) ) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryUnsignedText( unsigned* uval ) const +{ + if ( FirstChild() && FirstChild()->ToText() ) { + const char* t = FirstChild()->Value(); + if ( XMLUtil::ToUnsigned( t, uval ) ) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryInt64Text(int64_t* ival) const +{ + if (FirstChild() && FirstChild()->ToText()) { + const char* t = FirstChild()->Value(); + if (XMLUtil::ToInt64(t, ival)) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryUnsigned64Text(uint64_t* uval) const +{ + if(FirstChild() && FirstChild()->ToText()) { + const char* t = FirstChild()->Value(); + if(XMLUtil::ToUnsigned64(t, uval)) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryBoolText( bool* bval ) const +{ + if ( FirstChild() && FirstChild()->ToText() ) { + const char* t = FirstChild()->Value(); + if ( XMLUtil::ToBool( t, bval ) ) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryDoubleText( double* dval ) const +{ + if ( FirstChild() && FirstChild()->ToText() ) { + const char* t = FirstChild()->Value(); + if ( XMLUtil::ToDouble( t, dval ) ) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + + +XMLError XMLElement::QueryFloatText( float* fval ) const +{ + if ( FirstChild() && FirstChild()->ToText() ) { + const char* t = FirstChild()->Value(); + if ( XMLUtil::ToFloat( t, fval ) ) { + return XML_SUCCESS; + } + return XML_CAN_NOT_CONVERT_TEXT; + } + return XML_NO_TEXT_NODE; +} + +int XMLElement::IntText(int defaultValue) const +{ + int i = defaultValue; + QueryIntText(&i); + return i; +} + +unsigned XMLElement::UnsignedText(unsigned defaultValue) const +{ + unsigned i = defaultValue; + QueryUnsignedText(&i); + return i; +} + +int64_t XMLElement::Int64Text(int64_t defaultValue) const +{ + int64_t i = defaultValue; + QueryInt64Text(&i); + return i; +} + +uint64_t XMLElement::Unsigned64Text(uint64_t defaultValue) const +{ + uint64_t i = defaultValue; + QueryUnsigned64Text(&i); + return i; +} + +bool XMLElement::BoolText(bool defaultValue) const +{ + bool b = defaultValue; + QueryBoolText(&b); + return b; +} + +double XMLElement::DoubleText(double defaultValue) const +{ + double d = defaultValue; + QueryDoubleText(&d); + return d; +} + +float XMLElement::FloatText(float defaultValue) const +{ + float f = defaultValue; + QueryFloatText(&f); + return f; +} + + +XMLAttribute* XMLElement::FindOrCreateAttribute( const char* name ) +{ + XMLAttribute* last = 0; + XMLAttribute* attrib = 0; + for( attrib = _rootAttribute; + attrib; + last = attrib, attrib = attrib->_next ) { + if ( XMLUtil::StringEqual( attrib->Name(), name ) ) { + break; + } + } + if ( !attrib ) { + attrib = CreateAttribute(); + TIXMLASSERT( attrib ); + if ( last ) { + TIXMLASSERT( last->_next == 0 ); + last->_next = attrib; + } + else { + TIXMLASSERT( _rootAttribute == 0 ); + _rootAttribute = attrib; + } + attrib->SetName( name ); + } + return attrib; +} + + +void XMLElement::DeleteAttribute( const char* name ) +{ + XMLAttribute* prev = 0; + for( XMLAttribute* a=_rootAttribute; a; a=a->_next ) { + if ( XMLUtil::StringEqual( name, a->Name() ) ) { + if ( prev ) { + prev->_next = a->_next; + } + else { + _rootAttribute = a->_next; + } + DeleteAttribute( a ); + break; + } + prev = a; + } +} + + +char* XMLElement::ParseAttributes( char* p, int* curLineNumPtr ) +{ + XMLAttribute* prevAttribute = 0; + + // Read the attributes. + while( p ) { + p = XMLUtil::SkipWhiteSpace( p, curLineNumPtr ); + if ( !(*p) ) { + _document->SetError( XML_ERROR_PARSING_ELEMENT, _parseLineNum, "XMLElement name=%s", Name() ); + return 0; + } + + // attribute. + if (XMLUtil::IsNameStartChar( (unsigned char) *p ) ) { + XMLAttribute* attrib = CreateAttribute(); + TIXMLASSERT( attrib ); + attrib->_parseLineNum = _document->_parseCurLineNum; + + const int attrLineNum = attrib->_parseLineNum; + + p = attrib->ParseDeep( p, _document->ProcessEntities(), curLineNumPtr ); + if ( !p || Attribute( attrib->Name() ) ) { + DeleteAttribute( attrib ); + _document->SetError( XML_ERROR_PARSING_ATTRIBUTE, attrLineNum, "XMLElement name=%s", Name() ); + return 0; + } + // There is a minor bug here: if the attribute in the source xml + // document is duplicated, it will not be detected and the + // attribute will be doubly added. However, tracking the 'prevAttribute' + // avoids re-scanning the attribute list. Preferring performance for + // now, may reconsider in the future. + if ( prevAttribute ) { + TIXMLASSERT( prevAttribute->_next == 0 ); + prevAttribute->_next = attrib; + } + else { + TIXMLASSERT( _rootAttribute == 0 ); + _rootAttribute = attrib; + } + prevAttribute = attrib; + } + // end of the tag + else if ( *p == '>' ) { + ++p; + break; + } + // end of the tag + else if ( *p == '/' && *(p+1) == '>' ) { + _closingType = CLOSED; + return p+2; // done; sealed element. + } + else { + _document->SetError( XML_ERROR_PARSING_ELEMENT, _parseLineNum, 0 ); + return 0; + } + } + return p; +} + +void XMLElement::DeleteAttribute( XMLAttribute* attribute ) +{ + if ( attribute == 0 ) { + return; + } + MemPool* pool = attribute->_memPool; + attribute->~XMLAttribute(); + pool->Free( attribute ); +} + +XMLAttribute* XMLElement::CreateAttribute() +{ + TIXMLASSERT( sizeof( XMLAttribute ) == _document->_attributePool.ItemSize() ); + XMLAttribute* attrib = new (_document->_attributePool.Alloc() ) XMLAttribute(); + TIXMLASSERT( attrib ); + attrib->_memPool = &_document->_attributePool; + attrib->_memPool->SetTracked(); + return attrib; +} + + +XMLElement* XMLElement::InsertNewChildElement(const char* name) +{ + XMLElement* node = _document->NewElement(name); + return InsertEndChild(node) ? node : 0; +} + +XMLComment* XMLElement::InsertNewComment(const char* comment) +{ + XMLComment* node = _document->NewComment(comment); + return InsertEndChild(node) ? node : 0; +} + +XMLText* XMLElement::InsertNewText(const char* text) +{ + XMLText* node = _document->NewText(text); + return InsertEndChild(node) ? node : 0; +} + +XMLDeclaration* XMLElement::InsertNewDeclaration(const char* text) +{ + XMLDeclaration* node = _document->NewDeclaration(text); + return InsertEndChild(node) ? node : 0; +} + +XMLUnknown* XMLElement::InsertNewUnknown(const char* text) +{ + XMLUnknown* node = _document->NewUnknown(text); + return InsertEndChild(node) ? node : 0; +} + + + +// +// +// foobar +// +char* XMLElement::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ) +{ + // Read the element name. + p = XMLUtil::SkipWhiteSpace( p, curLineNumPtr ); + + // The closing element is the form. It is + // parsed just like a regular element then deleted from + // the DOM. + if ( *p == '/' ) { + _closingType = CLOSING; + ++p; + } + + p = _value.ParseName( p ); + if ( _value.Empty() ) { + return 0; + } + + p = ParseAttributes( p, curLineNumPtr ); + if ( !p || !*p || _closingType != OPENED ) { + return p; + } + + p = XMLNode::ParseDeep( p, parentEndTag, curLineNumPtr ); + return p; +} + + + +XMLNode* XMLElement::ShallowClone( XMLDocument* doc ) const +{ + if ( !doc ) { + doc = _document; + } + XMLElement* element = doc->NewElement( Value() ); // fixme: this will always allocate memory. Intern? + for( const XMLAttribute* a=FirstAttribute(); a; a=a->Next() ) { + element->SetAttribute( a->Name(), a->Value() ); // fixme: this will always allocate memory. Intern? + } + return element; +} + + +bool XMLElement::ShallowEqual( const XMLNode* compare ) const +{ + TIXMLASSERT( compare ); + const XMLElement* other = compare->ToElement(); + if ( other && XMLUtil::StringEqual( other->Name(), Name() )) { + + const XMLAttribute* a=FirstAttribute(); + const XMLAttribute* b=other->FirstAttribute(); + + while ( a && b ) { + if ( !XMLUtil::StringEqual( a->Value(), b->Value() ) ) { + return false; + } + a = a->Next(); + b = b->Next(); + } + if ( a || b ) { + // different count + return false; + } + return true; + } + return false; +} + + +bool XMLElement::Accept( XMLVisitor* visitor ) const +{ + TIXMLASSERT( visitor ); + if ( visitor->VisitEnter( *this, _rootAttribute ) ) { + for ( const XMLNode* node=FirstChild(); node; node=node->NextSibling() ) { + if ( !node->Accept( visitor ) ) { + break; + } + } + } + return visitor->VisitExit( *this ); +} + + +// --------- XMLDocument ----------- // + +// Warning: List must match 'enum XMLError' +const char* XMLDocument::_errorNames[XML_ERROR_COUNT] = { + "XML_SUCCESS", + "XML_NO_ATTRIBUTE", + "XML_WRONG_ATTRIBUTE_TYPE", + "XML_ERROR_FILE_NOT_FOUND", + "XML_ERROR_FILE_COULD_NOT_BE_OPENED", + "XML_ERROR_FILE_READ_ERROR", + "XML_ERROR_PARSING_ELEMENT", + "XML_ERROR_PARSING_ATTRIBUTE", + "XML_ERROR_PARSING_TEXT", + "XML_ERROR_PARSING_CDATA", + "XML_ERROR_PARSING_COMMENT", + "XML_ERROR_PARSING_DECLARATION", + "XML_ERROR_PARSING_UNKNOWN", + "XML_ERROR_EMPTY_DOCUMENT", + "XML_ERROR_MISMATCHED_ELEMENT", + "XML_ERROR_PARSING", + "XML_CAN_NOT_CONVERT_TEXT", + "XML_NO_TEXT_NODE", + "XML_ELEMENT_DEPTH_EXCEEDED" +}; + + +XMLDocument::XMLDocument( bool processEntities, Whitespace whitespaceMode ) : + XMLNode( 0 ), + _writeBOM( false ), + _processEntities( processEntities ), + _errorID(XML_SUCCESS), + _whitespaceMode( whitespaceMode ), + _errorStr(), + _errorLineNum( 0 ), + _charBuffer( 0 ), + _parseCurLineNum( 0 ), + _parsingDepth(0), + _unlinked(), + _elementPool(), + _attributePool(), + _textPool(), + _commentPool() +{ + // avoid VC++ C4355 warning about 'this' in initializer list (C4355 is off by default in VS2012+) + _document = this; +} + + +XMLDocument::~XMLDocument() +{ + Clear(); +} + + +void XMLDocument::MarkInUse(const XMLNode* const node) +{ + TIXMLASSERT(node); + TIXMLASSERT(node->_parent == 0); + + for (int i = 0; i < _unlinked.Size(); ++i) { + if (node == _unlinked[i]) { + _unlinked.SwapRemove(i); + break; + } + } +} + +void XMLDocument::Clear() +{ + DeleteChildren(); + while( _unlinked.Size()) { + DeleteNode(_unlinked[0]); // Will remove from _unlinked as part of delete. + } + +#ifdef TINYXML2_DEBUG + const bool hadError = Error(); +#endif + ClearError(); + + delete [] _charBuffer; + _charBuffer = 0; + _parsingDepth = 0; + +#if 0 + _textPool.Trace( "text" ); + _elementPool.Trace( "element" ); + _commentPool.Trace( "comment" ); + _attributePool.Trace( "attribute" ); +#endif + +#ifdef TINYXML2_DEBUG + if ( !hadError ) { + TIXMLASSERT( _elementPool.CurrentAllocs() == _elementPool.Untracked() ); + TIXMLASSERT( _attributePool.CurrentAllocs() == _attributePool.Untracked() ); + TIXMLASSERT( _textPool.CurrentAllocs() == _textPool.Untracked() ); + TIXMLASSERT( _commentPool.CurrentAllocs() == _commentPool.Untracked() ); + } +#endif +} + + +void XMLDocument::DeepCopy(XMLDocument* target) const +{ + TIXMLASSERT(target); + if (target == this) { + return; // technically success - a no-op. + } + + target->Clear(); + for (const XMLNode* node = this->FirstChild(); node; node = node->NextSibling()) { + target->InsertEndChild(node->DeepClone(target)); + } +} + +XMLElement* XMLDocument::NewElement( const char* name ) +{ + XMLElement* ele = CreateUnlinkedNode( _elementPool ); + ele->SetName( name ); + return ele; +} + + +XMLComment* XMLDocument::NewComment( const char* str ) +{ + XMLComment* comment = CreateUnlinkedNode( _commentPool ); + comment->SetValue( str ); + return comment; +} + + +XMLText* XMLDocument::NewText( const char* str ) +{ + XMLText* text = CreateUnlinkedNode( _textPool ); + text->SetValue( str ); + return text; +} + + +XMLDeclaration* XMLDocument::NewDeclaration( const char* str ) +{ + XMLDeclaration* dec = CreateUnlinkedNode( _commentPool ); + dec->SetValue( str ? str : "xml version=\"1.0\" encoding=\"UTF-8\"" ); + return dec; +} + + +XMLUnknown* XMLDocument::NewUnknown( const char* str ) +{ + XMLUnknown* unk = CreateUnlinkedNode( _commentPool ); + unk->SetValue( str ); + return unk; +} + +static FILE* callfopen( const char* filepath, const char* mode ) +{ + TIXMLASSERT( filepath ); + TIXMLASSERT( mode ); +#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (!defined WINCE) + FILE* fp = 0; + const errno_t err = fopen_s( &fp, filepath, mode ); + if ( err ) { + return 0; + } +#else + FILE* fp = fopen( filepath, mode ); +#endif + return fp; +} + +void XMLDocument::DeleteNode( XMLNode* node ) { + TIXMLASSERT( node ); + TIXMLASSERT(node->_document == this ); + if (node->_parent) { + node->_parent->DeleteChild( node ); + } + else { + // Isn't in the tree. + // Use the parent delete. + // Also, we need to mark it tracked: we 'know' + // it was never used. + node->_memPool->SetTracked(); + // Call the static XMLNode version: + XMLNode::DeleteNode(node); + } +} + + +XMLError XMLDocument::LoadFile( const char* filename ) +{ + if ( !filename ) { + TIXMLASSERT( false ); + SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=" ); + return _errorID; + } + + Clear(); + FILE* fp = callfopen( filename, "rb" ); + if ( !fp ) { + SetError( XML_ERROR_FILE_NOT_FOUND, 0, "filename=%s", filename ); + return _errorID; + } + LoadFile( fp ); + fclose( fp ); + return _errorID; +} + +XMLError XMLDocument::LoadFile( FILE* fp ) +{ + Clear(); + + TIXML_FSEEK( fp, 0, SEEK_SET ); + if ( fgetc( fp ) == EOF && ferror( fp ) != 0 ) { + SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 ); + return _errorID; + } + + TIXML_FSEEK( fp, 0, SEEK_END ); + + unsigned long long filelength; + { + const long long fileLengthSigned = TIXML_FTELL( fp ); + TIXML_FSEEK( fp, 0, SEEK_SET ); + if ( fileLengthSigned == -1L ) { + SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 ); + return _errorID; + } + TIXMLASSERT( fileLengthSigned >= 0 ); + filelength = static_cast(fileLengthSigned); + } + + const size_t maxSizeT = static_cast(-1); + // We'll do the comparison as an unsigned long long, because that's guaranteed to be at + // least 8 bytes, even on a 32-bit platform. + if ( filelength >= static_cast(maxSizeT) ) { + // Cannot handle files which won't fit in buffer together with null terminator + SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 ); + return _errorID; + } + + if ( filelength == 0 ) { + SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 ); + return _errorID; + } + + const size_t size = static_cast(filelength); + TIXMLASSERT( _charBuffer == 0 ); + _charBuffer = new char[size+1]; + const size_t read = fread( _charBuffer, 1, size, fp ); + if ( read != size ) { + SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 ); + return _errorID; + } + + _charBuffer[size] = 0; + + Parse(); + return _errorID; +} + + +XMLError XMLDocument::SaveFile( const char* filename, bool compact ) +{ + if ( !filename ) { + TIXMLASSERT( false ); + SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=" ); + return _errorID; + } + + FILE* fp = callfopen( filename, "w" ); + if ( !fp ) { + SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=%s", filename ); + return _errorID; + } + SaveFile(fp, compact); + fclose( fp ); + return _errorID; +} + + +XMLError XMLDocument::SaveFile( FILE* fp, bool compact ) +{ + // Clear any error from the last save, otherwise it will get reported + // for *this* call. + ClearError(); + XMLPrinter stream( fp, compact ); + Print( &stream ); + return _errorID; +} + + +XMLError XMLDocument::Parse( const char* xml, size_t nBytes ) +{ + Clear(); + + if ( nBytes == 0 || !xml || !*xml ) { + SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 ); + return _errorID; + } + if ( nBytes == static_cast(-1) ) { + nBytes = strlen( xml ); + } + TIXMLASSERT( _charBuffer == 0 ); + _charBuffer = new char[ nBytes+1 ]; + memcpy( _charBuffer, xml, nBytes ); + _charBuffer[nBytes] = 0; + + Parse(); + if ( Error() ) { + // clean up now essentially dangling memory. + // and the parse fail can put objects in the + // pools that are dead and inaccessible. + DeleteChildren(); + _elementPool.Clear(); + _attributePool.Clear(); + _textPool.Clear(); + _commentPool.Clear(); + } + return _errorID; +} + + +void XMLDocument::Print( XMLPrinter* streamer ) const +{ + if ( streamer ) { + Accept( streamer ); + } + else { + XMLPrinter stdoutStreamer( stdout ); + Accept( &stdoutStreamer ); + } +} + + +void XMLDocument::ClearError() { + _errorID = XML_SUCCESS; + _errorLineNum = 0; + _errorStr.Reset(); +} + + +void XMLDocument::SetError( XMLError error, int lineNum, const char* format, ... ) +{ + TIXMLASSERT( error >= 0 && error < XML_ERROR_COUNT ); + _errorID = error; + _errorLineNum = lineNum; + _errorStr.Reset(); + + const size_t BUFFER_SIZE = 1000; + char* buffer = new char[BUFFER_SIZE]; + + TIXMLASSERT(sizeof(error) <= sizeof(int)); + TIXML_SNPRINTF(buffer, BUFFER_SIZE, "Error=%s ErrorID=%d (0x%x) Line number=%d", ErrorIDToName(error), int(error), int(error), lineNum); + + if (format) { + size_t len = strlen(buffer); + TIXML_SNPRINTF(buffer + len, BUFFER_SIZE - len, ": "); + len = strlen(buffer); + + va_list va; + va_start(va, format); + TIXML_VSNPRINTF(buffer + len, BUFFER_SIZE - len, format, va); + va_end(va); + } + _errorStr.SetStr(buffer); + delete[] buffer; +} + + +/*static*/ const char* XMLDocument::ErrorIDToName(XMLError errorID) +{ + TIXMLASSERT( errorID >= 0 && errorID < XML_ERROR_COUNT ); + const char* errorName = _errorNames[errorID]; + TIXMLASSERT( errorName && errorName[0] ); + return errorName; +} + +const char* XMLDocument::ErrorStr() const +{ + return _errorStr.Empty() ? "" : _errorStr.GetStr(); +} + + +void XMLDocument::PrintError() const +{ + printf("%s\n", ErrorStr()); +} + +const char* XMLDocument::ErrorName() const +{ + return ErrorIDToName(_errorID); +} + +void XMLDocument::Parse() +{ + TIXMLASSERT( NoChildren() ); // Clear() must have been called previously + TIXMLASSERT( _charBuffer ); + _parseCurLineNum = 1; + _parseLineNum = 1; + char* p = _charBuffer; + p = XMLUtil::SkipWhiteSpace( p, &_parseCurLineNum ); + p = const_cast( XMLUtil::ReadBOM( p, &_writeBOM ) ); + if ( !*p ) { + SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 ); + return; + } + ParseDeep(p, 0, &_parseCurLineNum ); +} + +void XMLDocument::PushDepth() +{ + _parsingDepth++; + if (_parsingDepth == TINYXML2_MAX_ELEMENT_DEPTH) { + SetError(XML_ELEMENT_DEPTH_EXCEEDED, _parseCurLineNum, "Element nesting is too deep." ); + } +} + +void XMLDocument::PopDepth() +{ + TIXMLASSERT(_parsingDepth > 0); + --_parsingDepth; +} + +XMLPrinter::XMLPrinter( FILE* file, bool compact, int depth ) : + _elementJustOpened( false ), + _stack(), + _firstElement( true ), + _fp( file ), + _depth( depth ), + _textDepth( -1 ), + _processEntities( true ), + _compactMode( compact ), + _buffer() +{ + for( int i=0; i(entityValue); + TIXMLASSERT( flagIndex < ENTITY_RANGE ); + _entityFlag[flagIndex] = true; + } + _restrictedEntityFlag[static_cast('&')] = true; + _restrictedEntityFlag[static_cast('<')] = true; + _restrictedEntityFlag[static_cast('>')] = true; // not required, but consistency is nice + _buffer.Push( 0 ); +} + + +void XMLPrinter::Print( const char* format, ... ) +{ + va_list va; + va_start( va, format ); + + if ( _fp ) { + vfprintf( _fp, format, va ); + } + else { + const int len = TIXML_VSCPRINTF( format, va ); + // Close out and re-start the va-args + va_end( va ); + TIXMLASSERT( len >= 0 ); + va_start( va, format ); + TIXMLASSERT( _buffer.Size() > 0 && _buffer[_buffer.Size() - 1] == 0 ); + char* p = _buffer.PushArr( len ) - 1; // back up over the null terminator. + TIXML_VSNPRINTF( p, len+1, format, va ); + } + va_end( va ); +} + + +void XMLPrinter::Write( const char* data, size_t size ) +{ + if ( _fp ) { + fwrite ( data , sizeof(char), size, _fp); + } + else { + char* p = _buffer.PushArr( static_cast(size) ) - 1; // back up over the null terminator. + memcpy( p, data, size ); + p[size] = 0; + } +} + + +void XMLPrinter::Putc( char ch ) +{ + if ( _fp ) { + fputc ( ch, _fp); + } + else { + char* p = _buffer.PushArr( sizeof(char) ) - 1; // back up over the null terminator. + p[0] = ch; + p[1] = 0; + } +} + + +void XMLPrinter::PrintSpace( int depth ) +{ + for( int i=0; i 0 && *q < ENTITY_RANGE ) { + // Check for entities. If one is found, flush + // the stream up until the entity, write the + // entity, and keep looking. + if ( flag[static_cast(*q)] ) { + while ( p < q ) { + const size_t delta = q - p; + const int toPrint = ( INT_MAX < delta ) ? INT_MAX : static_cast(delta); + Write( p, toPrint ); + p += toPrint; + } + bool entityPatternPrinted = false; + for( int i=0; i(delta); + Write( p, toPrint ); + } + } + else { + Write( p ); + } +} + + +void XMLPrinter::PushHeader( bool writeBOM, bool writeDec ) +{ + if ( writeBOM ) { + static const unsigned char bom[] = { TIXML_UTF_LEAD_0, TIXML_UTF_LEAD_1, TIXML_UTF_LEAD_2, 0 }; + Write( reinterpret_cast< const char* >( bom ) ); + } + if ( writeDec ) { + PushDeclaration( "xml version=\"1.0\"" ); + } +} + +void XMLPrinter::PrepareForNewNode( bool compactMode ) +{ + SealElementIfJustOpened(); + + if ( compactMode ) { + return; + } + + if ( _firstElement ) { + PrintSpace (_depth); + } else if ( _textDepth < 0) { + Putc( '\n' ); + PrintSpace( _depth ); + } + + _firstElement = false; +} + +void XMLPrinter::OpenElement( const char* name, bool compactMode ) +{ + PrepareForNewNode( compactMode ); + _stack.Push( name ); + + Write ( "<" ); + Write ( name ); + + _elementJustOpened = true; + ++_depth; +} + + +void XMLPrinter::PushAttribute( const char* name, const char* value ) +{ + TIXMLASSERT( _elementJustOpened ); + Putc ( ' ' ); + Write( name ); + Write( "=\"" ); + PrintString( value, false ); + Putc ( '\"' ); +} + + +void XMLPrinter::PushAttribute( const char* name, int v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + PushAttribute( name, buf ); +} + + +void XMLPrinter::PushAttribute( const char* name, unsigned v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + PushAttribute( name, buf ); +} + + +void XMLPrinter::PushAttribute(const char* name, int64_t v) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + PushAttribute(name, buf); +} + + +void XMLPrinter::PushAttribute(const char* name, uint64_t v) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(v, buf, BUF_SIZE); + PushAttribute(name, buf); +} + + +void XMLPrinter::PushAttribute( const char* name, bool v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + PushAttribute( name, buf ); +} + + +void XMLPrinter::PushAttribute( const char* name, double v ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( v, buf, BUF_SIZE ); + PushAttribute( name, buf ); +} + + +void XMLPrinter::CloseElement( bool compactMode ) +{ + --_depth; + const char* name = _stack.Pop(); + + if ( _elementJustOpened ) { + Write( "/>" ); + } + else { + if ( _textDepth < 0 && !compactMode) { + Putc( '\n' ); + PrintSpace( _depth ); + } + Write ( "" ); + } + + if ( _textDepth == _depth ) { + _textDepth = -1; + } + if ( _depth == 0 && !compactMode) { + Putc( '\n' ); + } + _elementJustOpened = false; +} + + +void XMLPrinter::SealElementIfJustOpened() +{ + if ( !_elementJustOpened ) { + return; + } + _elementJustOpened = false; + Putc( '>' ); +} + + +void XMLPrinter::PushText( const char* text, bool cdata ) +{ + _textDepth = _depth-1; + + SealElementIfJustOpened(); + if ( cdata ) { + Write( "" ); + } + else { + PrintString( text, true ); + } +} + + +void XMLPrinter::PushText( int64_t value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushText( uint64_t value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr(value, buf, BUF_SIZE); + PushText(buf, false); +} + + +void XMLPrinter::PushText( int value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushText( unsigned value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushText( bool value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushText( float value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushText( double value ) +{ + char buf[BUF_SIZE]; + XMLUtil::ToStr( value, buf, BUF_SIZE ); + PushText( buf, false ); +} + + +void XMLPrinter::PushComment( const char* comment ) +{ + PrepareForNewNode( _compactMode ); + + Write( "" ); +} + + +void XMLPrinter::PushDeclaration( const char* value ) +{ + PrepareForNewNode( _compactMode ); + + Write( "" ); +} + + +void XMLPrinter::PushUnknown( const char* value ) +{ + PrepareForNewNode( _compactMode ); + + Write( "' ); +} + + +bool XMLPrinter::VisitEnter( const XMLDocument& doc ) +{ + _processEntities = doc.ProcessEntities(); + if ( doc.HasBOM() ) { + PushHeader( true, false ); + } + return true; +} + + +bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attribute ) +{ + const XMLElement* parentElem = 0; + if ( element.Parent() ) { + parentElem = element.Parent()->ToElement(); + } + const bool compactMode = parentElem ? CompactMode( *parentElem ) : _compactMode; + OpenElement( element.Name(), compactMode ); + while ( attribute ) { + PushAttribute( attribute->Name(), attribute->Value() ); + attribute = attribute->Next(); + } + return true; +} + + +bool XMLPrinter::VisitExit( const XMLElement& element ) +{ + CloseElement( CompactMode(element) ); + return true; +} + + +bool XMLPrinter::Visit( const XMLText& text ) +{ + PushText( text.Value(), text.CData() ); + return true; +} + + +bool XMLPrinter::Visit( const XMLComment& comment ) +{ + PushComment( comment.Value() ); + return true; +} + +bool XMLPrinter::Visit( const XMLDeclaration& declaration ) +{ + PushDeclaration( declaration.Value() ); + return true; +} + + +bool XMLPrinter::Visit( const XMLUnknown& unknown ) +{ + PushUnknown( unknown.Value() ); + return true; +} + +} // namespace tinyxml2 diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.h new file mode 100644 index 00000000..02c0d40a --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/tinyxml2.h @@ -0,0 +1,2380 @@ +/* +Original code by Lee Thomason (www.grinninglizard.com) + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any +damages arising from the use of this software. + +Permission is granted to anyone to use this software for any +purpose, including commercial applications, and to alter it and +redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must +not claim that you wrote the original software. If you use this +software in a product, an acknowledgment in the product documentation +would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and +must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. +*/ + +#ifndef TINYXML2_INCLUDED +#define TINYXML2_INCLUDED + +#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) +# include +# include +# include +# include +# include +# if defined(__PS3__) +# include +# endif +#else +# include +# include +# include +# include +# include +#endif +#include + +/* + TODO: intern strings instead of allocation. +*/ +/* + gcc: + g++ -Wall -DTINYXML2_DEBUG tinyxml2.cpp xmltest.cpp -o gccxmltest.exe + + Formatting, Artistic Style: + AStyle.exe --style=1tbs --indent-switches --break-closing-brackets --indent-preprocessor tinyxml2.cpp tinyxml2.h +*/ + +#if defined( _DEBUG ) || defined (__DEBUG__) +# ifndef TINYXML2_DEBUG +# define TINYXML2_DEBUG +# endif +#endif + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4251) +#endif + +#ifdef _WIN32 +# ifdef TINYXML2_EXPORT +# define TINYXML2_LIB __declspec(dllexport) +# elif defined(TINYXML2_IMPORT) +# define TINYXML2_LIB __declspec(dllimport) +# else +# define TINYXML2_LIB +# endif +#elif __GNUC__ >= 4 +# define TINYXML2_LIB __attribute__((visibility("default"))) +#else +# define TINYXML2_LIB +#endif + + +#if !defined(TIXMLASSERT) +#if defined(TINYXML2_DEBUG) +# if defined(_MSC_VER) +# // "(void)0," is for suppressing C4127 warning in "assert(false)", "assert(true)" and the like +# define TIXMLASSERT( x ) do { if ( !((void)0,(x))) { __debugbreak(); } } while(false) +# elif defined (ANDROID_NDK) +# include +# define TIXMLASSERT( x ) do { if ( !(x)) { __android_log_assert( "assert", "grinliz", "ASSERT in '%s' at %d.", __FILE__, __LINE__ ); } } while(false) +# else +# include +# define TIXMLASSERT assert +# endif +#else +# define TIXMLASSERT( x ) do {} while(false) +#endif +#endif + +/* Versioning, past 1.0.14: + http://semver.org/ +*/ +static const int TIXML2_MAJOR_VERSION = 9; +static const int TIXML2_MINOR_VERSION = 0; +static const int TIXML2_PATCH_VERSION = 0; + +#define TINYXML2_MAJOR_VERSION 9 +#define TINYXML2_MINOR_VERSION 0 +#define TINYXML2_PATCH_VERSION 0 + +// A fixed element depth limit is problematic. There needs to be a +// limit to avoid a stack overflow. However, that limit varies per +// system, and the capacity of the stack. On the other hand, it's a trivial +// attack that can result from ill, malicious, or even correctly formed XML, +// so there needs to be a limit in place. +static const int TINYXML2_MAX_ELEMENT_DEPTH = 500; + +namespace tinyxml2 +{ +class XMLDocument; +class XMLElement; +class XMLAttribute; +class XMLComment; +class XMLText; +class XMLDeclaration; +class XMLUnknown; +class XMLPrinter; + +/* + A class that wraps strings. Normally stores the start and end + pointers into the XML file itself, and will apply normalization + and entity translation if actually read. Can also store (and memory + manage) a traditional char[] + + Isn't clear why TINYXML2_LIB is needed; but seems to fix #719 +*/ +class TINYXML2_LIB StrPair +{ +public: + enum Mode { + NEEDS_ENTITY_PROCESSING = 0x01, + NEEDS_NEWLINE_NORMALIZATION = 0x02, + NEEDS_WHITESPACE_COLLAPSING = 0x04, + + TEXT_ELEMENT = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, + TEXT_ELEMENT_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, + ATTRIBUTE_NAME = 0, + ATTRIBUTE_VALUE = NEEDS_ENTITY_PROCESSING | NEEDS_NEWLINE_NORMALIZATION, + ATTRIBUTE_VALUE_LEAVE_ENTITIES = NEEDS_NEWLINE_NORMALIZATION, + COMMENT = NEEDS_NEWLINE_NORMALIZATION + }; + + StrPair() : _flags( 0 ), _start( 0 ), _end( 0 ) {} + ~StrPair(); + + void Set( char* start, char* end, int flags ) { + TIXMLASSERT( start ); + TIXMLASSERT( end ); + Reset(); + _start = start; + _end = end; + _flags = flags | NEEDS_FLUSH; + } + + const char* GetStr(); + + bool Empty() const { + return _start == _end; + } + + void SetInternedStr( const char* str ) { + Reset(); + _start = const_cast(str); + } + + void SetStr( const char* str, int flags=0 ); + + char* ParseText( char* in, const char* endTag, int strFlags, int* curLineNumPtr ); + char* ParseName( char* in ); + + void TransferTo( StrPair* other ); + void Reset(); + +private: + void CollapseWhitespace(); + + enum { + NEEDS_FLUSH = 0x100, + NEEDS_DELETE = 0x200 + }; + + int _flags; + char* _start; + char* _end; + + StrPair( const StrPair& other ); // not supported + void operator=( const StrPair& other ); // not supported, use TransferTo() +}; + + +/* + A dynamic array of Plain Old Data. Doesn't support constructors, etc. + Has a small initial memory pool, so that low or no usage will not + cause a call to new/delete +*/ +template +class DynArray +{ +public: + DynArray() : + _mem( _pool ), + _allocated( INITIAL_SIZE ), + _size( 0 ) + { + } + + ~DynArray() { + if ( _mem != _pool ) { + delete [] _mem; + } + } + + void Clear() { + _size = 0; + } + + void Push( T t ) { + TIXMLASSERT( _size < INT_MAX ); + EnsureCapacity( _size+1 ); + _mem[_size] = t; + ++_size; + } + + T* PushArr( int count ) { + TIXMLASSERT( count >= 0 ); + TIXMLASSERT( _size <= INT_MAX - count ); + EnsureCapacity( _size+count ); + T* ret = &_mem[_size]; + _size += count; + return ret; + } + + T Pop() { + TIXMLASSERT( _size > 0 ); + --_size; + return _mem[_size]; + } + + void PopArr( int count ) { + TIXMLASSERT( _size >= count ); + _size -= count; + } + + bool Empty() const { + return _size == 0; + } + + T& operator[](int i) { + TIXMLASSERT( i>= 0 && i < _size ); + return _mem[i]; + } + + const T& operator[](int i) const { + TIXMLASSERT( i>= 0 && i < _size ); + return _mem[i]; + } + + const T& PeekTop() const { + TIXMLASSERT( _size > 0 ); + return _mem[ _size - 1]; + } + + int Size() const { + TIXMLASSERT( _size >= 0 ); + return _size; + } + + int Capacity() const { + TIXMLASSERT( _allocated >= INITIAL_SIZE ); + return _allocated; + } + + void SwapRemove(int i) { + TIXMLASSERT(i >= 0 && i < _size); + TIXMLASSERT(_size > 0); + _mem[i] = _mem[_size - 1]; + --_size; + } + + const T* Mem() const { + TIXMLASSERT( _mem ); + return _mem; + } + + T* Mem() { + TIXMLASSERT( _mem ); + return _mem; + } + +private: + DynArray( const DynArray& ); // not supported + void operator=( const DynArray& ); // not supported + + void EnsureCapacity( int cap ) { + TIXMLASSERT( cap > 0 ); + if ( cap > _allocated ) { + TIXMLASSERT( cap <= INT_MAX / 2 ); + const int newAllocated = cap * 2; + T* newMem = new T[newAllocated]; + TIXMLASSERT( newAllocated >= _size ); + memcpy( newMem, _mem, sizeof(T)*_size ); // warning: not using constructors, only works for PODs + if ( _mem != _pool ) { + delete [] _mem; + } + _mem = newMem; + _allocated = newAllocated; + } + } + + T* _mem; + T _pool[INITIAL_SIZE]; + int _allocated; // objects allocated + int _size; // number objects in use +}; + + +/* + Parent virtual class of a pool for fast allocation + and deallocation of objects. +*/ +class MemPool +{ +public: + MemPool() {} + virtual ~MemPool() {} + + virtual int ItemSize() const = 0; + virtual void* Alloc() = 0; + virtual void Free( void* ) = 0; + virtual void SetTracked() = 0; +}; + + +/* + Template child class to create pools of the correct type. +*/ +template< int ITEM_SIZE > +class MemPoolT : public MemPool +{ +public: + MemPoolT() : _blockPtrs(), _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {} + ~MemPoolT() { + MemPoolT< ITEM_SIZE >::Clear(); + } + + void Clear() { + // Delete the blocks. + while( !_blockPtrs.Empty()) { + Block* lastBlock = _blockPtrs.Pop(); + delete lastBlock; + } + _root = 0; + _currentAllocs = 0; + _nAllocs = 0; + _maxAllocs = 0; + _nUntracked = 0; + } + + virtual int ItemSize() const { + return ITEM_SIZE; + } + int CurrentAllocs() const { + return _currentAllocs; + } + + virtual void* Alloc() { + if ( !_root ) { + // Need a new block. + Block* block = new Block; + _blockPtrs.Push( block ); + + Item* blockItems = block->items; + for( int i = 0; i < ITEMS_PER_BLOCK - 1; ++i ) { + blockItems[i].next = &(blockItems[i + 1]); + } + blockItems[ITEMS_PER_BLOCK - 1].next = 0; + _root = blockItems; + } + Item* const result = _root; + TIXMLASSERT( result != 0 ); + _root = _root->next; + + ++_currentAllocs; + if ( _currentAllocs > _maxAllocs ) { + _maxAllocs = _currentAllocs; + } + ++_nAllocs; + ++_nUntracked; + return result; + } + + virtual void Free( void* mem ) { + if ( !mem ) { + return; + } + --_currentAllocs; + Item* item = static_cast( mem ); +#ifdef TINYXML2_DEBUG + memset( item, 0xfe, sizeof( *item ) ); +#endif + item->next = _root; + _root = item; + } + void Trace( const char* name ) { + printf( "Mempool %s watermark=%d [%dk] current=%d size=%d nAlloc=%d blocks=%d\n", + name, _maxAllocs, _maxAllocs * ITEM_SIZE / 1024, _currentAllocs, + ITEM_SIZE, _nAllocs, _blockPtrs.Size() ); + } + + void SetTracked() { + --_nUntracked; + } + + int Untracked() const { + return _nUntracked; + } + + // This number is perf sensitive. 4k seems like a good tradeoff on my machine. + // The test file is large, 170k. + // Release: VS2010 gcc(no opt) + // 1k: 4000 + // 2k: 4000 + // 4k: 3900 21000 + // 16k: 5200 + // 32k: 4300 + // 64k: 4000 21000 + // Declared public because some compilers do not accept to use ITEMS_PER_BLOCK + // in private part if ITEMS_PER_BLOCK is private + enum { ITEMS_PER_BLOCK = (4 * 1024) / ITEM_SIZE }; + +private: + MemPoolT( const MemPoolT& ); // not supported + void operator=( const MemPoolT& ); // not supported + + union Item { + Item* next; + char itemData[ITEM_SIZE]; + }; + struct Block { + Item items[ITEMS_PER_BLOCK]; + }; + DynArray< Block*, 10 > _blockPtrs; + Item* _root; + + int _currentAllocs; + int _nAllocs; + int _maxAllocs; + int _nUntracked; +}; + + + +/** + Implements the interface to the "Visitor pattern" (see the Accept() method.) + If you call the Accept() method, it requires being passed a XMLVisitor + class to handle callbacks. For nodes that contain other nodes (Document, Element) + you will get called with a VisitEnter/VisitExit pair. Nodes that are always leafs + are simply called with Visit(). + + If you return 'true' from a Visit method, recursive parsing will continue. If you return + false, no children of this node or its siblings will be visited. + + All flavors of Visit methods have a default implementation that returns 'true' (continue + visiting). You need to only override methods that are interesting to you. + + Generally Accept() is called on the XMLDocument, although all nodes support visiting. + + You should never change the document from a callback. + + @sa XMLNode::Accept() +*/ +class TINYXML2_LIB XMLVisitor +{ +public: + virtual ~XMLVisitor() {} + + /// Visit a document. + virtual bool VisitEnter( const XMLDocument& /*doc*/ ) { + return true; + } + /// Visit a document. + virtual bool VisitExit( const XMLDocument& /*doc*/ ) { + return true; + } + + /// Visit an element. + virtual bool VisitEnter( const XMLElement& /*element*/, const XMLAttribute* /*firstAttribute*/ ) { + return true; + } + /// Visit an element. + virtual bool VisitExit( const XMLElement& /*element*/ ) { + return true; + } + + /// Visit a declaration. + virtual bool Visit( const XMLDeclaration& /*declaration*/ ) { + return true; + } + /// Visit a text node. + virtual bool Visit( const XMLText& /*text*/ ) { + return true; + } + /// Visit a comment node. + virtual bool Visit( const XMLComment& /*comment*/ ) { + return true; + } + /// Visit an unknown node. + virtual bool Visit( const XMLUnknown& /*unknown*/ ) { + return true; + } +}; + +// WARNING: must match XMLDocument::_errorNames[] +enum XMLError { + XML_SUCCESS = 0, + XML_NO_ATTRIBUTE, + XML_WRONG_ATTRIBUTE_TYPE, + XML_ERROR_FILE_NOT_FOUND, + XML_ERROR_FILE_COULD_NOT_BE_OPENED, + XML_ERROR_FILE_READ_ERROR, + XML_ERROR_PARSING_ELEMENT, + XML_ERROR_PARSING_ATTRIBUTE, + XML_ERROR_PARSING_TEXT, + XML_ERROR_PARSING_CDATA, + XML_ERROR_PARSING_COMMENT, + XML_ERROR_PARSING_DECLARATION, + XML_ERROR_PARSING_UNKNOWN, + XML_ERROR_EMPTY_DOCUMENT, + XML_ERROR_MISMATCHED_ELEMENT, + XML_ERROR_PARSING, + XML_CAN_NOT_CONVERT_TEXT, + XML_NO_TEXT_NODE, + XML_ELEMENT_DEPTH_EXCEEDED, + + XML_ERROR_COUNT +}; + + +/* + Utility functionality. +*/ +class TINYXML2_LIB XMLUtil +{ +public: + static const char* SkipWhiteSpace( const char* p, int* curLineNumPtr ) { + TIXMLASSERT( p ); + + while( IsWhiteSpace(*p) ) { + if (curLineNumPtr && *p == '\n') { + ++(*curLineNumPtr); + } + ++p; + } + TIXMLASSERT( p ); + return p; + } + static char* SkipWhiteSpace( char* const p, int* curLineNumPtr ) { + return const_cast( SkipWhiteSpace( const_cast(p), curLineNumPtr ) ); + } + + // Anything in the high order range of UTF-8 is assumed to not be whitespace. This isn't + // correct, but simple, and usually works. + static bool IsWhiteSpace( char p ) { + return !IsUTF8Continuation(p) && isspace( static_cast(p) ); + } + + inline static bool IsNameStartChar( unsigned char ch ) { + if ( ch >= 128 ) { + // This is a heuristic guess in attempt to not implement Unicode-aware isalpha() + return true; + } + if ( isalpha( ch ) ) { + return true; + } + return ch == ':' || ch == '_'; + } + + inline static bool IsNameChar( unsigned char ch ) { + return IsNameStartChar( ch ) + || isdigit( ch ) + || ch == '.' + || ch == '-'; + } + + inline static bool IsPrefixHex( const char* p) { + p = SkipWhiteSpace(p, 0); + return p && *p == '0' && ( *(p + 1) == 'x' || *(p + 1) == 'X'); + } + + inline static bool StringEqual( const char* p, const char* q, int nChar=INT_MAX ) { + if ( p == q ) { + return true; + } + TIXMLASSERT( p ); + TIXMLASSERT( q ); + TIXMLASSERT( nChar >= 0 ); + return strncmp( p, q, nChar ) == 0; + } + + inline static bool IsUTF8Continuation( const char p ) { + return ( p & 0x80 ) != 0; + } + + static const char* ReadBOM( const char* p, bool* hasBOM ); + // p is the starting location, + // the UTF-8 value of the entity will be placed in value, and length filled in. + static const char* GetCharacterRef( const char* p, char* value, int* length ); + static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ); + + // converts primitive types to strings + static void ToStr( int v, char* buffer, int bufferSize ); + static void ToStr( unsigned v, char* buffer, int bufferSize ); + static void ToStr( bool v, char* buffer, int bufferSize ); + static void ToStr( float v, char* buffer, int bufferSize ); + static void ToStr( double v, char* buffer, int bufferSize ); + static void ToStr(int64_t v, char* buffer, int bufferSize); + static void ToStr(uint64_t v, char* buffer, int bufferSize); + + // converts strings to primitive types + static bool ToInt( const char* str, int* value ); + static bool ToUnsigned( const char* str, unsigned* value ); + static bool ToBool( const char* str, bool* value ); + static bool ToFloat( const char* str, float* value ); + static bool ToDouble( const char* str, double* value ); + static bool ToInt64(const char* str, int64_t* value); + static bool ToUnsigned64(const char* str, uint64_t* value); + // Changes what is serialized for a boolean value. + // Default to "true" and "false". Shouldn't be changed + // unless you have a special testing or compatibility need. + // Be careful: static, global, & not thread safe. + // Be sure to set static const memory as parameters. + static void SetBoolSerialization(const char* writeTrue, const char* writeFalse); + +private: + static const char* writeBoolTrue; + static const char* writeBoolFalse; +}; + + +/** XMLNode is a base class for every object that is in the + XML Document Object Model (DOM), except XMLAttributes. + Nodes have siblings, a parent, and children which can + be navigated. A node is always in a XMLDocument. + The type of a XMLNode can be queried, and it can + be cast to its more defined type. + + A XMLDocument allocates memory for all its Nodes. + When the XMLDocument gets deleted, all its Nodes + will also be deleted. + + @verbatim + A Document can contain: Element (container or leaf) + Comment (leaf) + Unknown (leaf) + Declaration( leaf ) + + An Element can contain: Element (container or leaf) + Text (leaf) + Attributes (not on tree) + Comment (leaf) + Unknown (leaf) + + @endverbatim +*/ +class TINYXML2_LIB XMLNode +{ + friend class XMLDocument; + friend class XMLElement; +public: + + /// Get the XMLDocument that owns this XMLNode. + const XMLDocument* GetDocument() const { + TIXMLASSERT( _document ); + return _document; + } + /// Get the XMLDocument that owns this XMLNode. + XMLDocument* GetDocument() { + TIXMLASSERT( _document ); + return _document; + } + + /// Safely cast to an Element, or null. + virtual XMLElement* ToElement() { + return 0; + } + /// Safely cast to Text, or null. + virtual XMLText* ToText() { + return 0; + } + /// Safely cast to a Comment, or null. + virtual XMLComment* ToComment() { + return 0; + } + /// Safely cast to a Document, or null. + virtual XMLDocument* ToDocument() { + return 0; + } + /// Safely cast to a Declaration, or null. + virtual XMLDeclaration* ToDeclaration() { + return 0; + } + /// Safely cast to an Unknown, or null. + virtual XMLUnknown* ToUnknown() { + return 0; + } + + virtual const XMLElement* ToElement() const { + return 0; + } + virtual const XMLText* ToText() const { + return 0; + } + virtual const XMLComment* ToComment() const { + return 0; + } + virtual const XMLDocument* ToDocument() const { + return 0; + } + virtual const XMLDeclaration* ToDeclaration() const { + return 0; + } + virtual const XMLUnknown* ToUnknown() const { + return 0; + } + + /** The meaning of 'value' changes for the specific type. + @verbatim + Document: empty (NULL is returned, not an empty string) + Element: name of the element + Comment: the comment text + Unknown: the tag contents + Text: the text string + @endverbatim + */ + const char* Value() const; + + /** Set the Value of an XML node. + @sa Value() + */ + void SetValue( const char* val, bool staticMem=false ); + + /// Gets the line number the node is in, if the document was parsed from a file. + int GetLineNum() const { return _parseLineNum; } + + /// Get the parent of this node on the DOM. + const XMLNode* Parent() const { + return _parent; + } + + XMLNode* Parent() { + return _parent; + } + + /// Returns true if this node has no children. + bool NoChildren() const { + return !_firstChild; + } + + /// Get the first child node, or null if none exists. + const XMLNode* FirstChild() const { + return _firstChild; + } + + XMLNode* FirstChild() { + return _firstChild; + } + + /** Get the first child element, or optionally the first child + element with the specified name. + */ + const XMLElement* FirstChildElement( const char* name = 0 ) const; + + XMLElement* FirstChildElement( const char* name = 0 ) { + return const_cast(const_cast(this)->FirstChildElement( name )); + } + + /// Get the last child node, or null if none exists. + const XMLNode* LastChild() const { + return _lastChild; + } + + XMLNode* LastChild() { + return _lastChild; + } + + /** Get the last child element or optionally the last child + element with the specified name. + */ + const XMLElement* LastChildElement( const char* name = 0 ) const; + + XMLElement* LastChildElement( const char* name = 0 ) { + return const_cast(const_cast(this)->LastChildElement(name) ); + } + + /// Get the previous (left) sibling node of this node. + const XMLNode* PreviousSibling() const { + return _prev; + } + + XMLNode* PreviousSibling() { + return _prev; + } + + /// Get the previous (left) sibling element of this node, with an optionally supplied name. + const XMLElement* PreviousSiblingElement( const char* name = 0 ) const ; + + XMLElement* PreviousSiblingElement( const char* name = 0 ) { + return const_cast(const_cast(this)->PreviousSiblingElement( name ) ); + } + + /// Get the next (right) sibling node of this node. + const XMLNode* NextSibling() const { + return _next; + } + + XMLNode* NextSibling() { + return _next; + } + + /// Get the next (right) sibling element of this node, with an optionally supplied name. + const XMLElement* NextSiblingElement( const char* name = 0 ) const; + + XMLElement* NextSiblingElement( const char* name = 0 ) { + return const_cast(const_cast(this)->NextSiblingElement( name ) ); + } + + /** + Add a child node as the last (right) child. + If the child node is already part of the document, + it is moved from its old location to the new location. + Returns the addThis argument or 0 if the node does not + belong to the same document. + */ + XMLNode* InsertEndChild( XMLNode* addThis ); + + XMLNode* LinkEndChild( XMLNode* addThis ) { + return InsertEndChild( addThis ); + } + /** + Add a child node as the first (left) child. + If the child node is already part of the document, + it is moved from its old location to the new location. + Returns the addThis argument or 0 if the node does not + belong to the same document. + */ + XMLNode* InsertFirstChild( XMLNode* addThis ); + /** + Add a node after the specified child node. + If the child node is already part of the document, + it is moved from its old location to the new location. + Returns the addThis argument or 0 if the afterThis node + is not a child of this node, or if the node does not + belong to the same document. + */ + XMLNode* InsertAfterChild( XMLNode* afterThis, XMLNode* addThis ); + + /** + Delete all the children of this node. + */ + void DeleteChildren(); + + /** + Delete a child of this node. + */ + void DeleteChild( XMLNode* node ); + + /** + Make a copy of this node, but not its children. + You may pass in a Document pointer that will be + the owner of the new Node. If the 'document' is + null, then the node returned will be allocated + from the current Document. (this->GetDocument()) + + Note: if called on a XMLDocument, this will return null. + */ + virtual XMLNode* ShallowClone( XMLDocument* document ) const = 0; + + /** + Make a copy of this node and all its children. + + If the 'target' is null, then the nodes will + be allocated in the current document. If 'target' + is specified, the memory will be allocated is the + specified XMLDocument. + + NOTE: This is probably not the correct tool to + copy a document, since XMLDocuments can have multiple + top level XMLNodes. You probably want to use + XMLDocument::DeepCopy() + */ + XMLNode* DeepClone( XMLDocument* target ) const; + + /** + Test if 2 nodes are the same, but don't test children. + The 2 nodes do not need to be in the same Document. + + Note: if called on a XMLDocument, this will return false. + */ + virtual bool ShallowEqual( const XMLNode* compare ) const = 0; + + /** Accept a hierarchical visit of the nodes in the TinyXML-2 DOM. Every node in the + XML tree will be conditionally visited and the host will be called back + via the XMLVisitor interface. + + This is essentially a SAX interface for TinyXML-2. (Note however it doesn't re-parse + the XML for the callbacks, so the performance of TinyXML-2 is unchanged by using this + interface versus any other.) + + The interface has been based on ideas from: + + - http://www.saxproject.org/ + - http://c2.com/cgi/wiki?HierarchicalVisitorPattern + + Which are both good references for "visiting". + + An example of using Accept(): + @verbatim + XMLPrinter printer; + tinyxmlDoc.Accept( &printer ); + const char* xmlcstr = printer.CStr(); + @endverbatim + */ + virtual bool Accept( XMLVisitor* visitor ) const = 0; + + /** + Set user data into the XMLNode. TinyXML-2 in + no way processes or interprets user data. + It is initially 0. + */ + void SetUserData(void* userData) { _userData = userData; } + + /** + Get user data set into the XMLNode. TinyXML-2 in + no way processes or interprets user data. + It is initially 0. + */ + void* GetUserData() const { return _userData; } + +protected: + explicit XMLNode( XMLDocument* ); + virtual ~XMLNode(); + + virtual char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); + + XMLDocument* _document; + XMLNode* _parent; + mutable StrPair _value; + int _parseLineNum; + + XMLNode* _firstChild; + XMLNode* _lastChild; + + XMLNode* _prev; + XMLNode* _next; + + void* _userData; + +private: + MemPool* _memPool; + void Unlink( XMLNode* child ); + static void DeleteNode( XMLNode* node ); + void InsertChildPreamble( XMLNode* insertThis ) const; + const XMLElement* ToElementWithName( const char* name ) const; + + XMLNode( const XMLNode& ); // not supported + XMLNode& operator=( const XMLNode& ); // not supported +}; + + +/** XML text. + + Note that a text node can have child element nodes, for example: + @verbatim + This is bold + @endverbatim + + A text node can have 2 ways to output the next. "normal" output + and CDATA. It will default to the mode it was parsed from the XML file and + you generally want to leave it alone, but you can change the output mode with + SetCData() and query it with CData(). +*/ +class TINYXML2_LIB XMLText : public XMLNode +{ + friend class XMLDocument; +public: + virtual bool Accept( XMLVisitor* visitor ) const; + + virtual XMLText* ToText() { + return this; + } + virtual const XMLText* ToText() const { + return this; + } + + /// Declare whether this should be CDATA or standard text. + void SetCData( bool isCData ) { + _isCData = isCData; + } + /// Returns true if this is a CDATA text element. + bool CData() const { + return _isCData; + } + + virtual XMLNode* ShallowClone( XMLDocument* document ) const; + virtual bool ShallowEqual( const XMLNode* compare ) const; + +protected: + explicit XMLText( XMLDocument* doc ) : XMLNode( doc ), _isCData( false ) {} + virtual ~XMLText() {} + + char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); + +private: + bool _isCData; + + XMLText( const XMLText& ); // not supported + XMLText& operator=( const XMLText& ); // not supported +}; + + +/** An XML Comment. */ +class TINYXML2_LIB XMLComment : public XMLNode +{ + friend class XMLDocument; +public: + virtual XMLComment* ToComment() { + return this; + } + virtual const XMLComment* ToComment() const { + return this; + } + + virtual bool Accept( XMLVisitor* visitor ) const; + + virtual XMLNode* ShallowClone( XMLDocument* document ) const; + virtual bool ShallowEqual( const XMLNode* compare ) const; + +protected: + explicit XMLComment( XMLDocument* doc ); + virtual ~XMLComment(); + + char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr); + +private: + XMLComment( const XMLComment& ); // not supported + XMLComment& operator=( const XMLComment& ); // not supported +}; + + +/** In correct XML the declaration is the first entry in the file. + @verbatim + + @endverbatim + + TinyXML-2 will happily read or write files without a declaration, + however. + + The text of the declaration isn't interpreted. It is parsed + and written as a string. +*/ +class TINYXML2_LIB XMLDeclaration : public XMLNode +{ + friend class XMLDocument; +public: + virtual XMLDeclaration* ToDeclaration() { + return this; + } + virtual const XMLDeclaration* ToDeclaration() const { + return this; + } + + virtual bool Accept( XMLVisitor* visitor ) const; + + virtual XMLNode* ShallowClone( XMLDocument* document ) const; + virtual bool ShallowEqual( const XMLNode* compare ) const; + +protected: + explicit XMLDeclaration( XMLDocument* doc ); + virtual ~XMLDeclaration(); + + char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); + +private: + XMLDeclaration( const XMLDeclaration& ); // not supported + XMLDeclaration& operator=( const XMLDeclaration& ); // not supported +}; + + +/** Any tag that TinyXML-2 doesn't recognize is saved as an + unknown. It is a tag of text, but should not be modified. + It will be written back to the XML, unchanged, when the file + is saved. + + DTD tags get thrown into XMLUnknowns. +*/ +class TINYXML2_LIB XMLUnknown : public XMLNode +{ + friend class XMLDocument; +public: + virtual XMLUnknown* ToUnknown() { + return this; + } + virtual const XMLUnknown* ToUnknown() const { + return this; + } + + virtual bool Accept( XMLVisitor* visitor ) const; + + virtual XMLNode* ShallowClone( XMLDocument* document ) const; + virtual bool ShallowEqual( const XMLNode* compare ) const; + +protected: + explicit XMLUnknown( XMLDocument* doc ); + virtual ~XMLUnknown(); + + char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); + +private: + XMLUnknown( const XMLUnknown& ); // not supported + XMLUnknown& operator=( const XMLUnknown& ); // not supported +}; + + + +/** An attribute is a name-value pair. Elements have an arbitrary + number of attributes, each with a unique name. + + @note The attributes are not XMLNodes. You may only query the + Next() attribute in a list. +*/ +class TINYXML2_LIB XMLAttribute +{ + friend class XMLElement; +public: + /// The name of the attribute. + const char* Name() const; + + /// The value of the attribute. + const char* Value() const; + + /// Gets the line number the attribute is in, if the document was parsed from a file. + int GetLineNum() const { return _parseLineNum; } + + /// The next attribute in the list. + const XMLAttribute* Next() const { + return _next; + } + + /** IntValue interprets the attribute as an integer, and returns the value. + If the value isn't an integer, 0 will be returned. There is no error checking; + use QueryIntValue() if you need error checking. + */ + int IntValue() const { + int i = 0; + QueryIntValue(&i); + return i; + } + + int64_t Int64Value() const { + int64_t i = 0; + QueryInt64Value(&i); + return i; + } + + uint64_t Unsigned64Value() const { + uint64_t i = 0; + QueryUnsigned64Value(&i); + return i; + } + + /// Query as an unsigned integer. See IntValue() + unsigned UnsignedValue() const { + unsigned i=0; + QueryUnsignedValue( &i ); + return i; + } + /// Query as a boolean. See IntValue() + bool BoolValue() const { + bool b=false; + QueryBoolValue( &b ); + return b; + } + /// Query as a double. See IntValue() + double DoubleValue() const { + double d=0; + QueryDoubleValue( &d ); + return d; + } + /// Query as a float. See IntValue() + float FloatValue() const { + float f=0; + QueryFloatValue( &f ); + return f; + } + + /** QueryIntValue interprets the attribute as an integer, and returns the value + in the provided parameter. The function will return XML_SUCCESS on success, + and XML_WRONG_ATTRIBUTE_TYPE if the conversion is not successful. + */ + XMLError QueryIntValue( int* value ) const; + /// See QueryIntValue + XMLError QueryUnsignedValue( unsigned int* value ) const; + /// See QueryIntValue + XMLError QueryInt64Value(int64_t* value) const; + /// See QueryIntValue + XMLError QueryUnsigned64Value(uint64_t* value) const; + /// See QueryIntValue + XMLError QueryBoolValue( bool* value ) const; + /// See QueryIntValue + XMLError QueryDoubleValue( double* value ) const; + /// See QueryIntValue + XMLError QueryFloatValue( float* value ) const; + + /// Set the attribute to a string value. + void SetAttribute( const char* value ); + /// Set the attribute to value. + void SetAttribute( int value ); + /// Set the attribute to value. + void SetAttribute( unsigned value ); + /// Set the attribute to value. + void SetAttribute(int64_t value); + /// Set the attribute to value. + void SetAttribute(uint64_t value); + /// Set the attribute to value. + void SetAttribute( bool value ); + /// Set the attribute to value. + void SetAttribute( double value ); + /// Set the attribute to value. + void SetAttribute( float value ); + +private: + enum { BUF_SIZE = 200 }; + + XMLAttribute() : _name(), _value(),_parseLineNum( 0 ), _next( 0 ), _memPool( 0 ) {} + virtual ~XMLAttribute() {} + + XMLAttribute( const XMLAttribute& ); // not supported + void operator=( const XMLAttribute& ); // not supported + void SetName( const char* name ); + + char* ParseDeep( char* p, bool processEntities, int* curLineNumPtr ); + + mutable StrPair _name; + mutable StrPair _value; + int _parseLineNum; + XMLAttribute* _next; + MemPool* _memPool; +}; + + +/** The element is a container class. It has a value, the element name, + and can contain other elements, text, comments, and unknowns. + Elements also contain an arbitrary number of attributes. +*/ +class TINYXML2_LIB XMLElement : public XMLNode +{ + friend class XMLDocument; +public: + /// Get the name of an element (which is the Value() of the node.) + const char* Name() const { + return Value(); + } + /// Set the name of the element. + void SetName( const char* str, bool staticMem=false ) { + SetValue( str, staticMem ); + } + + virtual XMLElement* ToElement() { + return this; + } + virtual const XMLElement* ToElement() const { + return this; + } + virtual bool Accept( XMLVisitor* visitor ) const; + + /** Given an attribute name, Attribute() returns the value + for the attribute of that name, or null if none + exists. For example: + + @verbatim + const char* value = ele->Attribute( "foo" ); + @endverbatim + + The 'value' parameter is normally null. However, if specified, + the attribute will only be returned if the 'name' and 'value' + match. This allow you to write code: + + @verbatim + if ( ele->Attribute( "foo", "bar" ) ) callFooIsBar(); + @endverbatim + + rather than: + @verbatim + if ( ele->Attribute( "foo" ) ) { + if ( strcmp( ele->Attribute( "foo" ), "bar" ) == 0 ) callFooIsBar(); + } + @endverbatim + */ + const char* Attribute( const char* name, const char* value=0 ) const; + + /** Given an attribute name, IntAttribute() returns the value + of the attribute interpreted as an integer. The default + value will be returned if the attribute isn't present, + or if there is an error. (For a method with error + checking, see QueryIntAttribute()). + */ + int IntAttribute(const char* name, int defaultValue = 0) const; + /// See IntAttribute() + unsigned UnsignedAttribute(const char* name, unsigned defaultValue = 0) const; + /// See IntAttribute() + int64_t Int64Attribute(const char* name, int64_t defaultValue = 0) const; + /// See IntAttribute() + uint64_t Unsigned64Attribute(const char* name, uint64_t defaultValue = 0) const; + /// See IntAttribute() + bool BoolAttribute(const char* name, bool defaultValue = false) const; + /// See IntAttribute() + double DoubleAttribute(const char* name, double defaultValue = 0) const; + /// See IntAttribute() + float FloatAttribute(const char* name, float defaultValue = 0) const; + + /** Given an attribute name, QueryIntAttribute() returns + XML_SUCCESS, XML_WRONG_ATTRIBUTE_TYPE if the conversion + can't be performed, or XML_NO_ATTRIBUTE if the attribute + doesn't exist. If successful, the result of the conversion + will be written to 'value'. If not successful, nothing will + be written to 'value'. This allows you to provide default + value: + + @verbatim + int value = 10; + QueryIntAttribute( "foo", &value ); // if "foo" isn't found, value will still be 10 + @endverbatim + */ + XMLError QueryIntAttribute( const char* name, int* value ) const { + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return XML_NO_ATTRIBUTE; + } + return a->QueryIntValue( value ); + } + + /// See QueryIntAttribute() + XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const { + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return XML_NO_ATTRIBUTE; + } + return a->QueryUnsignedValue( value ); + } + + /// See QueryIntAttribute() + XMLError QueryInt64Attribute(const char* name, int64_t* value) const { + const XMLAttribute* a = FindAttribute(name); + if (!a) { + return XML_NO_ATTRIBUTE; + } + return a->QueryInt64Value(value); + } + + /// See QueryIntAttribute() + XMLError QueryUnsigned64Attribute(const char* name, uint64_t* value) const { + const XMLAttribute* a = FindAttribute(name); + if(!a) { + return XML_NO_ATTRIBUTE; + } + return a->QueryUnsigned64Value(value); + } + + /// See QueryIntAttribute() + XMLError QueryBoolAttribute( const char* name, bool* value ) const { + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return XML_NO_ATTRIBUTE; + } + return a->QueryBoolValue( value ); + } + /// See QueryIntAttribute() + XMLError QueryDoubleAttribute( const char* name, double* value ) const { + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return XML_NO_ATTRIBUTE; + } + return a->QueryDoubleValue( value ); + } + /// See QueryIntAttribute() + XMLError QueryFloatAttribute( const char* name, float* value ) const { + const XMLAttribute* a = FindAttribute( name ); + if ( !a ) { + return XML_NO_ATTRIBUTE; + } + return a->QueryFloatValue( value ); + } + + /// See QueryIntAttribute() + XMLError QueryStringAttribute(const char* name, const char** value) const { + const XMLAttribute* a = FindAttribute(name); + if (!a) { + return XML_NO_ATTRIBUTE; + } + *value = a->Value(); + return XML_SUCCESS; + } + + + + /** Given an attribute name, QueryAttribute() returns + XML_SUCCESS, XML_WRONG_ATTRIBUTE_TYPE if the conversion + can't be performed, or XML_NO_ATTRIBUTE if the attribute + doesn't exist. It is overloaded for the primitive types, + and is a generally more convenient replacement of + QueryIntAttribute() and related functions. + + If successful, the result of the conversion + will be written to 'value'. If not successful, nothing will + be written to 'value'. This allows you to provide default + value: + + @verbatim + int value = 10; + QueryAttribute( "foo", &value ); // if "foo" isn't found, value will still be 10 + @endverbatim + */ + XMLError QueryAttribute( const char* name, int* value ) const { + return QueryIntAttribute( name, value ); + } + + XMLError QueryAttribute( const char* name, unsigned int* value ) const { + return QueryUnsignedAttribute( name, value ); + } + + XMLError QueryAttribute(const char* name, int64_t* value) const { + return QueryInt64Attribute(name, value); + } + + XMLError QueryAttribute(const char* name, uint64_t* value) const { + return QueryUnsigned64Attribute(name, value); + } + + XMLError QueryAttribute( const char* name, bool* value ) const { + return QueryBoolAttribute( name, value ); + } + + XMLError QueryAttribute( const char* name, double* value ) const { + return QueryDoubleAttribute( name, value ); + } + + XMLError QueryAttribute( const char* name, float* value ) const { + return QueryFloatAttribute( name, value ); + } + + XMLError QueryAttribute(const char* name, const char** value) const { + return QueryStringAttribute(name, value); + } + + /// Sets the named attribute to value. + void SetAttribute( const char* name, const char* value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + /// Sets the named attribute to value. + void SetAttribute( const char* name, int value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + /// Sets the named attribute to value. + void SetAttribute( const char* name, unsigned value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + + /// Sets the named attribute to value. + void SetAttribute(const char* name, int64_t value) { + XMLAttribute* a = FindOrCreateAttribute(name); + a->SetAttribute(value); + } + + /// Sets the named attribute to value. + void SetAttribute(const char* name, uint64_t value) { + XMLAttribute* a = FindOrCreateAttribute(name); + a->SetAttribute(value); + } + + /// Sets the named attribute to value. + void SetAttribute( const char* name, bool value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + /// Sets the named attribute to value. + void SetAttribute( const char* name, double value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + /// Sets the named attribute to value. + void SetAttribute( const char* name, float value ) { + XMLAttribute* a = FindOrCreateAttribute( name ); + a->SetAttribute( value ); + } + + /** + Delete an attribute. + */ + void DeleteAttribute( const char* name ); + + /// Return the first attribute in the list. + const XMLAttribute* FirstAttribute() const { + return _rootAttribute; + } + /// Query a specific attribute in the list. + const XMLAttribute* FindAttribute( const char* name ) const; + + /** Convenience function for easy access to the text inside an element. Although easy + and concise, GetText() is limited compared to getting the XMLText child + and accessing it directly. + + If the first child of 'this' is a XMLText, the GetText() + returns the character string of the Text node, else null is returned. + + This is a convenient method for getting the text of simple contained text: + @verbatim + This is text + const char* str = fooElement->GetText(); + @endverbatim + + 'str' will be a pointer to "This is text". + + Note that this function can be misleading. If the element foo was created from + this XML: + @verbatim + This is text + @endverbatim + + then the value of str would be null. The first child node isn't a text node, it is + another element. From this XML: + @verbatim + This is text + @endverbatim + GetText() will return "This is ". + */ + const char* GetText() const; + + /** Convenience function for easy access to the text inside an element. Although easy + and concise, SetText() is limited compared to creating an XMLText child + and mutating it directly. + + If the first child of 'this' is a XMLText, SetText() sets its value to + the given string, otherwise it will create a first child that is an XMLText. + + This is a convenient method for setting the text of simple contained text: + @verbatim + This is text + fooElement->SetText( "Hullaballoo!" ); + Hullaballoo! + @endverbatim + + Note that this function can be misleading. If the element foo was created from + this XML: + @verbatim + This is text + @endverbatim + + then it will not change "This is text", but rather prefix it with a text element: + @verbatim + Hullaballoo!This is text + @endverbatim + + For this XML: + @verbatim + + @endverbatim + SetText() will generate + @verbatim + Hullaballoo! + @endverbatim + */ + void SetText( const char* inText ); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText( int value ); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText( unsigned value ); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText(int64_t value); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText(uint64_t value); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText( bool value ); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText( double value ); + /// Convenience method for setting text inside an element. See SetText() for important limitations. + void SetText( float value ); + + /** + Convenience method to query the value of a child text node. This is probably best + shown by example. Given you have a document is this form: + @verbatim + + 1 + 1.4 + + @endverbatim + + The QueryIntText() and similar functions provide a safe and easier way to get to the + "value" of x and y. + + @verbatim + int x = 0; + float y = 0; // types of x and y are contrived for example + const XMLElement* xElement = pointElement->FirstChildElement( "x" ); + const XMLElement* yElement = pointElement->FirstChildElement( "y" ); + xElement->QueryIntText( &x ); + yElement->QueryFloatText( &y ); + @endverbatim + + @returns XML_SUCCESS (0) on success, XML_CAN_NOT_CONVERT_TEXT if the text cannot be converted + to the requested type, and XML_NO_TEXT_NODE if there is no child text to query. + + */ + XMLError QueryIntText( int* ival ) const; + /// See QueryIntText() + XMLError QueryUnsignedText( unsigned* uval ) const; + /// See QueryIntText() + XMLError QueryInt64Text(int64_t* uval) const; + /// See QueryIntText() + XMLError QueryUnsigned64Text(uint64_t* uval) const; + /// See QueryIntText() + XMLError QueryBoolText( bool* bval ) const; + /// See QueryIntText() + XMLError QueryDoubleText( double* dval ) const; + /// See QueryIntText() + XMLError QueryFloatText( float* fval ) const; + + int IntText(int defaultValue = 0) const; + + /// See QueryIntText() + unsigned UnsignedText(unsigned defaultValue = 0) const; + /// See QueryIntText() + int64_t Int64Text(int64_t defaultValue = 0) const; + /// See QueryIntText() + uint64_t Unsigned64Text(uint64_t defaultValue = 0) const; + /// See QueryIntText() + bool BoolText(bool defaultValue = false) const; + /// See QueryIntText() + double DoubleText(double defaultValue = 0) const; + /// See QueryIntText() + float FloatText(float defaultValue = 0) const; + + /** + Convenience method to create a new XMLElement and add it as last (right) + child of this node. Returns the created and inserted element. + */ + XMLElement* InsertNewChildElement(const char* name); + /// See InsertNewChildElement() + XMLComment* InsertNewComment(const char* comment); + /// See InsertNewChildElement() + XMLText* InsertNewText(const char* text); + /// See InsertNewChildElement() + XMLDeclaration* InsertNewDeclaration(const char* text); + /// See InsertNewChildElement() + XMLUnknown* InsertNewUnknown(const char* text); + + + // internal: + enum ElementClosingType { + OPENED, // + CLOSED, // + CLOSING // + }; + ElementClosingType ClosingType() const { + return _closingType; + } + virtual XMLNode* ShallowClone( XMLDocument* document ) const; + virtual bool ShallowEqual( const XMLNode* compare ) const; + +protected: + char* ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr ); + +private: + XMLElement( XMLDocument* doc ); + virtual ~XMLElement(); + XMLElement( const XMLElement& ); // not supported + void operator=( const XMLElement& ); // not supported + + XMLAttribute* FindOrCreateAttribute( const char* name ); + char* ParseAttributes( char* p, int* curLineNumPtr ); + static void DeleteAttribute( XMLAttribute* attribute ); + XMLAttribute* CreateAttribute(); + + enum { BUF_SIZE = 200 }; + ElementClosingType _closingType; + // The attribute list is ordered; there is no 'lastAttribute' + // because the list needs to be scanned for dupes before adding + // a new attribute. + XMLAttribute* _rootAttribute; +}; + + +enum Whitespace { + PRESERVE_WHITESPACE, + COLLAPSE_WHITESPACE +}; + + +/** A Document binds together all the functionality. + It can be saved, loaded, and printed to the screen. + All Nodes are connected and allocated to a Document. + If the Document is deleted, all its Nodes are also deleted. +*/ +class TINYXML2_LIB XMLDocument : public XMLNode +{ + friend class XMLElement; + // Gives access to SetError and Push/PopDepth, but over-access for everything else. + // Wishing C++ had "internal" scope. + friend class XMLNode; + friend class XMLText; + friend class XMLComment; + friend class XMLDeclaration; + friend class XMLUnknown; +public: + /// constructor + XMLDocument( bool processEntities = true, Whitespace whitespaceMode = PRESERVE_WHITESPACE ); + ~XMLDocument(); + + virtual XMLDocument* ToDocument() { + TIXMLASSERT( this == _document ); + return this; + } + virtual const XMLDocument* ToDocument() const { + TIXMLASSERT( this == _document ); + return this; + } + + /** + Parse an XML file from a character string. + Returns XML_SUCCESS (0) on success, or + an errorID. + + You may optionally pass in the 'nBytes', which is + the number of bytes which will be parsed. If not + specified, TinyXML-2 will assume 'xml' points to a + null terminated string. + */ + XMLError Parse( const char* xml, size_t nBytes=static_cast(-1) ); + + /** + Load an XML file from disk. + Returns XML_SUCCESS (0) on success, or + an errorID. + */ + XMLError LoadFile( const char* filename ); + + /** + Load an XML file from disk. You are responsible + for providing and closing the FILE*. + + NOTE: The file should be opened as binary ("rb") + not text in order for TinyXML-2 to correctly + do newline normalization. + + Returns XML_SUCCESS (0) on success, or + an errorID. + */ + XMLError LoadFile( FILE* ); + + /** + Save the XML file to disk. + Returns XML_SUCCESS (0) on success, or + an errorID. + */ + XMLError SaveFile( const char* filename, bool compact = false ); + + /** + Save the XML file to disk. You are responsible + for providing and closing the FILE*. + + Returns XML_SUCCESS (0) on success, or + an errorID. + */ + XMLError SaveFile( FILE* fp, bool compact = false ); + + bool ProcessEntities() const { + return _processEntities; + } + Whitespace WhitespaceMode() const { + return _whitespaceMode; + } + + /** + Returns true if this document has a leading Byte Order Mark of UTF8. + */ + bool HasBOM() const { + return _writeBOM; + } + /** Sets whether to write the BOM when writing the file. + */ + void SetBOM( bool useBOM ) { + _writeBOM = useBOM; + } + + /** Return the root element of DOM. Equivalent to FirstChildElement(). + To get the first node, use FirstChild(). + */ + XMLElement* RootElement() { + return FirstChildElement(); + } + const XMLElement* RootElement() const { + return FirstChildElement(); + } + + /** Print the Document. If the Printer is not provided, it will + print to stdout. If you provide Printer, this can print to a file: + @verbatim + XMLPrinter printer( fp ); + doc.Print( &printer ); + @endverbatim + + Or you can use a printer to print to memory: + @verbatim + XMLPrinter printer; + doc.Print( &printer ); + // printer.CStr() has a const char* to the XML + @endverbatim + */ + void Print( XMLPrinter* streamer=0 ) const; + virtual bool Accept( XMLVisitor* visitor ) const; + + /** + Create a new Element associated with + this Document. The memory for the Element + is managed by the Document. + */ + XMLElement* NewElement( const char* name ); + /** + Create a new Comment associated with + this Document. The memory for the Comment + is managed by the Document. + */ + XMLComment* NewComment( const char* comment ); + /** + Create a new Text associated with + this Document. The memory for the Text + is managed by the Document. + */ + XMLText* NewText( const char* text ); + /** + Create a new Declaration associated with + this Document. The memory for the object + is managed by the Document. + + If the 'text' param is null, the standard + declaration is used.: + @verbatim + + @endverbatim + */ + XMLDeclaration* NewDeclaration( const char* text=0 ); + /** + Create a new Unknown associated with + this Document. The memory for the object + is managed by the Document. + */ + XMLUnknown* NewUnknown( const char* text ); + + /** + Delete a node associated with this document. + It will be unlinked from the DOM. + */ + void DeleteNode( XMLNode* node ); + + /// Clears the error flags. + void ClearError(); + + /// Return true if there was an error parsing the document. + bool Error() const { + return _errorID != XML_SUCCESS; + } + /// Return the errorID. + XMLError ErrorID() const { + return _errorID; + } + const char* ErrorName() const; + static const char* ErrorIDToName(XMLError errorID); + + /** Returns a "long form" error description. A hopefully helpful + diagnostic with location, line number, and/or additional info. + */ + const char* ErrorStr() const; + + /// A (trivial) utility function that prints the ErrorStr() to stdout. + void PrintError() const; + + /// Return the line where the error occurred, or zero if unknown. + int ErrorLineNum() const + { + return _errorLineNum; + } + + /// Clear the document, resetting it to the initial state. + void Clear(); + + /** + Copies this document to a target document. + The target will be completely cleared before the copy. + If you want to copy a sub-tree, see XMLNode::DeepClone(). + + NOTE: that the 'target' must be non-null. + */ + void DeepCopy(XMLDocument* target) const; + + // internal + char* Identify( char* p, XMLNode** node ); + + // internal + void MarkInUse(const XMLNode* const); + + virtual XMLNode* ShallowClone( XMLDocument* /*document*/ ) const { + return 0; + } + virtual bool ShallowEqual( const XMLNode* /*compare*/ ) const { + return false; + } + +private: + XMLDocument( const XMLDocument& ); // not supported + void operator=( const XMLDocument& ); // not supported + + bool _writeBOM; + bool _processEntities; + XMLError _errorID; + Whitespace _whitespaceMode; + mutable StrPair _errorStr; + int _errorLineNum; + char* _charBuffer; + int _parseCurLineNum; + int _parsingDepth; + // Memory tracking does add some overhead. + // However, the code assumes that you don't + // have a bunch of unlinked nodes around. + // Therefore it takes less memory to track + // in the document vs. a linked list in the XMLNode, + // and the performance is the same. + DynArray _unlinked; + + MemPoolT< sizeof(XMLElement) > _elementPool; + MemPoolT< sizeof(XMLAttribute) > _attributePool; + MemPoolT< sizeof(XMLText) > _textPool; + MemPoolT< sizeof(XMLComment) > _commentPool; + + static const char* _errorNames[XML_ERROR_COUNT]; + + void Parse(); + + void SetError( XMLError error, int lineNum, const char* format, ... ); + + // Something of an obvious security hole, once it was discovered. + // Either an ill-formed XML or an excessively deep one can overflow + // the stack. Track stack depth, and error out if needed. + class DepthTracker { + public: + explicit DepthTracker(XMLDocument * document) { + this->_document = document; + document->PushDepth(); + } + ~DepthTracker() { + _document->PopDepth(); + } + private: + XMLDocument * _document; + }; + void PushDepth(); + void PopDepth(); + + template + NodeType* CreateUnlinkedNode( MemPoolT& pool ); +}; + +template +inline NodeType* XMLDocument::CreateUnlinkedNode( MemPoolT& pool ) +{ + TIXMLASSERT( sizeof( NodeType ) == PoolElementSize ); + TIXMLASSERT( sizeof( NodeType ) == pool.ItemSize() ); + NodeType* returnNode = new (pool.Alloc()) NodeType( this ); + TIXMLASSERT( returnNode ); + returnNode->_memPool = &pool; + + _unlinked.Push(returnNode); + return returnNode; +} + +/** + A XMLHandle is a class that wraps a node pointer with null checks; this is + an incredibly useful thing. Note that XMLHandle is not part of the TinyXML-2 + DOM structure. It is a separate utility class. + + Take an example: + @verbatim + + + + + + + @endverbatim + + Assuming you want the value of "attributeB" in the 2nd "Child" element, it's very + easy to write a *lot* of code that looks like: + + @verbatim + XMLElement* root = document.FirstChildElement( "Document" ); + if ( root ) + { + XMLElement* element = root->FirstChildElement( "Element" ); + if ( element ) + { + XMLElement* child = element->FirstChildElement( "Child" ); + if ( child ) + { + XMLElement* child2 = child->NextSiblingElement( "Child" ); + if ( child2 ) + { + // Finally do something useful. + @endverbatim + + And that doesn't even cover "else" cases. XMLHandle addresses the verbosity + of such code. A XMLHandle checks for null pointers so it is perfectly safe + and correct to use: + + @verbatim + XMLHandle docHandle( &document ); + XMLElement* child2 = docHandle.FirstChildElement( "Document" ).FirstChildElement( "Element" ).FirstChildElement().NextSiblingElement(); + if ( child2 ) + { + // do something useful + @endverbatim + + Which is MUCH more concise and useful. + + It is also safe to copy handles - internally they are nothing more than node pointers. + @verbatim + XMLHandle handleCopy = handle; + @endverbatim + + See also XMLConstHandle, which is the same as XMLHandle, but operates on const objects. +*/ +class TINYXML2_LIB XMLHandle +{ +public: + /// Create a handle from any node (at any depth of the tree.) This can be a null pointer. + explicit XMLHandle( XMLNode* node ) : _node( node ) { + } + /// Create a handle from a node. + explicit XMLHandle( XMLNode& node ) : _node( &node ) { + } + /// Copy constructor + XMLHandle( const XMLHandle& ref ) : _node( ref._node ) { + } + /// Assignment + XMLHandle& operator=( const XMLHandle& ref ) { + _node = ref._node; + return *this; + } + + /// Get the first child of this handle. + XMLHandle FirstChild() { + return XMLHandle( _node ? _node->FirstChild() : 0 ); + } + /// Get the first child element of this handle. + XMLHandle FirstChildElement( const char* name = 0 ) { + return XMLHandle( _node ? _node->FirstChildElement( name ) : 0 ); + } + /// Get the last child of this handle. + XMLHandle LastChild() { + return XMLHandle( _node ? _node->LastChild() : 0 ); + } + /// Get the last child element of this handle. + XMLHandle LastChildElement( const char* name = 0 ) { + return XMLHandle( _node ? _node->LastChildElement( name ) : 0 ); + } + /// Get the previous sibling of this handle. + XMLHandle PreviousSibling() { + return XMLHandle( _node ? _node->PreviousSibling() : 0 ); + } + /// Get the previous sibling element of this handle. + XMLHandle PreviousSiblingElement( const char* name = 0 ) { + return XMLHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); + } + /// Get the next sibling of this handle. + XMLHandle NextSibling() { + return XMLHandle( _node ? _node->NextSibling() : 0 ); + } + /// Get the next sibling element of this handle. + XMLHandle NextSiblingElement( const char* name = 0 ) { + return XMLHandle( _node ? _node->NextSiblingElement( name ) : 0 ); + } + + /// Safe cast to XMLNode. This can return null. + XMLNode* ToNode() { + return _node; + } + /// Safe cast to XMLElement. This can return null. + XMLElement* ToElement() { + return ( _node ? _node->ToElement() : 0 ); + } + /// Safe cast to XMLText. This can return null. + XMLText* ToText() { + return ( _node ? _node->ToText() : 0 ); + } + /// Safe cast to XMLUnknown. This can return null. + XMLUnknown* ToUnknown() { + return ( _node ? _node->ToUnknown() : 0 ); + } + /// Safe cast to XMLDeclaration. This can return null. + XMLDeclaration* ToDeclaration() { + return ( _node ? _node->ToDeclaration() : 0 ); + } + +private: + XMLNode* _node; +}; + + +/** + A variant of the XMLHandle class for working with const XMLNodes and Documents. It is the + same in all regards, except for the 'const' qualifiers. See XMLHandle for API. +*/ +class TINYXML2_LIB XMLConstHandle +{ +public: + explicit XMLConstHandle( const XMLNode* node ) : _node( node ) { + } + explicit XMLConstHandle( const XMLNode& node ) : _node( &node ) { + } + XMLConstHandle( const XMLConstHandle& ref ) : _node( ref._node ) { + } + + XMLConstHandle& operator=( const XMLConstHandle& ref ) { + _node = ref._node; + return *this; + } + + const XMLConstHandle FirstChild() const { + return XMLConstHandle( _node ? _node->FirstChild() : 0 ); + } + const XMLConstHandle FirstChildElement( const char* name = 0 ) const { + return XMLConstHandle( _node ? _node->FirstChildElement( name ) : 0 ); + } + const XMLConstHandle LastChild() const { + return XMLConstHandle( _node ? _node->LastChild() : 0 ); + } + const XMLConstHandle LastChildElement( const char* name = 0 ) const { + return XMLConstHandle( _node ? _node->LastChildElement( name ) : 0 ); + } + const XMLConstHandle PreviousSibling() const { + return XMLConstHandle( _node ? _node->PreviousSibling() : 0 ); + } + const XMLConstHandle PreviousSiblingElement( const char* name = 0 ) const { + return XMLConstHandle( _node ? _node->PreviousSiblingElement( name ) : 0 ); + } + const XMLConstHandle NextSibling() const { + return XMLConstHandle( _node ? _node->NextSibling() : 0 ); + } + const XMLConstHandle NextSiblingElement( const char* name = 0 ) const { + return XMLConstHandle( _node ? _node->NextSiblingElement( name ) : 0 ); + } + + + const XMLNode* ToNode() const { + return _node; + } + const XMLElement* ToElement() const { + return ( _node ? _node->ToElement() : 0 ); + } + const XMLText* ToText() const { + return ( _node ? _node->ToText() : 0 ); + } + const XMLUnknown* ToUnknown() const { + return ( _node ? _node->ToUnknown() : 0 ); + } + const XMLDeclaration* ToDeclaration() const { + return ( _node ? _node->ToDeclaration() : 0 ); + } + +private: + const XMLNode* _node; +}; + + +/** + Printing functionality. The XMLPrinter gives you more + options than the XMLDocument::Print() method. + + It can: + -# Print to memory. + -# Print to a file you provide. + -# Print XML without a XMLDocument. + + Print to Memory + + @verbatim + XMLPrinter printer; + doc.Print( &printer ); + SomeFunction( printer.CStr() ); + @endverbatim + + Print to a File + + You provide the file pointer. + @verbatim + XMLPrinter printer( fp ); + doc.Print( &printer ); + @endverbatim + + Print without a XMLDocument + + When loading, an XML parser is very useful. However, sometimes + when saving, it just gets in the way. The code is often set up + for streaming, and constructing the DOM is just overhead. + + The Printer supports the streaming case. The following code + prints out a trivially simple XML file without ever creating + an XML document. + + @verbatim + XMLPrinter printer( fp ); + printer.OpenElement( "foo" ); + printer.PushAttribute( "foo", "bar" ); + printer.CloseElement(); + @endverbatim +*/ +class TINYXML2_LIB XMLPrinter : public XMLVisitor +{ +public: + /** Construct the printer. If the FILE* is specified, + this will print to the FILE. Else it will print + to memory, and the result is available in CStr(). + If 'compact' is set to true, then output is created + with only required whitespace and newlines. + */ + XMLPrinter( FILE* file=0, bool compact = false, int depth = 0 ); + virtual ~XMLPrinter() {} + + /** If streaming, write the BOM and declaration. */ + void PushHeader( bool writeBOM, bool writeDeclaration ); + /** If streaming, start writing an element. + The element must be closed with CloseElement() + */ + void OpenElement( const char* name, bool compactMode=false ); + /// If streaming, add an attribute to an open element. + void PushAttribute( const char* name, const char* value ); + void PushAttribute( const char* name, int value ); + void PushAttribute( const char* name, unsigned value ); + void PushAttribute( const char* name, int64_t value ); + void PushAttribute( const char* name, uint64_t value ); + void PushAttribute( const char* name, bool value ); + void PushAttribute( const char* name, double value ); + /// If streaming, close the Element. + virtual void CloseElement( bool compactMode=false ); + + /// Add a text node. + void PushText( const char* text, bool cdata=false ); + /// Add a text node from an integer. + void PushText( int value ); + /// Add a text node from an unsigned. + void PushText( unsigned value ); + /// Add a text node from a signed 64bit integer. + void PushText( int64_t value ); + /// Add a text node from an unsigned 64bit integer. + void PushText( uint64_t value ); + /// Add a text node from a bool. + void PushText( bool value ); + /// Add a text node from a float. + void PushText( float value ); + /// Add a text node from a double. + void PushText( double value ); + + /// Add a comment + void PushComment( const char* comment ); + + void PushDeclaration( const char* value ); + void PushUnknown( const char* value ); + + virtual bool VisitEnter( const XMLDocument& /*doc*/ ); + virtual bool VisitExit( const XMLDocument& /*doc*/ ) { + return true; + } + + virtual bool VisitEnter( const XMLElement& element, const XMLAttribute* attribute ); + virtual bool VisitExit( const XMLElement& element ); + + virtual bool Visit( const XMLText& text ); + virtual bool Visit( const XMLComment& comment ); + virtual bool Visit( const XMLDeclaration& declaration ); + virtual bool Visit( const XMLUnknown& unknown ); + + /** + If in print to memory mode, return a pointer to + the XML file in memory. + */ + const char* CStr() const { + return _buffer.Mem(); + } + /** + If in print to memory mode, return the size + of the XML file in memory. (Note the size returned + includes the terminating null.) + */ + int CStrSize() const { + return _buffer.Size(); + } + /** + If in print to memory mode, reset the buffer to the + beginning. + */ + void ClearBuffer( bool resetToFirstElement = true ) { + _buffer.Clear(); + _buffer.Push(0); + _firstElement = resetToFirstElement; + } + +protected: + virtual bool CompactMode( const XMLElement& ) { return _compactMode; } + + /** Prints out the space before an element. You may override to change + the space and tabs used. A PrintSpace() override should call Print(). + */ + virtual void PrintSpace( int depth ); + virtual void Print( const char* format, ... ); + virtual void Write( const char* data, size_t size ); + virtual void Putc( char ch ); + + inline void Write(const char* data) { Write(data, strlen(data)); } + + void SealElementIfJustOpened(); + bool _elementJustOpened; + DynArray< const char*, 10 > _stack; + +private: + /** + Prepares to write a new node. This includes sealing an element that was + just opened, and writing any whitespace necessary if not in compact mode. + */ + void PrepareForNewNode( bool compactMode ); + void PrintString( const char*, bool restrictedEntitySet ); // prints out, after detecting entities. + + bool _firstElement; + FILE* _fp; + int _depth; + int _textDepth; + bool _processEntities; + bool _compactMode; + + enum { + ENTITY_RANGE = 64, + BUF_SIZE = 200 + }; + bool _entityFlag[ENTITY_RANGE]; + bool _restrictedEntityFlag[ENTITY_RANGE]; + + DynArray< char, 20 > _buffer; + + // Prohibit cloning, intentionally not implemented + XMLPrinter( const XMLPrinter& ); + XMLPrinter& operator=( const XMLPrinter& ); +}; + + +} // tinyxml2 + +#if defined(_MSC_VER) +# pragma warning(pop) +#endif + +#endif // TINYXML2_INCLUDED diff --git a/云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.cpp b/云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.cpp new file mode 100644 index 00000000..3682353b --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.cpp @@ -0,0 +1,270 @@ +#include "workthread.h" +#include "alg_jd.h" +#include "common.h" +#include "balluffcamera.h" +#include "baslercamera.h" +#include "threadSend.h" +#include +#include "exportData.h" + +extern AlgJd alg_jd[NumberOfSupportedCameras]; //⽺AI㷨 + +extern SysConf g_sys_conf; //ϵͳò +extern DisplayLabelConf g_display_label_conf[NumberOfSupportedCameras]; + +extern int rotationAngle[NumberOfSupportedCameras]; //ͼƬתǶ +extern bool isNeedRotate[NumberOfSupportedCameras]; + +extern SyncQueue >* g_save_queue; //ͼƬ +extern SyncQueue >* g_image_queue[NumberOfSupportedCameras]; //intʾһĿ˼ +extern SyncQueue<_UDPSendInfo> *UDP_Info_queue; +extern SyncQueue<_ExportDataInfo>* export_Data_Info_queue; +extern PLCDevice* m_PLCDevice; +extern bool g_debug_mode; + +WorkThread::~WorkThread() +{ + stop(); + local_g_image_queue->put(std::make_pair(0, cv::Mat())); + quit(); + wait(); +} + +void WorkThread::init(SyncQueue>* image_ptr, ASyncQueue* result_ptr, int classid, int Num) +{ + local_camera_number = Num; + local_classid = classid; + local_g_image_queue = image_ptr; + local_g_result_queue = result_ptr; + b_quit = false; + frame_total = 0; +} +void WorkThread::start_work() +{ + start(HighestPriority); +} +void WorkThread::stop() +{ + b_quit = true; +} + +void WorkThread::run() +{ + try{ + uint32_t result_index = 0; + while (!b_quit) { + {//Ҫɾţ + std::lock_guard locker(g_sys_conf.lock); + local_SysConf.save = g_sys_conf.save; + local_SysConf.shoot[local_camera_number] = g_sys_conf.shoot[local_camera_number]; + local_SysConf.MisMatchAct = g_sys_conf.MisMatchAct; + local_SysConf.ConfThreshold = g_sys_conf.ConfThreshold;// + for (int i = 0; i < 3; i++)local_SysConf.no[local_camera_number][i] = g_sys_conf.no[local_camera_number][i]; + +#ifdef DRAW_RECT + std::lock_guard locker2(g_display_label_conf[local_camera_number].lock); + local_DisplayLabelConf.leftButtonDownFlag = g_display_label_conf[local_camera_number].leftButtonDownFlag; + local_DisplayLabelConf.Flag[0] = g_display_label_conf[local_camera_number].Flag[0]; + local_DisplayLabelConf.Flag[1] = g_display_label_conf[local_camera_number].Flag[1]; + local_DisplayLabelConf.originalPoint = g_display_label_conf[local_camera_number].originalPoint; + local_DisplayLabelConf.processPoint = g_display_label_conf[local_camera_number].processPoint; + local_DisplayLabelConf.RectVet[0] = g_display_label_conf[local_camera_number].RectVet[0]; + local_DisplayLabelConf.RectVet[1] = g_display_label_conf[local_camera_number].RectVet[1]; +#endif + } + + + QDateTime now_ts = QDateTime::currentDateTime(); + std::pair element; + local_g_image_queue->take(element); + int unit_count = element.first; + cv::Mat image = element.second; + + _UDPSendInfo UDPSendInfo; + UDPSendInfo.FrameID = info_frame; + UDPSendInfo.index = local_camera_number; + + _ExportDataInfo exportDataInfo; + + exportDataInfo.cameraId = local_camera_number; + + if (!image.data) + { + continue; //ͼΪգ + } + if (image.channels() == 1) + { + cv::cvtColor(image, image, CV_BGR2RGB); //ҶͼתΪɫͼ + } + if (local_SysConf.shoot[local_camera_number] == unit_count) + { + exportDataInfo.shotCounts = unit_count; + std::vector vec_in; + int w = image.cols; + int h = image.rows / unit_count; + for(int index=0;index vec_out; + std::vector > > vec_results; + QDateTime ts_start = QDateTime::currentDateTime(); + if(unit_count == 1){ + std::vector > results; + cv::Mat imagein,imageout; + imagein = vec_in[0]; + alg_jd[local_camera_number].detect(imagein, imageout, results); + vec_out.push_back(imageout.clone()); + vec_results.push_back(results); + }else{ + alg_jd[local_camera_number].detect_batch(vec_in, vec_out, vec_results); + } + QDateTime ts_jd = QDateTime::currentDateTime(); + int time_process = ts_start.msecsTo(ts_jd); + emit display_timecost(local_camera_number, time_process); + UDPSendInfo.timecost = QString::number(time_process); + exportDataInfo.timeCost = QString::number(time_process).toStdString(); + + cv::Mat image1; + cv::Mat image2; + + QString jd_no; + for(int index=0;index 0; + } + jd_no.chop(1); + emit display_jd_no(local_camera_number, jd_no); + UDPSendInfo.JD = jd_no; + + bool IsNG = false; + for(int index=0;indexput(std::make_pair(file_name.toStdString(), m)); + } + } + + if (unit_count >= 2){ + image1 = vec_out[(result_index) % 2].clone(); +#ifdef DRAW_RECT + IsNG|=CheckSelectRects(image1,vec_results,(result_index) % 2,local_DisplayLabelConf,0); +#endif + }else { + image1 = vec_out[0].clone(); +#ifdef DRAW_RECT + IsNG|=CheckSelectRects(image1,vec_results,0,local_DisplayLabelConf,0); +#endif + } +#ifdef DRAW_RECT + DrawSelectRects(image1, local_DisplayLabelConf, 0); +#endif + + if (unit_count >= 3) { + image2 = vec_out[2].clone(); +#ifdef DRAW_RECT + DrawSelectRects(image2, local_DisplayLabelConf, 1); + IsNG|=CheckSelectRects(image1,vec_results,2,local_DisplayLabelConf,1); +#endif + } + result_index++; + exportDataInfo.isNg = IsNG; + + if (!IsNG) + { + if (!g_debug_mode) + { + emit event_ok(local_camera_number); + local_g_result_queue->put(true); + } + } + else + { + if (!g_debug_mode) + { + emit event_ng(local_camera_number); + local_g_result_queue->put(false); + } + + if ((local_SysConf.save == 2) || (local_SysConf.save == 1)) + { + for(int index=0;indexput(std::make_pair(file_name.toStdString(), m)); + + m = vec_out[index].clone(); + file_name = "D:/image/" + + now_ts.toString("yyyy-MM-dd") + + "/" + QString::number(local_camera_number + 1) + + "/ng_result/" + QString::number(index) + "/" + + now_ts.toString("yyyy-MM-dd_HH-mm-ss_zzz_") + "_" + QString::number(index) + ".bmp"; + g_save_queue->put(std::make_pair(file_name.toStdString(), m)); + } + } + } + if (!g_debug_mode) + { + emit display_check_total(local_camera_number, ++frame_total); + exportDataInfo.cameraTotal = frame_total; + + emit notify(local_camera_number, 0, image1); + if (unit_count >= 3) + emit notify(local_camera_number, 1, image2); + } + + } + else + { + //֤λ + if (!g_debug_mode) + { + if (local_SysConf.MisMatchAct == 1)//as ng + emit event_ng(local_camera_number); + else if (local_SysConf.MisMatchAct == 0)//as ok + emit event_ok(local_camera_number); + emit display_check_total(local_camera_number, ++frame_total); + qDebug() << local_camera_number << "#camera# " << now_ts.toString("yyyy-MM-dd_HH-mm-ss_zzz_") << "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx " << unit_count; + } + } +#ifdef __UDPSend + UDP_Info_queue->put(UDPSendInfo); +#endif +#ifdef __ExportData + export_Data_Info_queue->put(exportDataInfo); +#endif + } + } + catch (cv::Exception& e) + { + const char* err_msg = e.what(); + std::cout << "exception caught: " << err_msg << std::endl; + } +} \ No newline at end of file diff --git a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.h b/云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.h similarity index 78% rename from 上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.h rename to 云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.h index 0c8d2332..2ad278bd 100644 --- a/上海二车间58#ZB25小盒-单相机-GPU-延后两个/Cigarette/workthread.h +++ b/云南楚雄ZB48A-2相机-1280x800/Cigarette/workthread.h @@ -5,6 +5,7 @@ #include #include #include "SyncQueue.h" +#include "ASyncQueue.h" #include "common.h" class WorkThread : public QThread @@ -26,7 +27,7 @@ public: } ~WorkThread(); - void init(SyncQueue>* ptr, int classid, int Num); + void init(SyncQueue>* image_ptr,ASyncQueue *result_ptr, int classid, int Num); void start_work(); void stop(); protected: @@ -35,7 +36,9 @@ public: int local_camera_number; int local_classid; SyncQueue > *local_g_image_queue; + ASyncQueue *local_g_result_queue; bool b_quit; long frame_total; SysConf local_SysConf; + DisplayLabelConf local_DisplayLabelConf; }; diff --git a/云南楚雄ZB48A-2相机-1280x800/conf/conf.txt b/云南楚雄ZB48A-2相机-1280x800/conf/conf.txt new file mode 100644 index 00000000..f4f7139c --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/conf/conf.txt @@ -0,0 +1,77 @@ +SAVE=0 +MISMATCHACT=1 +SAVE_DAYS=1 +FREESIZE=10 +ComPort=COM3 +CONFTHRESHOLD=80 +AUTO_OPEN=1 +AUTO_WORK=1 +AUTO_SHIFT=0 +TIMING_SHIFT=1 +SHIFT_BYHAND=1 +SHIFT_A=13|43 +SHIFT_B=13|44 +SHIFT_C=13|45 +LOCATION=CDTHV1.0.1 +MODELPATH=D:/model +MODELNAME=jd.weights +JPGPATH= +***************************************** +EXPO1=2000 +GAIN1=0 +FILTER1=500 +USERID1=5 +NO1=0|0|0 +SHOOT1=1 +***************************************** +EXPO2=2000 +GAIN2=0 +FILTER2=500 +USERID2=255 +NO2=0|0|0 +SHOOT2=3 +***************************************** +EXPO3=2000 +GAIN3=0 +FILTER3=500 +USERID3=255 +NO3=0|0|0 +SHOOT3=3 +***************************************** +EXPO4=2000 +GAIN4=0 +FILTER4=500 +USERID4=255 +NO4=0|0|0 +SHOOT4=3 +***************************************** +EXPO5=2000 +GAIN5=0 +FILTER5=500 +USERID5=255 +NO5=0|0|0 +SHOOT5=3 +***************************************** +EXPO6=2000 +GAIN6=0 +FILTER6=500 +USERID6=255 +NO6=0|0|0 +SHOOT6=3 +***************************************** +EXPO7=2000 +GAIN7=0 +FILTER7=500 +USERID7=255 +NO7=0|0|0 +SHOOT7=3 +***************************************** +EXPO8=2000 +GAIN8=0 +FILTER8=500 +USERID8=255 +NO8=0|0|0 +SHOOT8=3 +***************************************** +MonitorIP=192.168.1.144 +MonitorPort=1234 diff --git a/云南楚雄ZB48A-2相机-1280x800/conf/modbus.txt b/云南楚雄ZB48A-2相机-1280x800/conf/modbus.txt new file mode 100644 index 00000000..48ea3a02 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/conf/modbus.txt @@ -0,0 +1,16 @@ +KICK1=46118 +KICK2=46114 +KICK3=46116 +KICK4=46112 +KICK5=46120 +KICK6=46122 +KICK7=46124 +KICK8=46126 +QUANTITY=46008 +SHIFT=30100 +WORK=30101 +SEND_MESSAGE=30200 +NO_KICK=37102 +DEBUG=30103 +RESET=30104 +ALARM=46018 \ No newline at end of file diff --git a/云南楚雄ZB48A-2相机-1280x800/conf/plc.txt b/云南楚雄ZB48A-2相机-1280x800/conf/plc.txt new file mode 100644 index 00000000..2179e4c4 --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/conf/plc.txt @@ -0,0 +1,26 @@ +ʵʹ|0|0|******************** +ٶ|46712|1600|Χ0Hz~200KHz +УON|47000|450| +УOFF|47002|900|½ +1#1ON|47004|500| +1#1OFF|47006|520|½ +1#2ON|47008|600| +1#2OFF|47010|620|½ +1#3ON|47012|700| +1#3OFF|47014|720|½ +ֳ޸|0|0|******************** +ʼ/ͣ|30101|0|1ʼ0ͣ +|46018|0|0ޱο +|46008|0| +޳|46004|0|NG +|30100|0|д1 +ͣ|46718|20|NG +ӲԼ쿪|37105|0|д1ر/0򿪣һĶ +|37106|1|д1ر/0򿪣 +⿪|37107|1|д1ر/0򿪣 +Դʱ|46710|50|Ĭ5 +ԴͨѶ|30160|0|д1ͨѶ +1ͨ|46600|80|Χ0~255 +2ͨ|46610|80|Χ0~255 +3ͨ|46620|111|Χ0~255 +4ͨ|46630|111|Χ0~255 diff --git a/云南楚雄ZB48A-2相机-1280x800/conf/rotate.txt b/云南楚雄ZB48A-2相机-1280x800/conf/rotate.txt new file mode 100644 index 00000000..ee1035cf --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/conf/rotate.txt @@ -0,0 +1 @@ +0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, \ No newline at end of file diff --git a/云南楚雄ZB48A-2相机-1280x800/conf/说明.txt b/云南楚雄ZB48A-2相机-1280x800/conf/说明.txt new file mode 100644 index 00000000..8c5146eb --- /dev/null +++ b/云南楚雄ZB48A-2相机-1280x800/conf/说明.txt @@ -0,0 +1 @@ +此文件夹文件请根据现场情况进行更改 \ No newline at end of file