Untitled
unknown
matlab
13 days ago
2.0 kB
2
Indexable
Never
% 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;
Leave a Comment