Error using imaq.VideoDevice
이전 댓글 표시
Hello, I made such a code for my project, but
Error using imaq.internal.VideoDeviceInternalNo device is available at the specified DEVICEID. See IMAQHWINFO('winvideo').Error in imaq.VideoDevice
My camera: a4 tech pk-636k
I'm getting an error like this, if you can help I'd appreciate it.
%% Detecting Motions Using Gaussian Mixture MOdel
%
%
%
%https://ch.mathworks.com/help/vision/examples/detecting-cars-using-gaussian-mixture-models.html
%
%%
clear all; close all;
clc;
%%
FRAME_WIDTH = 1280;
FRAME_HEIGHT = 720;
vidDevice = imaq.VideoDevice('winvideo', 2, strcat('MJPG_',num2str(FRAME_WIDTH),'x',num2str(FRAME_HEIGHT)), ... % Acquire input video stream
'ROI', [1 1 FRAME_WIDTH FRAME_HEIGHT], ...
'ReturnedColorSpace', 'rgb');
foregroundDetector = vision.ForegroundDetector('NumGaussians', 3, ...
'NumTrainingFrames', 50);
blobAnalysis = vision.BlobAnalysis('BoundingBoxOutputPort', true, ...
'AreaOutputPort', false, 'CentroidOutputPort', false, ...
'MinimumBlobArea', 3500);
se = strel('square', 5); % morphological filter for noise removal
%% Train Foreground Detector
disp('Training');
for i = 1:150
disp(strcat('step#',num2str(i)));
frame = step(vidDevice); % read the next video frame
foreground = step(foregroundDetector, frame);
end
disp('Training Complete');
%%
for i=1:400
rgbFrame = step(vidDevice);
rgbFrame=flip(rgbFrame,2);
grayFrame = rgb2gray(rgbFrame);
grayFrame = imgaussfilt(grayFrame,4);
% Detect the foreground in the current video frame
foreground = step(foregroundDetector, rgbFrame);
% Use morphological opening to remove noise in the foreground
filteredForeground = imopen(foreground, se);
% Detect the connected components with the specified minimum area, and
% compute their bounding boxes
bbox = step(blobAnalysis, filteredForeground);
% Draw bounding boxes around the detected cars
result = insertShape(rgbFrame, 'Rectangle', bbox, 'Color', 'green','LineWidth', 5);
% Display the number of cars found in the video frame
numCars = size(bbox, 1);
result = insertText(result, [10 10], numCars, 'BoxOpacity', 1, ...
'FontSize', 14);
figure(5),imshow(result);
% step(videoPlayer, result); % display the results
end
%%
release(vidDevice)
답변 (3개)
Image Analyst
2021년 12월 29일
1 개 추천
What does this show fpr you?
>> imaqhwinfo
ans =
struct with fields:
InstalledAdaptors: {'gentl' 'lumeneraimaq' 'winvideo'}
MATLABVersion: '9.11 (R2021b)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '6.5 (R2021b)'
댓글 수: 9
trk
2021년 12월 31일
Image Analyst
2021년 12월 31일
Type that into the command window.

trk
2022년 1월 1일
Image Analyst
2022년 1월 1일
You're not supposed to paste in the answer for my system. You're supposed to just call imaqhwinfo
imaqhwinfo
Type that into the command line.
trk
2022년 1월 3일
Walter Roberson
2022년 1월 3일
편집: Image Analyst
2022년 1월 3일
vidDevice = imaq.VideoDevice('winvideo', 2, strcat('MJPG_',num2str(FRAME_WIDTH),'x',num2str(FRAME_HEIGHT)), ... % Acquire input video stream
'ROI', [1 1 FRAME_WIDTH FRAME_HEIGHT], ...
'ReturnedColorSpace', 'rgb');
You are asking for the second device (#2) but you only have one winvideo device. Try
videoRes = sprintf('MJPG_%dx%d', FRAME_WIDTH, FRAME_HEIGHT)
% Acquire input video stream. Instantiate vidDevice object.
vidDevice = imaq.VideoDevice('winvideo', 1, ...
videoRes, ...
'ROI', [1, 1, FRAME_WIDTH, FRAME_HEIGHT], ...
'ReturnedColorSpace', 'rgb');
Image Analyst
2022년 1월 3일
See if the attached program runs for you. It is more robust than what you've done and tried to automatically find the video source. Works for winvideo and my Logitech web cam.
trk
2022년 1월 3일
Image Analyst
2022년 1월 3일
I don't see a line number there. Tell the debugger to run but stop on any error and tell me what line number it is throwing the error on.
yanqi liu
2021년 12월 30일
yes,sir,may be use
vidDevice = imaq.VideoDevice('winvideo', 1, strcat('MJPG_',num2str(FRAME_WIDTH),'x',num2str(FRAME_HEIGHT)), ... % Acquire input video stream
'ROI', [1 1 FRAME_WIDTH FRAME_HEIGHT], ...
'ReturnedColorSpace', 'rgb');
Pham
2023년 2월 8일
0 개 추천
Hello, I made such a code for my project, but
Error using imaq.internal.VideoDeviceInternal
Invalid VIDEOFORMAT 'YUY2_640x480' specified. VIDEOFORMAT must be specified as a string. The available
formats on this device are {RGB24_640x480}.
Error in imaq.VideoDevice
댓글 수: 1
Walter Roberson
2023년 2월 8일
What is your call to imaq.VideoDevice ?
What hardware (brand and model) of camera are you using?
카테고리
도움말 센터 및 File Exchange에서 Image Data Acquisition에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



