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

  • 大小: 5KB
    文件類(lèi)型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-13
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: cpp??

資源簡(jiǎn)介

基于兩個(gè)RGB及HIS顏色特征對(duì)視頻火焰進(jìn)行檢測(cè),檢測(cè)效果較好

資源截圖

代碼片段和文件信息

//https://blog.csdn.net/coldplayplay/article/details/70212483

#include?
#include?
?
using?namespace?cv;
using?namespace?std;

int?redThre?=49;?//?115~135??
int?saturationTh?=?7;?//55~65??
Mat?CheckColor(Mat?&inImg);
void?DrawFire(Mat?&inputImg?Mat?foreImg);
?
int?main()
{
VideoCapture?capture(“medias/fire/12.mov“);
????
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);?//每個(gè)像素的RGB值動(dòng)態(tài)地址計(jì)算法??
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分量的計(jì)算公式
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;
}
}
}
? //預(yù)處理
//erode(fireImg?fireImg?Mat(3?3?CV_8UC1));
//GaussianBlur(fireImg?fireImg?Size(5?5)?0?0);
medianBlur(fireImg?fireImg?5);
//imshow(“medianBlur“?fireImg);
dilate(fireImg?fireImg?Mat(5?5?CV_8UC1));
????//imshow(“dilate“?fireImg);
DrawFire(inImg?fireImg);
return?fireImg;
}
?
void?DrawFire(Mat?&inputImg?Mat?foreImg)
{
vector?>?contours_set;//保存輪廓提取后的點(diǎn)集及拓?fù)潢P(guān)系??
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.col

評(píng)論

共有 條評(píng)論