资源简介
通过观察火焰图像在YCrCb空间的三通道的不同,得出约束条件,程序由opencv实现~
代码片段和文件信息
#include “cv.h“
#include “highgui.h“
#include
#include
#include
int main(int argcchar** argv)
{
//变量定义
IplImage *image=0*img=0 *yuv=0;
int ij;
int heightwidthstepchannels;
uchar* data;
//CvMat* pFrMat=NULL;
CvScalar scalar1;
int VECT=0;//阈值参数设为35
char* filename=argc==2?argv[1]:(char*)“fire2.jpg“;
//读入图像
image=cvLoadImage(filename-1);
if(!image) printf(“Could not load image file\n“);
yuv=cvCreateImage(cvGetSize(image)83);
img=cvCreateImage(cvGetSize(image)83);
//创建窗口显示源图像
cvNamedWindow(“SourceImage“CV_WINDOW_AUTOSIZE);
cvNamedWindow(“ResultImage“CV_WINDOW_AUTOSIZE);
cvShowImage(“SourceImage“image);
//转化为YCrCb空间获取图像信息
cvCvtColor(imageyuvCV_BGR2YCrCb);
height = yuv->height;
width = yuv->width;
step = yuv->widthStep;
channels = yuv->nChannels;
data = (uchar *)yuv->imageData;
printf(“Processing a %dx%d image with %d channels\n“heightwidthchannels);
/************************测试得顺序为YCrCb*********************************
/*
IplImage *plane0=0*plane1=0*plane2=0;
plane0=cvCreateImage(cvGetSize(image)81);
plane1=cvCreateImage(cvGetSize(image)81);
plane2=cvCreateImage(cvGetSize(image)81);
cvCvtPixToPlane(yuvplane0plane1plane20);
cvNamedWindow(“Image0“CV_WINDOW_AUTOSIZE);
cvNamedWindow(“Image1“CV_WINDOW_AUTOSIZE);
cvNamedWindow(“Image2“CV_WINDOW_AUTOSIZE);
cvShowImage(“Image0“plane0);
cvShowImage(“Image1“plane1);
cvShowImage(“Image2“plane2);
cvWaitKey();
cvDestroyWindow(“Image0“);
cvDestroyWindow(“Image1“);
cvDestroyWindow(“Image2“);
*/
//求YCrCb三量的均值
scalar1=cvAvg(yuv);//scalar1.val[0]是y通道均值scalar1.val[1]是Cr通道均值
for(i=0;i {
if(data[i*step+j*channels+0]>data[i*step+j*channels+2]&&data[i*step+j*channels+0]>scalar1.val[0]&&\
data[i*step+j*channels+1]>data[i*step+j*channels+2]&&data[i*step+j*channels+1]>scalar1.val[1]&&\
data[i*step+j*channels+2]VECT)
// if(data[0]>data[2] && data[0]>scalar1.val[0] && data[1]>data[2] && data[1]>scalar1.val[1] && data[2]VECT)
{
img->imageData[i*img->widthStep+j*img->nChannels+0]=255;
img->imageData[i*img->widthStep+j*img->nChannels+1]=255;
img->imageData[i*img->widthStep+j*img->nChannels+2]=255;
}
else
{
img->imageData[i*img->widthStep+j*img->nChannels+0]=0;
img->imageData[i*img->widthStep+j*img->nChannels+1]=0;
img->imageData[i*img->widthStep+j*img->nChannels+2]=0;
}
}
cvShowImage(“ResultImage“img);
cvWaitKey();
cvDestroyWindow(“SourceImage“);
cvDestroyWindow(“ResultImage“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2838 2012-03-06 15:46 firedetectImage\colordetect.cpp
文件 15679 2012-03-06 15:46 firedetectImage\Debug\colordetect.obj
文件 0 2012-03-01 21:52 firedetectImage\Debug\colordetect.sbr
文件 2122752 2012-03-01 21:52 firedetectImage\Debug\firedetect.bsc
文件 200755 2012-03-06 15:46 firedetectImage\Debug\firedetect.exe
文件 210732 2012-03-06 15:46 firedetectImage\Debug\firedetect.ilk
文件 4128860 2012-03-06 15:46 firedetectImage\Debug\firedetect.pch
文件 467968 2012-03-06 15:46 firedetectImage\Debug\firedetect.pdb
文件 181248 2012-03-06 15:46 firedetectImage\Debug\vc60.idb
文件 110592 2012-03-06 15:46 firedetectImage\Debug\vc60.pdb
文件 177892 2012-03-01 22:01 firedetectImage\fire.jpg
文件 5916160 2012-02-24 15:12 firedetectImage\fire1.avi
文件 27843 2012-02-22 14:34 firedetectImage\fire1.jpg
文件 43152 2012-03-01 21:52 firedetectImage\fire2.jpg
文件 45202 2012-03-01 21:52 firedetectImage\fire3.jpg
文件 36486 2012-03-01 21:51 firedetectImage\fire4.jpg
文件 34891 2012-03-02 16:30 firedetectImage\fire5.jpg
文件 17449 2012-03-02 16:30 firedetectImage\fire6.jpg
文件 157547 2012-03-02 16:30 firedetectImage\fire7.jpg
文件 16701 2012-03-02 16:31 firedetectImage\fire8.jpg
文件 16349 2012-03-05 18:31 firedetectImage\fire9.jpg
文件 4195 2012-03-01 19:35 firedetectImage\firedetect.dsp
文件 526 2012-03-01 18:29 firedetectImage\firedetect.dsw
文件 53760 2012-03-05 21:39 firedetectImage\firedetect.opt
文件 1904 2012-03-06 15:46 firedetectImage\firedetect.plg
文件 438961 2012-03-05 18:42 firedetectImage\picture.jpg
..A.SH. 51200 2012-03-06 15:46 firedetectImage\Thumbs.db
目录 0 2012-03-06 15:46 firedetectImage\Debug
目录 0 2012-03-01 20:00 firedetectImage\Release
目录 0 2012-03-06 15:46 firedetectImage
............此处省略3个文件信息
- 上一篇:Win32纯API实现的简单画图程序
- 下一篇:影视后期 AE工程 源文件
相关资源
- opencv红绿灯识别样本北京市的红绿灯
- 基于OpenCV的火灾视频识别方法研究
- GNSS-SDR_manual.pdf (v0.0.9)
- opencv人脸检测训练用到的正样本图像
- opencv haartraining 合并.vec文件的工具
- OpenCV3入门pdf
- 基于OpenCV的红点识别
- slam 开源代码ptam and ptamm
- Qt GUI 界面通用系统模板 源码
- 英雄联盟10.26最新走A
- 基于QT的捕鱼达人小游戏
- 两个吃一个棋类游戏
- opencv3.4.3 mingw32编译
- 路灯控制系统开源
- 圆形公章的定位检测
- qt-vsaddin-msvc2017-2.2.2.vsix
- NOIP2019提高组突破营课件.rar
- zigbee的无线通信
-
haarcascade_mcs等所有识别xm
l文件 - 云盘项目开发全部内容包括源码解析
- 利用OpenCV在VS2015平台下对进行人脸识
- hand-gesture-recognition-opencv-master.zip
- 计算机算法设计与分析 第4版 (王晓
- 汉字转拼音,支持几乎所有汉字,已
- imageStitching实现图像拼接
- QT5+VS2015制作的画图程序源代码
- sift算法sift-latest_win.zip
- 车牌字符识别的demo
- 圆点摄像头激光测距源代码---本人亲
- opencv图像分类样本
评论
共有 条评论