how i can capture and then save many images using kinect camera at one time?

조회 수: 2 (최근 30일)
how i can capture and thensave many images using kinect camera at one time? i am using matlab by making GUI. i can save image now but i want to save more then one images with the passing of seconds. kindly guide me thanks
  댓글 수: 4
Florian Morsch
Florian Morsch 2018년 8월 16일
I dont know what you have attached there, its no link ;)
This might help you, its a example on how to get multiple images from a webcam. Since you already can get your images from the kinect you just can change the loop in the example. https://de.mathworks.com/help/supportpkg/usbwebcams/ug/acquire-webcam-images-in-a-loop.html
Muhammad Hammad Malik
Muhammad Hammad Malik 2018년 8월 20일
편집: Walter Roberson 2018년 8월 27일
thanks for your kind help. i have used this code
N = 4;
A = imread('my_img.png');
for ii = 1:N
imwrite(A,strcat('my_new',num2str(ii),'.png'));
end
from link given by you. when i run this code it is saving multiple images but when again i run this, it overwrite the images on previous ones instead creating the new images. so how to do that? thanks

댓글을 달려면 로그인하십시오.

채택된 답변

Florian Morsch
Florian Morsch 2018년 8월 20일
Right now you have a fixed N, in this case N=4 and if you run your code you will save the images to my_new1.png, my_new2.png, and so on. Now if you run the code again, the N stays the same which causes the name to be the same, thats why you are overriting the images. If you want to save multiple images in the folder, search for all image files in the folder, count them and then add that number to the name.
From this already answered question ( https://de.mathworks.com/matlabcentral/answers/65564-find-total-number-of-images-in-a-folder ) you can learn how to count the images in a folder.
You can use
a=dir([yourfolder '/*.jpg']); %%You have to give your folder location here
out=size(a,1);
N = 4;
A = imread('my_img.png');
for ii = 1:N
NumberOfNextImage=ii + out;
imwrite(A,strcat('my_new',num2str(NumberOfNextImage),'.png'));
Now your code would check for the total amount of images in the folder and if you run with 4 images and say you already have 12 in the folder, your images would be named ii + 12, so my_img13.png, my_img14.png, ... and so on.
  댓글 수: 4
Muhammad Hammad Malik
Muhammad Hammad Malik 2018년 8월 28일
편집: Walter Roberson 2021년 11월 30일
i am saving images in F drive, not in C and i already saved images in F drive but when i use this code then it is showing this error. see the code:
a=dir(['F:\kinect data\color\plant' '/*.jpg']);
out=size(a,1);
N = 4;
for ii = 1:N
NumberOfNextImage=ii + out;
imwrite(color,strcat('my_new',num2str(NumberOfNextImage),'.jpg'));
end
Walter Roberson
Walter Roberson 2021년 11월 30일
That code tries to write images into the current directory, not into the directory that you read the images from.
imgdir = 'F:\kinect data\color\plant';
a = dir( fullfile(imgdir, '*.jpg') );
out=size(a,1);
N = 4;
for ii = 1:N
%at this point, update the variable named color with a new image
NumberOfNextImage=ii + out;
outfile = fullfile(imgdir, "my_new" + NumberOfNextImage + ".jpg");
imwrite(color, outfile);
end

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Mohamed Ramadan
Mohamed Ramadan 2021년 11월 30일
mycam=webcam
preview(mycam)
img=snapshot(mycam);
imshow(img)
imwrite(img,'newimage.jpg');

Community Treasure Hunt

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

Start Hunting!

Translated by