• 大小: 9.13MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-07
  • 语言: 其他
  • 标签: 火焰检测  算法包  

资源简介

本方法主要使用了图像的颜色特征和尺度不变特征SIFT以及加速鲁棒特征SURF对候选区域进行筛选,并结合火焰的运动特性来判断。系统由以下三部分构成:1)提取火焰候选区域;2)构建视觉词典,通过颜色纹理特征对候选区域进行分类;3)时间维度上验证。 相比于现有的火焰检测算法,本方法能够更加高效准确地检测出视频中的火焰。另外,我们收集并发布了目前为止最大的火焰检测数据集。我们相信这对于火焰检测领域的科研和实际应用都是很有帮助的。

资源截图

代码片段和文件信息

/***************************************************************************
函数名称:DetectByColor
函数描述:用颜色特征(LAB直方图)来判断
入参:无
输出:无
历史:
修改人  修改日期                  修改原因  
李若冰   2010/09/17                 重写
***************************************************************************/
LHINT32 DetectByColor(LHFlameDetect* pstFlameDetect BlobSeq* tempSeq)
{
LHINT32 i ii jj k m n result sbin = LAB_BINS / 3;
LHINT32 size[] = {LAB_BINS / 3} delBlobs[MAX_MAX_CARED_BLOB_NUM] delBlobNum = 0;
float range1[] = {0 255}/* range2[] = {0 180}*/;
float *ranges1[] = {range1}/* *ranges2 = {range2}*/;
double tt;
LHRect blobRect;
IplImage* rgbImg *blobImg *labImg *lImg *aImg *bImg;
IplImage* lPlane[1];
IplImage* aPlane[1];
IplImage* bPlane[1];
CvHistogram* lHist *aHist *bHist;
struct svm_node* nodes;

if(pstFlameDetect->uiframeCount <= MAX_FG)
return LHSUCCESS;

rgbImg = cvCreateImage(cvSize(frame_WIDTH frame_HEIGHT) IPL_DEPTH_8U 3);

for(i = 0; i < frame_HEIGHT; i++)
{
m = i * frame_WIDTH;
n = m * 3;
for(jj = 0; jj < COLOR_frame_WIDTH; jj += 3)
{
rgbImg->imageData[n + jj] = pstFlameDetect->stFlameModuleIn.pColorImage->Image[n + jj + 2];
rgbImg->imageData[n + jj + 1] = pstFlameDetect->stFlameModuleIn.pColorImage->Image[n + jj + 1];
rgbImg->imageData[n + jj + 2] = pstFlameDetect->stFlameModuleIn.pColorImage->Image[n + jj];
}
}
nodes = (struct svm_node*)malloc(sizeof(struct svm_node) * (LAB_BINS + 1));
for(k = 0; k < tempSeq->uiBlobNum; k++)
{
blobRect = tempSeq->stBlobs[k].stRect;
blobImg = cvCreateImage(cvSize(blobRect.w blobRect.h) IPL_DEPTH_8U 3);
labImg = cvCreateImage(cvSize(blobRect.w blobRect.h) IPL_DEPTH_8U 3);
lImg = cvCreateImage(cvSize(blobRect.w blobRect.h) IPL_DEPTH_8U 1);
aImg = cvCreateImage(cvSize(blobRect.w blobRect.h) IPL_DEPTH_8U 1);
bImg = cvCreateImage(cvSize(blobRect.w blobRect.h) IPL_DEPTH_8U 1);
lPlane[0] = lImg;
aPlane[0] = aImg;
bPlane[0] = bImg;
lHist = cvCreateHist(1 size CV_HIST_ARRAY ranges1 1);
aHist = cvCreateHist(1 size CV_HIST_ARRAY ranges1 1);
bHist = cvCreateHist(1 size CV_HIST_ARRAY ranges1 1);
cvGetSubRect(rgbImg (CvMat*)blobImg cvRect(blobRect.x blobRect.y blobRect.w blobRect.h));
cvCvtColor(blobImg labImg CV_BGR2Lab);
cvSplit(labImg lImg aImg bImg 0);

cvCalcHist(lPlane lHist 0 0);
cvNormalizeHist(lHist 1.0);
cvCalcHist(aPlane aHist 0 0);
cvNormalizeHist(aHist 1.0);
cvCalcHist(bPlane bHist 0 0);
cvNormalizeHist(bHist 1.0);

for(i = 0 ii = 0; i < LAB_BINS; i++)
{
if(i < sbin)
tt = cvQueryHistValue_1D(lHist i);
else if(i >= sbin && i < sbin * 2)
tt = cvQueryHistValue_1D(aHist i % sbin);
else
tt = cvQueryHistValue_1D(bHist i % sbin);
if(tt != 0)
{
nodes[ii].index = i + 1;
nodes[ii].value = tt;
ii++;
}
}
nodes[ii].index = -1;

result = svm_predict

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-01-07 19:53  fireDetect-v1.0\
     目录           0  2014-01-07 19:53  fireDetect-v1.0\bin\
     文件     7600640  2010-09-09 10:49  fireDetect-v1.0\bin\cv200d.dll
     文件     4448768  2010-09-09 10:57  fireDetect-v1.0\bin\cvaux200d.dll
     文件    14321152  2010-09-09 10:44  fireDetect-v1.0\bin\cxcore200d.dll
     文件     3303424  2010-09-09 10:51  fireDetect-v1.0\bin\highgui200d.dll
     文件     2055680  2014-01-04 13:13  fireDetect-v1.0\bin\VideoAnalyze.dll
     文件        2680  2014-01-04 13:13  fireDetect-v1.0\bin\VideoAnalyze.lib
     文件      190976  2013-12-23 21:51  fireDetect-v1.0\bin\VideoAnalyzeTest.exe
     文件           0  2014-01-04 15:55  fireDetect-v1.0\bin\WiteLog.log
     目录           0  2014-01-07 19:53  fireDetect-v1.0\FireProtection\
     文件       27992  2014-01-02 18:17  fireDetect-v1.0\FireProtection\ALL_BUILD.vcproj
     文件       21858  2011-06-11 14:36  fireDetect-v1.0\FireProtection\backup.c
     目录           0  2014-01-07 19:53  fireDetect-v1.0\FireProtection\CMakeFiles\
     文件          45  2010-11-25 16:39  fireDetect-v1.0\FireProtection\CMakeFiles\ALL_BUILD.rule
     文件          51  2014-01-02 18:18  fireDetect-v1.0\FireProtection\CMakeFiles\generate.stamp
     文件         155  2014-01-02 18:17  fireDetect-v1.0\FireProtection\CMakeFiles\generate.stamp.depend
     文件         703  2011-05-09 17:08  fireDetect-v1.0\FireProtection\CMakeLists.txt
     文件        1090  2014-01-02 18:17  fireDetect-v1.0\FireProtection\cmake_install.cmake
     文件     1232735  2011-06-11 11:49  fireDetect-v1.0\FireProtection\CSLBPCodebook.c
     文件     2044914  2011-06-11 11:56  fireDetect-v1.0\FireProtection\CSLBPModel.c
     目录           0  2014-01-07 19:53  fireDetect-v1.0\FireProtection\FireProtection.dir\
     目录           0  2014-01-07 19:53  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\
     文件       13268  2014-01-04 13:13  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\BuildLog.htm
     文件       10402  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\HSVscore.obj
     文件      134235  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\LABModel.obj
     文件       40354  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\LHCreateBGImage.obj
     文件       84388  2014-01-04 13:13  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\LHFlameDetect.obj
     文件       42441  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\LHSmoke.obj
     文件      356045  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\SURFCodebook.obj
     文件      167642  2014-01-02 18:18  fireDetect-v1.0\FireProtection\FireProtection.dir\Debug\SURFModel.obj
............此处省略47个文件信息

评论

共有 条评论