[OpenCV+VS2015]火焰检测算法(HSI判据)

[OpenCV+VS2015]火焰检测算法(HSI判据)

1 HSI模型和简介

别人的宝藏文章 :https://blog.youkuaiyun.com/qq_27569955/article/details/51531460
模型,还有RGB转HSI的关系这里面的介绍都很棒,我从中受益匪浅

2 代码

#include <opencv2\opencv.hpp>
#include <iostream>
#include <math.h>

using namespace cv;
using namespace std;

double Judge(double in);
void RGBtoHIS(Mat& image_input, Mat& image_output);
void DrawFire(Mat &inputImg, Mat foreImg);
void FireDetection(Mat &image_input, Mat &image_output);

int main(int argc, char** argv) {
   
	Mat src = imread("E:\\vs_work\\firedetection\\8.jpg");
	Mat dst;
   
	FireDetection(src, dst);
	imshow("original picture", src);
	imshow("convert picture", dst);
	//imwrite("E:\\vs_work\\result\\10_binary_image.jpg", dst);
	//imwrite("E:\\vs_work\\result\\10_Detect_Fire.jpg", src);

	waitKey(0);

	return 0;
}

void FireDetection(Mat &image_input, Mat &image_output)
{
   
	image_output = Mat::zeros(image_input.size(), CV_8UC1); //初始化output矩阵
	Mat image_middle;
	if (image_input.empty()) {
   
		printf("could not load image...please try again!/n ");
	}
	if (image_output.empty() || image_output.channels() != 1) {
   
		printf("could not initialize output...please try again!/n ");
	}
	/*初始化程序报错*/
	RGBtoHIS( image_input,  image_middle);

	for (int i = 0; i < image_middle.row
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值