91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18.53MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-20
  • 語言: 其他
  • 標簽:

資源簡介

主要完成兩個視頻中火焰的檢測,主要結合RGB判據和HIS判據,設定合適的閾值條件,檢測出火焰對應像素的區域,將原圖二值化,經過中值濾波以及數學形態學的膨脹運算等圖像處理,消除一些噪聲及離散點,連通一些遺漏的區域。基于OpenCV的開源庫,在VS2013平臺上,實現了兩個視頻中火焰的檢測。 利用OpenCV有強大的圖像處理庫,直接將圖像分離為RGB三通道,設置條件限制,找到火焰的像素位置,將原圖處理成二值圖像。對于火焰檢測,本文結合RGB判據和HIS判據,分割出火焰的區域。

資源截圖

代碼片段和文件信息

#include
#include

using?namespace?cv;
int?redThre?=49;?//?115~135??
int?saturationTh?=?7;?//55~65??
Mat?CheckColor(Mat?&inImg);
void?DrawFire(Mat?&inputImg?Mat?foreImg);

int?main()
{
VideoCapture?capture(“test1.avi“);
//VideoCapture?capture(0);
????
while?(1)
{
Mat?frame;

capture?>>?frame;
if?(frame.empty())
break;
namedWindow(“Control“?CV_WINDOW_AUTOSIZE);
cvCreateTrackbar(“redThre“?“Control“?&redThre?255);?
cvCreateTrackbar(“saturationTh“?“Control“?&saturationTh?255);?
CheckColor(frame);
waitKey(1);
}
return?0;
}
?
//The?Color?Check?is?According?to?“An?Early?Fire-Detection?Method?based?on?Image?Processing“??
//The?Author?is:Thou-Ho?(Chao-Ho)?Chen?Ping-Hsueh?Wu?and?Yung-Chuen?Chiou??
?
Mat?CheckColor(Mat?&inImg)
{
Mat?fireImg;
fireImg.create(inImg.size()?CV_8UC1);
Mat?multiRGB[3];
int?a?=?inImg.channels();
split(inImg?multiRGB);?//將圖片拆分成RGB三通道的顏色??

for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
float?B?G?R;
B?=?multiRGB[0].at(i?j);?//每個像素的RGB值動態地址計算法??
G?=?multiRGB[1].at(i?j);
R?=?multiRGB[2].at(i?j);

float?maxValue?=?max(max(B?G)?R);
float?minValue?=?min(min(B?G)?R);
//與HSI中S分量的計算公式
double?S?=?(1?-?3.0*minValue?/?(R?+?G?+?B));//

//R?>?RT??R>=G>=B??S>=((255-R)*ST/RT)??
if?(R?>?redThre?&&R?>=?G?&&?G>=?B?&&?S?>((255?-?R)?*?saturationTh?/?redThre))
{
fireImg.at(i?j)?=?255;
}
else
{
fireImg.at(i?j)?=?0;
}
}
}

//erode(fireImg?fireImg?Mat(3?3?CV_8UC1));
//GaussianBlur(fireImg?fireImg?Size(5?5)?0?0);
medianBlur(fireImg?fireImg?5);
dilate(fireImg?fireImg?Mat(5?5?CV_8UC1));
????imshow(“Binary“?fireImg);
DrawFire(inImg?fireImg);
return?fireImg;
}

void?DrawFire(Mat?&inputImg?Mat?foreImg)
{
vector>?contours_set;//保存輪廓提取后的點集及拓撲關系??
findContours(foreImg?contours_set?CV_RETR_EXTERNAL?CV_CHAIN_APPROX_NONE);
Point?point1;
Point?point2;
float?a?=?0.4?b?=?0.75;
float?xmin1?=?a*inputImg.cols?ymin1?=?inputImg.rows?xmax1?=?0?ymax1?=?0;
float?xmin2?=?b*inputImg.cols?ymin2?=?inputImg.rows?xmax2?=?a*inputImg.cols?ymax2?=?0;
float?xmin3?=?inputImg.cols?ymin3?=?inputImg.rows?xmax3?=?b*inputImg.cols?ymax3?=?0;
Rect?finalRect1;
Rect?finalRect2;
Rect?finalRect3;
vector?>::iterator?iter?=?contours_set.begin();
for?(;?iter?!=?contours_set.end();)
{
Rect?rect?=?boundingRect(*iter);
float?radius;
Point2f?center;
minEnclosingCircle(*iter?center?radius);

if?(rect.area()>?0)
{
point1.x?=?rect.x;
point1.y?=?rect.y;
point2.x?=?point1.x?+?rect.width;
point2.y?=?point1.y?+?rect.height;

if?(point2.x {
if?(point1.x? xmin1?=?point1.x;
if?(point1.y? ymin1?=?point1.y;
if?(point2.x?>?xmax1?&&?point2.x? xmax1?=?point2.x;
if?(point2.y?>?ymax1)
ymax1?=?poin

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\Debug\
?????文件???????90624??2017-09-19?08:30??火焰檢測識別\Debug\火焰檢測識別_1.exe
?????文件??????912420??2017-09-19?08:30??火焰檢測識別\Debug\火焰檢測識別_1.ilk
?????文件?????2010112??2017-09-19?08:30??火焰檢測識別\Debug\火焰檢測識別_1.pdb
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\ipch\
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\ipch\火焰檢測識別_1-2e9c887\
?????文件????63242240??2017-09-19?08:30??火焰檢測識別\ipch\火焰檢測識別_1-2e9c887\火焰檢測識別_1-552d6f73.ipch
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\火焰檢測識別_1\
?????目錄???????????0??2017-10-17?08:42??火焰檢測識別\火焰檢測識別_1\Debug\
?????文件???????21076??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\CL.read.1.tlog
?????文件?????????414??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\CL.write.1.tlog
?????文件?????????702??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\cl.command.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link-cvtres.read.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link-cvtres.write.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.9332-cvtres.read.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.9332-cvtres.write.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.9332.read.1.tlog
?????文件???????????2??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.9332.write.1.tlog
?????文件????????3252??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.command.1.tlog
?????文件????????7210??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.read.1.tlog
?????文件?????????910??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\link.write.1.tlog
?????文件??????380168??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\main.obj
?????文件?????????420??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\mt.command.1.tlog
?????文件?????????374??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\mt.read.1.tlog
?????文件?????????374??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\mt.write.1.tlog
?????文件?????????594??2017-09-15?15:36??火焰檢測識別\火焰檢測識別_1\Debug\rc.command.1.tlog
?????文件?????????346??2017-09-15?15:36??火焰檢測識別\火焰檢測識別_1\Debug\rc.read.1.tlog
?????文件?????????354??2017-09-15?15:36??火焰檢測識別\火焰檢測識別_1\Debug\rc.write.1.tlog
?????文件??????625664??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\vc100.idb
?????文件?????1200128??2017-09-19?08:30??火焰檢測識別\火焰檢測識別_1\Debug\vc100.pdb
............此處省略18個文件信息

評論

共有 條評論

相關資源