VC0706 image reading

1 次查看(过去 30 天)
Daniel
Daniel 2016-5-16
Hello All,
I am trying to connect to a vc0706 camera through a usb com port.
Currently I got the following code (found on the internet) , but I can't seem to find the way to read the jpg image from the camera (I am getting a string rather than an image).
Anyone got ideas?
s=serial('com12','baudrate',38400);
set(s,'timeout',10);
%Open serial port
fopen(s);
%Stop FBUFFER
protocolsign=hex2dec('56');
serialnumber=hex2dec('00');
command=hex2dec('36');
datalength=hex2dec('01');
data=hex2dec('00');
fwrite(s,protocolsign,'uint8');
fwrite(s,serialnumber,'uint8');
fwrite(s,command,'uint8');
fwrite(s,datalength,'uint8');
fwrite(s,data,'uint8');
%arret=fread(s,5)
%Get Fbuffer_Length
protocolsign=hex2dec('56');
serialnumber=hex2dec('00');
command=hex2dec('34');
%datalength=hex2dec('00');
datalength=hex2dec('01');%
data=hex2dec('00');%
fwrite(s,protocolsign,'uint8');
fwrite(s,serialnumber,'uint8');
fwrite(s,command,'uint8');
fwrite(s,datalength,'uint8');
fwrite(s,data,'uint8');%
taille = fread(s,9);
newtaille=hex2dec(dec2hex(256*taille(8)+taille(9)))+100;
%Close serial port
fclose(s);
%Adjust Input buffer size to that of the image
set(s,'inputbuffersize',newtaille);
%Reopen Serial port
fopen(s);
%Read FBUF
protocolsign=hex2dec('56');
serialnumber=hex2dec('00');
command=hex2dec('32');
datalength=hex2dec('0c');
data=hex2dec([ '00' ; '0a'; '00'; '00'; '00'; '00'; '00'; '00'; dec2hex(taille(8)); '00' ; 'ff' ;'ff']);
%data=hex2dec([ '00' ; '0a'; '00'; '00'; dec2hex(taille(8)); dec2hex(taille(8)); '00'; '00'; '00'; '00'; '00' ;'0a']);%
fwrite(s,protocolsign,'uint8');
fwrite(s,serialnumber,'uint8');
fwrite(s,command,'uint8');
fwrite(s,datalength,'uint8');
fwrite(s,data,'uint8');
B=fread(s,5); %getting response from camera
if B(4)==0 % If status byte is "0"="success"'yeah' %be happy :)
C=fread(s); %read data
end
%Resume FBUFFER
protocolsign=hex2dec('56');
serialnumber=hex2dec('00');
command=hex2dec('36');
datalength=hex2dec('01');
data=hex2dec('02');
fwrite(s,protocolsign,'uint8');
fwrite(s,serialnumber,'uint8');
fwrite(s,command,'uint8');
fwrite(s,datalength,'uint8');
fwrite(s,data,'uint8');
fread(s,5)
%Close serial port
fclose(s);

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Support Package for IP Cameras 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by