Matlab image similarity/analysis

This is my first time using Matlab so I'm sorry if this isn't clear enough. Thanks in advance for any reply.
I'm currently doing a project on Matlab which is due in the next 4 weeks so this is a little urgent. The project should allow a user to input 2 images and the system should then compare them for similarity. I've already made the GUI and allowed the user to input the images and the system can check if the images are the same.
I want to be able to compare how the two images are similar in terms colour, texture, patterns, quality etc.
I'm very confused about how to compare/analyse the images for similarity. If any one can point me to the right direction as to what libraries/methods I need for the project or what to do next would be perfect.
Thanks, Mo

Answers (1)

Image Analyst
Image Analyst on 24 Feb 2015
You can subtract them, use median absolute deviation, RMS, ssim, psnr, MSE, etc. You can also convert rgb2hsv and compute the mean H, mean S, and mean V. You can computer texture with stdfilt, entropyfilt(), or graycomatrix(). Lots of things for you to try. Why don't you look up CBIR and see what features they consider? Maybe try SURF if you have the Computer Vision System mToolbox.

2 Comments

thank you for the suggestions. just out of interest how long do you think it will take me to implement these to an already built GUI??
Other than SURF and CBIR, probably about 10-20 minutes. Here's some code to get you started
hsv = rgb2hsv(rgbImage);
hImage = hsv(:,:,1);
sImage = hsv(:,:,2);
vImage = hsv(:,:,3);
meanH = mean2(hImage);
meanS = mean2(sImage);
meanV = mean2(sImage);
grayImage = rgb2gray(rgbImage);
entropyImage = entropyfilt(grayImage);
sdImage = stdFilt(grayImage);
OK, maybe 20 minutes was too long - that only took me about 2 minutes.

Sign in to comment.

Asked:

on 24 Feb 2015

Commented:

on 26 Feb 2015

Community Treasure Hunt

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

Start Hunting!