記事のディレクトリ
1.ツールボックスの準備
名前を直接検索してmatlabでダウンロードできます。アカウントにログインしている限り、無料でダウンロードできます。eduメールボックスは必要ありませんが、QQメールボックスが必要です。
- USBカメラツールボックス:OS Generic Video Interface
- ディープラーニングツールボックス
- 事前トレーニング済みの深層学習モデル(モデルの実行時にダウンロードするプロンプトに従ってください)
コードを直接実行して、エラーメッセージに従ってダウンロードできます
2.カメラの使用
(1)カメラを呼び出し、写真を撮って表示します
clear
close all
clc
vid = videoinput('winvideo',1);
preview(vid);
frame = getsnapshot(vid); % 拍照
figure;imshow(frame);
(2)カメラを呼び出し、複雑なパラメータを設定します
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.軽量コードは、事前にトレーニングされたモデルを呼び出して、CVタスクを実行します
(1)画像分類タスク
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
認識結果を説明するのは少し難しいです。。。。とにかく、あなたはただ写真を使って幸せになることができます。
(2)ターゲット検出タスク
小さな顔認識を行います:
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