Modelo de preentrenamiento basado en Matlab basado en Deep Learning Toolboxs para lograr tareas simples de CV de aprendizaje profundo

1. Preparación de la caja de herramientas

Puede buscar directamente el nombre y descargarlo en matlab. Puede descargarlo de forma gratuita siempre que inicie sesión en su cuenta. No necesita un buzón edu, sino un buzón QQ.

  • Caja de herramientas de la cámara USB: Interfaz de video genérica del SO
  • Cajas de herramientas de aprendizaje profundo
  • Modelo de aprendizaje profundo previamente entrenado (solo siga las instrucciones para descargar cuando ejecute el modelo)

Puede ejecutar el código directamente y descargarlo de acuerdo con el mensaje de error

2. Uso de la cámara

(1) Llame a la cámara y tome una foto para mostrar

clear
close all
clc
vid = videoinput('winvideo',1);
preview(vid);
frame = getsnapshot(vid); % 拍照
figure;imshow(frame);

(2) Llame a la cámara y establezca parámetros complejos

clc; 
clear all;
close all;
vid = videoinput('winvideo', 2, 'YUY2_640x480'); % 设置摄像头尺寸
set(vid,'ReturnedColorSpace','rgb'); % 
vidRes=get(vid,'VideoResolution');
width=vidRes(1);
height=vidRes(2);
nBands=get(vid,'NumberOfBands');
figure('Name', 'Matlab调用摄像头', 'NumberTitle', 'Off', 'ToolBar', 'None', 'MenuBar', 'None');
hImage=image(zeros(vidRes(2),vidRes(1),nBands));
preview(vid,hImage);

3. El código ligero llama al modelo previamente entrenado para realizar tareas de CV.

(1) Tarea de clasificación de imágenes

clear
close all
clc
%% 初始变量定义
vid = videoinput('winvideo', 2, 'YUY2_640x480'); % Connect to the camera
set(vid,'ReturnedColorSpace','rgb'); % 设置为RGB格式,否则会默认为BGR格式

net = alexnet;   % 定义网络结构
%% 主程序
while true
    im = getsnapshot(vid); % 取当前帧
    image(im);            % 显示照片
    im = imresize(im,[227 227]); % 缩减图像尺寸至模型输入要求
    
    label = classify(net,im);    % 输入模型进行推理预测
    title(char(label));          % 展示预测的label
    drawnow
end

El resultado del reconocimiento es un poco difícil de describir. . . . De todos modos, puedes usar la imagen para ser feliz.
Inserte la descripción de la imagen aquí

(2) Tarea de detección de objetivos

Haz un pequeño reconocimiento facial:

clear
close all
clc
%% 初始变量定义
vid = videoinput('winvideo', 2, 'YUY2_640x480'); % 定义摄像头参数
set(vid,'ReturnedColorSpace','rgb'); % 设置为RGB格式,否则会默认为BGR格式

faceDetector = vision.CascadeObjectDetector(); % 定义人脸识别工具
%% 主程序
while true
    im = getsnapshot(vid); % 取当前帧
    im = imresize(im,[227 227]); % 缩减图像尺寸
    
    bbox = step(faceDetector, im); % 将图片输入人脸检测器,返回识别结果的bounding box信息
    imgOut = insertObjectAnnotation(im,'rectangle',bbox,'Face'); % 给原图识别结果画框
    
    imgOut = imresize(imgOut,[640 480]); % 重新放回原尺寸,便于观察效果
    image(imgOut);            % 显示照片
end

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_45779334/article/details/115382468
Recomendado
Clasificación