Novato pidiendo ayuda, matlab llama a la cámara
Puede buscar sobre la caja de herramientas de adquisición de imágenes de Matlab.
Así es como usé CCD. Encontré este párrafo en línea:
La caja de herramientas de adquisición de imágenes en Matlab nos proporciona las funciones necesarias y podemos llamarlas directamente. En esta publicación, presentamos principalmente brevemente cómo usar esta caja de herramientas para programar cámaras USB2.0
Sin más preámbulos, vayamos al grano. Pero asegúrese de recordar que debe tener instalada una cámara de PC antes de poder hacer lo siguiente. Si está instalando una cámara por primera vez, es mejor reiniciar la PC; de lo contrario, es posible que no se reconozca la cámara.
Necesitamos hacer las siguientes cosas durante todo el proceso:
1 Consultar los parámetros específicos de la cámara USB2.0 (imaqhwinfo)
2. objeto de entrada de video (videoinput)
3. Vista previa y visualización de la imagen (vista previa, vista previa de parada, vista previa de cierre e imagen)
4. Obtener imagen de video (obtiene instantánea)
5. Adquisición de imágenes Obtención y configuración del dispositivo (obtener y configurar)
6 Cerrar el objeto de video (eliminar)
Antes de la explicación formal, me gustaría explicar los siguientes elementos. en la caja de herramientas de adquisición de imágenes Terminología:
Dispositivo de adquisición de imágenes: como cámara, escáner
Adaptador de adquisición de imágenes: el objetivo principal es transferir información entre Matlab y el dispositivo de adquisición de imágenes a través del controlador
ROI: región de interés región de interés
Hablemos de varias funciones de uso común aquí solo explicamos sus funciones y específicamente cómo usar el sistema de ayuda de referencia
.getelectedsource
imaqfind
es válido
peekdata
getdata
imaqmontage
Danos Debemos conocer los parámetros relevantes de una cámara antes de poder programarla. Por supuesto que podemos consultar el manual del comerciante, pero ¿eso es agotador?
La caja de herramientas de adquisición de imágenes de Matlab me proporciona imaqhwinfo() para obtener información de hardware de la imagen instalada en la PC.
Cuando no se ingresan parámetros, se devuelve una estructura que contiene información de la versión. relacionado con adaptadores y Matlab que existen en el sistema (generalmente usamos esto por primera vez)
Código:
gt; info=imaqhwinfo
info =
InstalledAdaptors: {'coreco' 'winvideo'}Aquí puedes ver dos adaptadores instalados en mi PC
MATLABVersion: '7.6 (R2008a)'
> Nombre de la caja de herramientas: 'Caja de herramientas de adquisición de imágenes'
Versión de la caja de herramientas: '3.1 (R2008a)'
Cuando hay parámetros de entrada, se devuelve una estructura que contiene la información de datos del adaptador especificado
Código:
gt; gt; win_info=imaqhwinfo('winvideo') Veamos los parámetros específicos del segundo adaptador
win_info =
AdaptorDllName: [1x81 char] Ruta absoluta del archivo dll del adaptador
AdaptorDllVersion: '3.1 (R2008a)' versión del archivo dll del adaptador
AdaptorName: 'nombre del adaptador de winvideo
DeviceIDs: {[1]} número de ID del dispositivo, a menudo necesitamos usar esto
DeviceInfo: [1x1 struct] información del dispositivo, aquí hay principalmente algunos parámetros del dispositivo de adquisición de imágenes, más importante p>
====================Descubramos más sobre la información detallada de este dispositivo de adquisición de imágenes====== ====== =========
gt;gt; win_info.DeviceIDs
ans =
[1] p>
gt ;gt; dev_win_info=win_info.DeviceInfo
dev_win_info =
DefaultFormat: 'RGB24_320x240' Obtiene el formato predeterminado de la imagen
DeviceFileSupported: 0
Nombre del dispositivo: nombre del dispositivo 'USB PC CAMERA P227'
ID del dispositivo: 1 número de dispositivo
ObjectConstructor: 'videoinput('winvideo', 1)' Método de construcción del objeto, la mayoría de son iguales
Formatos admitidos: la imagen obtenida por {1x12 cell} admite muchos formatos, y el formato predeterminado anterior es solo el formato predeterminado
= ======== =========================Mire los formatos de imagen admitidos por el dispositivo de adquisición de imágenes======== ===
=======================
gt;gt;dev_win_info.SupportedFormats Puedes ver que la cámara de mi PC admite los siguientes 12 Formato de imagen
ans =
Columnas 1 a 5
'I420_160x120' 'I420_176x144' 'I420_320x240' 'I420_352x288' 'I420_640x480'
Columnas 6 a 9
'RGB24_1280x960' 'RGB24_160x120' 'RGB24_176x144' 'RGB24_320x240'
Columnas 10 a 12
'RGB24_352x288' 'RGB24_640x480' ' 00x600 '
Vista previa, captura y guardado de vídeo
(1) Crear objeto de entrada de vídeo
obj = videoinput(nombre del adaptador, ID del dispositivo, formato)
adaptorname: nombre del adaptador, que se puede obtener utilizando la función imaqhwinfo sin parámetros por primera vez
deviceID: número de ID del dispositivo, que se puede obtener mediante la función imaqhwinfo por primera vez
formato: formato de captura de vídeo, que se puede obtener a través de SupportedFormats de DeviceInfo. Si no se completa, se utilizará el formato predeterminado
Código:
gt; obj = videoinput('winvideo', 1, 'RGB24_320x240') Aquí usamos el formato de captura de video predeterminado
Resumen del objeto de entrada de video usando 'USB PC CAMERA P227'.
Adquisición Fuente(s): la entrada1 está disponible.
Parámetros de adquisición: 'entrada1' es la fuente seleccionada actualmente.
10 cuadros por disparador usando la fuente seleccionada.
Los datos de vídeo 'RGB24_320x240' se registrarán al INICIO.
Tomando el primero de cada fotograma.
Registra los datos en la 'memoria' al activarse.
Parámetros de activación: 1 activación(es) 'inmediata(s) al INICIO.
p>Estado: Esperando INICIO.
0 fotogramas adquiridos desde el inicio.
0 fotogramas disponibles para GETDATA.
(2) Abra la ventana de vista previa del vídeo
himage=preview(obj, himage)
p>obj: objeto de colección de videos
himage: el identificador correspondiente a la ventana de vista previa del video, es decir, obtener una vista previa del video en el objeto de identificador especificado, este parámetro se puede dejar en blanco
En cuanto a La ventana de vista previa se puede cerrar y detener usando las funciones colsepreview y stoppreview
Código:
vidRes = get(obj, 'VideoResolution')
nBands = get( obj, 'NumberOfBands');
figure() especifica la figura que se muestra en la ventana de vista previa
axes() especifica la coordenada. sistema mostrado en la ventana de vista previa
hImage = image(zeros(vidRes(2), vidRes(1), nBands));
preview(obj, hImage
(3) Captura, visualización y almacenamiento de imágenes
p>Código:
el marco es una matriz de H×W×B. H altura de la imagen, especificada por ROIPosition; w ancho de la imagen, especificada por ROIPosition; B número de líneas de cable, especificadas por NumberOfBands
frame = getsnapshot(obj);
imshow(frame) ;
imwrite(fama,'snap.jpg','jpg');