How do I use my smart phone camera as a webcam in MATLAB?
150 views (last 30 days)
Show older comments
I have an smartphone device with a camera. I would like to obtain and process this image data in MATLAB.
(Specifically, I have an Android device).
3 Comments
kundan surse
on 21 Jan 2020
Moved: DGM
on 22 Feb 2023
I want to take the screenshot of my mobile screen form matlab to use it for further prossesing how can i do that ?
Accepted Answer
More Answers (11)
Soham Bhattacharyya
on 16 May 2016
You can use DroidCam if you are using an android phone. You'll need to install OS Generic Video Interface driver.

Hope it helps. :)
2 Comments
Chirag Gupta
on 20 Jul 2011
With the iPhone, using the App suggested by Ashish above (IP Cam), you can achieve the same pretty easily! The code is exactly the same:
url = 'http://<ipaddress>:8020/image.jpg';
ss = imread(url);
fh = image(ss);
while(1)
ss = imread(url);
set(fh,'CData',ss);
drawnow;
end

5 Comments
Tiwa Romuald
on 15 Oct 2015
hi, please how can i save the video from this function? thank you best regard
amro
on 10 May 2014
url=('http://192.168.43.1:8080/shot.jpg?rnd=350264');
hVideoIn = vision.VideoPlayer('Name', 'Final Video');
while(1)
ss=imread(url);
step(hVideoIn,ss)
end
3 Comments
Tiwa Romuald
on 8 Oct 2015
Hi Hauder Ali, please can you explain how it work on IP camera Image Acquisition. I new in Matlab. thx
PIYUSH KUMAR
on 14 Sep 2015
Here's the working code for color detection using android camera:
url = 'http://192.168.0.100:8080/shot.jpg';
framesAcquired = 0;
while (framesAcquired <= 50) % the vedio will work till the 50 video frames, after that the vedio will stop. You can use while(1) for infinite loop
data = imread(url);
framesAcquired = framesAcquired + 1;
diff_im = imsubtract(data(:,:,1), rgb2gray(data)); % subtracting red component from the gray image
diff_im = medfilt2(diff_im, [3 3]); % used in image processing to reduce noise and for filtering
diff_im = im2bw(diff_im,0.18); % convert image to binary image
stats = regionprops(diff_im, 'BoundingBox', 'Centroid'); % measures a set of properties for each connected component in the binary image
drawnow;
imshow(data);
hold on
for object = 1:length(stats)
bb = stats(object).BoundingBox;
bc = stats(object).Centroid;
rectangle('Position',bb,'EdgeColor','b','LineWidth',2)
plot(bc(1),bc(2), '-m+')
end
hold off
end
%stop(vid); % to stop the video
%flushdata(vid); % erase the data video
clear all
1 Comment
Tiwa Romuald
on 14 Oct 2015
Edited: Tiwa Romuald
on 15 Oct 2015
hi PIYUSH KUMAR please this function it's just for a snaphot or video? i would like to have video and save it from my smarphone into matlab. how can I save directly as a AVI video? please help me. thank you
Amrinder Brar
on 25 Mar 2015
Edited: Amrinder Brar
on 25 Mar 2015
Is there any simple solution to this problem in iphone(i.e. without having to install any third party apps) ?
1 Comment
Walter Roberson
on 6 Sep 2015
saras
on 1 Jul 2016
I am not sure if this is exactly what you are looking for. However, you can use 'Simulink Support Package for Samsung GALAXY Android Devices' or 'Simulink Support Package for Apple iOS Devices' to access the appropriate smartphone camera. Both these support packages come with a Camera block that allow you to get the Camera data inside MATLAB. You can subsequently connect the Camera block to a Video Viewer block if you would like to visualize the data in Simulink.
1 Comment
Cristian David Jimenez Bedoya
on 5 Dec 2016
Edited: Walter Roberson
on 5 Dec 2016
buenas, este programa funciona bien pero no he logrado capturar una imagen a partir de este mismo, como puedo obtener una captura de imagen y almacenarla ?
url = "http: // <dirección IP> /shot.jpg ';
ss = imread (url);
fh = imagen (ss);
mientras que (1)
ss = imread (url);
conjunto (FH, 'programable CData', ss);
drawNow;
fin
2 Comments
MARIA JAVED
on 4 Feb 2017
can anybody tell me that how we can do face detection through Android phone pls help??? i need that code?
1 Comment
Walter Roberson
on 6 Feb 2017
You would either have to write the code in MATLAB and use MATLAB Coder, or else you would have to create a Simulink model and deploy that to Android.
Jonathan berry
on 10 Apr 2017
Hello guys,
I keep having this error:
Error using imread (line 350) Can't read URL "http://MY_IP /shot.jpg".
any help will be appreciated
2 Comments
Walter Roberson
on 29 Apr 2018
You need to replace he "MY_IP " part by your actual IP address, such as http://192.168.0.10/shot.jpg
Beril Sirmacek
on 29 Apr 2018
Hi All,
I found out that;
imread('http://MY_IP /shot.jpg');
works only on secured network for me. If I am on a public network, then it gives error.
2 Comments
Walter Roberson
on 6 Sep 2018
"On Windows platforms, this parameter supports URLs that point to MMS (Microsoft Media Server) streams."
See Also
Categories
Find more on Point Grey Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!