📄 process.cpp
字号:
#include "stdafx.h"
#include "camera.h"
#include "colorLimit.h"
#include "frontVision.h"
#include "process.h"
extern CWinThread* pThread;
extern bool threadRun;
UINT process(LPVOID pParam){
char* buffer=NULL;
Camera cam;
ColorLimit colorLimit;
CFrontVision vision;
//摄像头初始化
if(cam.Init(1,buffer)==false){
return 0;
}
//从文件读取颜色阀值
if(colorLimit.LoadConfig("colorLimit.rob")==false){
return 0;
}
//视觉处理类初始化
if(vision.initialize("frontVisionConfig.cfg",320,240)!=true){
return 0;
}
//将第一套颜色阀值赋给视觉,即视觉软件中全维视觉的阀值
vision.setThreshold(&colorLimit,0);
//为图像缓冲分配空间
buffer=new char[320*240*3];
if(buffer==NULL){
return 0;
}
//循环捕捉图像,显示,处理
while(threadRun){
//捕捉图像
cam.CaptureImage(buffer);
//显示图像
//处理图像
vision.process((BYTE*)buffer);
//显示处理结果信息
TRACE("running.............\n");
}
if(buffer!=NULL)
delete buffer;
return 1;
}
//void showImage(LPVOID pParam){
// CDC *pDC = GetDlgItem(IDC_STATIC_VIEW)->GetDC();
// CBitmap bitmap,*pOldBitmap;
// CDC MemDC;
// MemDC.CreateCompatibleDC(pDC);
// bitmap.CreateCompatibleBitmap(pDC, 320, 240);
// pOldBitmap = (CBitmap *)MemDC.SelectObject(&bitmap);
//
// BITMAPINFOHEADER bih;
// memset( &bih, 0, sizeof( bih ) );
// bih.biSize = sizeof( bih );
// bih.biWidth = 320;
// bih.biHeight = 240;
// bih.biPlanes = 1;
// bih.biBitCount = 24;
//
// ::StretchDIBits(
// MemDC, 0, 0,
// 320, 240,
// 0, 0, 320,240,
// buffer,
// (BITMAPINFO*) &bih,
// DIB_RGB_COLORS,
// SRCCOPY );
//
// pDC->SelectObject(pOldBitmap);
// GetDlgItem(IDC_STATIC_VIEW)->ReleaseDC(pDC);
//
//}
//void showInfo(LPVOID pParam){
//
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -