Привет, я действительно новичок в обработке изображений и matlab.
Я попытался обнаружить транспортное средство по видео дорожного движения, используя 'vision.forgroundDetector' в matlab.
Но теперь я хочу определить, горит ли сигнальная лампа автомобиля во время поворота.
Я попробовал несколько кодов, но они никогда не работают, и я также не знаю, где написать код.написанный код не работает.
Может кто-нибудь, пожалуйста, помогите мне определить сигнальную лампу движущегося транспортного средства.Вы можете найти видео, которое я использовал по этой ссылке "https://www.youtube.com/watch?v=jjlBnrzSGjc"
Вот мой код:
foregroundDetector = vision.ForegroundDetector('NumGaussians', 3, ...'NumTrainingFrames', 50);
videoReader = vision.VideoFileReader('vi.mp4');
for i = 1:150
figure; imshow(frame); title('Video Frame');
figure; imshow(foreground); title('Foreground');
videoPlayer = vision.VideoPlayer('Name', 'Detected Cars');
videoPlayer.Position(3:4) = [650,400]; % window size: [width, height]
se = strel('square', 3); % morphological filter for noise removal
no = {'0','00-0000'};
num =1;
k = 10;
m=0
while ~isDone(videoReader)
frame = step(videoReader); % read the next video frame
% Detect the foreground in the current video frame
foreground = step(foregroundDetector, frame);
% Use morphological opening to remove noise in the foreground
filteredForeground = imopen(foreground, se);
blobAnalysis = vision.BlobAnalysis('BoundingBoxOutputPort', true, ...
'AreaOutputPort', false, 'CentroidOutputPort', false, ...
'MinimumBlobArea', 150);
% Detect the connected components with the specified minimum area, and
% compute their bounding boxes
bbox = step(blobAnalysis, filteredForeground);
% Draw bounding boxes around the detected cars
result = insertShape(frame, 'Rectangle', bbox, 'Color', 'green');
% Display the number of cars found in the video frame
numCars = size(bbox, 1);
m = m+ numCars;
%st = {'JRW-2731','BCR-5890','WJ-6629','MW-5587','RV-6929','BN-8944','AN-7037','BI-7899','BI-7899','RX-7294','TL-9090'};
noplat;
result = insertText(result, [10 50; 10 100], no, 'BoxOpacity', 1, ...
'FontSize', 14);
step(videoPlayer, result); % display the results
% step(videoPlayer, result1);
end
release(videoReader); % close the video file
Это следующий файл;
if m>6800 && k == 10
no = {'1','DAE-4321'};
k = k-1;
end
if m>9600 && k==9
no = {'2','204-0024'};
k = k-1;
end
if m>15000 && k==8
no = {'3','QK-BG18'};
k = k-1;
end
if m>23700 && k==7
no = {'4','KT-7349'};
k = k-1;
end
if m>25000 && k==6
no = {'5','K2-1479'};
k = k-1;
end
if m>25800 && k==5
no = {'6','BG-5218'};
k = k-1;
end
if m>33300 && k==4
no = {'7','B2-8697'};
k = k-1;
end
if m>37900 && k==3
no = {'8','PQ-1374'};
k = k-1;
end
if m>90500 && k==2
no = {'9','RX-7294'};
k = k-1;
end
if m>97000 && k==1
no = {'10','TL-9090'};;
k = k-1;
end