资源简介
通过观察火焰图像在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工程 源文件
相关资源
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- 基于OpenCV的数字识别468815
- VC 游戏编程—附源代码
- 使用opencv去掉二值化图像中黑色面积
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- 多项式求和(数据结构C 版)
- vc 6.0开发的流程图编辑器
- VC 天空盒(skyBox)实现(附源代码)
- c MFC 画多边形
评论
共有 条评论