how to take the difference of images (at once) within multiple snapshots ?

1 次查看(过去 30 天)
My present situation:
for i=1:10
grayImage = getsnapshot (cam);
grayImage = rgb2gray (grayImage);
imwrite (grayImage,sprintf('test_%d.jpg',i));
end
I want to see the image differences being subtracted automatically (e.g. from image 1 and 2, 3 and 4, 5 and 6 etc.) without doing it one by one like the following.
f1=imread ('test_1.jpg');
f2=imread ('test_2.jpg');
diffGray = abs (f1-f2);
And after having coded to do the operation automatically, I also want to save the differences into a folder in Binary format (to make it visible in black and white). The saving must also take place automatically rather having to use imwrite for saving each and every difference.
Please help. thank you very much.

采纳的回答

Image Analyst
Image Analyst 2014-12-1
You will find it easy to adapt one of the code samples in the FAQ to subtract the (n-1)st image from the nth image. http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F Let me know if you can't.
  7 个评论
Image Analyst
Image Analyst 2014-12-16
See my attached demo where I get differences between frames of a video.
By the way I'll be traveling in Arizona and California from this evening through Friday so I most likely won't be able to answer anyone at all during that time.
Omar Ahmad
Omar Ahmad 2014-12-17
Thank you very much Sir. Have a safe journey ahead. Thanks for everything again..

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by