How to convert multiple rgb snapshots into grayscale and save them into a folder?

2 views (last 30 days)
I've taken multiple rgb snapshots and saved them into the folder using for-loop. But now I need to know how those snapshots can be converted into grayscale and save them into a folder.
After the above has been done, I need to know how both of these (rgb and gray) can be subtracted so that the difference is spotted.
Please help. thank you very much in advance.

Accepted Answer

Image Analyst
Image Analyst on 23 Nov 2014
Try this:
grayImage = rgb2gray(rgbImage);
diffGray = double(grayImage) - double(grayReferenceImage);
diffRGB = double(rgbImage) - double(rgbReferenceImage);
if max(abs(diffGray(:))) > 0
% There is at least one different pixel.
end
  13 Comments
Omar Ahmad
Omar Ahmad on 29 Nov 2014
Edited: Omar Ahmad on 29 Nov 2014
So to make the question short and simple. I want the result of diffGray converted into Binary and save it.By this I must be able to view in Black and White. Please help. This could be my last question. You (image analyst and Mohammed Abouali) helped me alot.
Image Analyst
Image Analyst on 29 Nov 2014
OK, you want to binarize the difference signal by thresholding it and turning it into a logical array. So you can do something like
binaryImage = diffRGB > someValue; % Like 2 or 5 or whatever
Pick a value that you want to see if the difference is greater than. Like if the difference between the images is more than 3 gray levels, show it, otherwise consider them the same with essentially no difference at all.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type 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!