資源簡介
該代碼利用顏色模型去檢測火焰, 分為3個模塊, HSV, RGB, YCrCb 顏色空間, 根據論文定義, 設定判斷的相關區間, 從而從圖像中判斷出火焰的位置, 對火災的預防以及火焰的檢測可以起到重要的作用. 主要采用numpy進行預處理

代碼片段和文件信息
import?cv2
import?numpy?as?np
#?該算法主要提取的是火焰的輪廓信息?效果一般
def?YCrCb_model():
????img_file?=?‘fire_img/fire_img0.jpg‘
????src_img?=?cv2.imread(img_file)
????cv2.imshow(‘src‘?src_img)
????YCbCr_img?=?cv2.cvtColor(src_img?cv2.COLOR_BGR2YCrCb)
????YCbCr_img_gaussian?=?cv2.GaussianBlur(YCbCr_img?(9?9)?0)
????cv2.imshow(“1“?YCbCr_img)
????cv2.imshow(“2“?YCbCr_img_gaussian)
????#?火焰區域滿足關系:?Y(x?y)?>?Cb(xy)?Cr(xy)>Cb(xy)
????y?cb?cr?=?cv2.split(YCbCr_img_gaussian)
????rows?cols?n?=?YCbCr_img.shape
????mean_y?=?np.mean(y)
????mean_cr?=?np.mean(cr)
????mean_cb?=?np.mean(cb)
????des_img?=?np.zeros((rows?cols)?YCbCr_img.dtype)
????#?計算論文中所給的待選區域顏色
????bool_matrix?=?(y?>?cb)?&?(cr?????#?bool_matrix?=?(y?>?mean_y)?&?(cr??mean_cr)
????print(bool_matrix)
????print(bool_matrix.shape)
????des_img[bool_matrix]?=?255
????cv2.imshow(‘des_img‘?des_img)
????cv2.waitKey(0)
????cv2.destroyAllWindows()
def?HSV_model():
????img_file?=?‘fire_img/fire_img0.jpg‘
????src_img?=?cv2.imread(img_file)
????cv2.imshow(‘src‘?src_img)
????hsv_img?=?cv2.cvtColor(src_img?cv2.COLOR_BGR2HSV)
????h?s?v?=?cv2.split(hsv_img)
????rows?cols?n?=?src_img.shape
????des_img?=?np.zeros((rows?cols)?src_img.dtype)
????bool_matrix?=?(s?>=?200)?&?(s?<=?280)?&?(v?>=?127)?&?(v?<=?255)
????print(np.max(v))
????#?print(v)
????des_img[bool_matrix]?=?255
????cv2.imshow(“des“?des_img)
????cv2.waitKey(0)
????cv2.destroyAllWindows()
#?利用RGB顏色區間?基本可行?目前還有除0的問題
def?RGB_model():
????img_file?=?‘fire_img/fire_img0.jpg‘
????src_img?=?cv2.imread(img_file)
????cv2.imshow(‘src‘?src_img)
????b?g?r?=?cv2.split(src_img)
????r_mean?=?np.mean(r)
????rows?cols?n?=?src_img.shape
????des_img?=?np.zeros((rows?cols)?src_img.dtype)
????x1?=?g?/?(r+1)
????x2?=?b?/?(r+1)
????#?print(r)
????#?print(“******“)
????#?print(r+1)
????#
????#?for?m?in?r+1:
????#?????for?n?in?m:
????#?????????if?n?==?0:
????#?????????????pass
????????????????#?print(‘fuck‘)
????bool_matrix?=?(r?>?r_mean)?&?(r?>?g)?&?(g?>?b)?&?(x1?>=?0.25)?&?(x1?<=?0.65)?&?(x2?>=?0.05)?&?(x2?<=?0.45)
????des_img[bool_matrix]?=?255
????#?image?contours?hierarchy?=?cv2.findContours(des_img?cv2.RETR_TREE?cv2.CHAIN_APPROX_SIMPLE)
????image?contours?hierarchy?=?cv2.findContours(des_img?cv2.RETR_EXTERNAL?cv2.CHAIN_APPROX_NONE)
????src_img?=?cv2.drawContours(src_img?contours?-1?(0?255?0)?3)
????cv2.imshow(“des“?des_img)
????cv2.imshow(“6“?src_img)
????cv2.waitKey(0)
????cv2.destroyAllWindows()
if?__name__?==?‘__main__‘:
????#?YCrCb_model()
????#?RGB_model()
????HSV_model()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2804??2019-04-12?11:47??demo2_flamex.py
?????目錄???????????0??2019-04-13?11:50??參考文獻\
?????文件?????1794194??2019-04-03?12:15??參考文獻\fastrcnn火焰檢測.pdf
?????文件?????2647829??2019-04-03?21:13??參考文獻\基于GMM與三維LBP紋理的視頻火焰檢測_嚴云洋.pdf
?????文件?????1204152??2019-04-03?21:13??參考文獻\基于圖像處理的嵌入式火焰檢測系統_宋孟華.pdf
?????文件?????2044326??2019-04-03?21:13??參考文獻\基于多特征的火災監控系統設計_盧鑫.pdf
?????文件?????1818178??2019-04-03?21:13??參考文獻\基于融合特征與支持向量機結合的火焰檢測_熊昊.pdf
?????文件?????1873066??2019-04-03?21:13??參考文獻\大空間圖像型火焰檢測方法研究_亓文杰.pdf
評論
共有 條評論