Untitled
unknown
matlab
a year ago
2.0 kB
11
Indexable
% Se verifica si el soporte para la webcam está instalado
if ~exist('webcamlist', 'file')
error('El soporte para la webcam no está instalado. Es necesario instalarlo antes de continuar.');
end
% Se carga la red preentrenada AlexNet
net = alexnet;
% Se prepara la webcam para capturar imágenes
cam = webcam;
% Se obtiene el tamaño de entrada requerido por la red AlexNet
inputSize = net.Layers(1).InputSize(1:2);
% Se crea una ventana para mostrar la imagen capturada
figure;
% Se configura el factor de zoom para obtener un formato vertical
zoomFactor = 2; % Este valor puede ser ajustado para incrementar el zoom
while true
% Se captura una imagen desde la webcam
img = snapshot(cam);
% Se obtiene el tamaño actual de la imagen capturada
[height, width, ~] = size(img);
% Se calculan las coordenadas necesarias para recortar la imagen en formato vertical
centerX = width / 2;
cropWidth = width / zoomFactor;
% Se define el área que será recortada en formato vertical
xStart = round(centerX - cropWidth / 2);
xEnd = round(centerX + cropWidth / 2);
% Se asegura de que las coordenadas de recorte estén dentro de los límites de la imagen
xStart = max(1, xStart);
xEnd = min(width, xEnd);
% Se recorta la imagen para obtener un formato vertical
imgCropped = img(:, xStart:xEnd, :);
% Se cambia el tamaño de la imagen recortada para que coincida con el tamaño de entrada de AlexNet
imgResized = imresize(imgCropped, inputSize);
% Se clasifica la imagen utilizando la red AlexNet
label = classify(net, imgResized);
% Se muestra la imagen recortada en formato vertical junto con la etiqueta de clasificación
imshow(imgCropped);
title(char(label));
% Se pausa brevemente para permitir la visualización de la imagen
pause(0.1);
end
% Al finalizar, se libera la webcam
clear cam;
Editor is loading...
Leave a Comment