我正在研究MATLAB中的火灾检测程序,我有一个blob检测作为其中的一部分。我想问一下如何在检测到blob时弹出警告消息?
我想在发生火灾时立即发出警告信息。
这是我的形状插入器代码,或blob检测框。
这部分不在循环中:
detector = vision.ForegroundDetector(...
'NumTrainingFrames', 5, ...
'InitialVariance' , 30*30);
blob = vision.BlobAnalysis(...
'CentroidOutputPort', false, 'AreaOutputPort', false, ...
'BoundingBoxOutputPort', true, ...
'MinimumBlobAreaSource', 'Property', 'MinimumBlobArea', 250);
shapeInserter = vision.ShapeInserter('BorderColor', 'White');
videoPlayer = vision.VideoPlayer();
这部分在循环内部:
fgMask = step(detector, maskedRGBImage);
bbox = step(blob, fgMask);
out = step(shapeInserter, thisFrame, bbox);
step(videoPlayer, out);
答案 0 :(得分:2)
对于这个例子,我假设如果检测到一个blob,它将等于1(你可以改变我的代码以适应你检测到一个blob时当前的输出)。
if blob == 1;
inputOptions = {'Fire Detected!'};
defSelection = inputOptions{1};
popup = bttnChoiseDialog(inputOptions, 'Warning!', defSelection, 'Warning!');
fprintf( 'Fire Detected - "%s"\n',inputOptions{popup});
else
continue
end
您可以从FileExchange下载bttnChoiseDialog
:http://www.mathworks.com/matlabcentral/fileexchange/37261-generalised-question-dialog--questdlg-/content/BtnChoiseDlg/bttnChoiseDialog.m
希望这会有所帮助