Colour and Pattern Matching

5 次查看(过去 30 天)
Hi, I am developing a Fabric Pattern and Colour Matching System. I hope to have the right thought process on this project. The system is to find matching Database fabric image based on user’s input of random Testing fabric images. The system is as follow:
  1. Database consists of a number of fabric images, of various colour & pattern (as shown in the attachment).
  2. User inputs random testing images (might / might not exist in the database).
  3. System finds the EXACT matching database fabric image (if available); or shows ALMOST matched database image.
I am wondering what colour space would be more suitable for this system. HSV, RGB or other colour space? Besides, what pattern recognition / feature extraction + classification methods should I use? Currently, I have planned to use normalized cross correlation for pattern recognition; however, besides this method, are there any other better pattern recognition methods?
Any links to similar/existing projects is highly appreciated as well!
[Add. Info: Full database fabric image & testing images can be found in this Google Drive link https://drive.google.com/drive/folders/0B3kRUtBpzKROamx3S1dkLUtNRFE?usp=sharing
Thank you in advance for your help!
Database Images

采纳的回答

Image Analyst
Image Analyst 2017-2-28
Normalized cross correlation is good for finding where a pattern exists in an image, and how closely it matches the template. It will not be so good when the scale (magnification) is not matched up, like the pattern template is in the reference image but just has a different size, or if the pattern template is rotated. For scale and rotation invariant metrics, you might want to look at Hu's moments http://www.youtube.com/watch?v=Nc06tlZAv_Q. There are also a number of other metrics you could think up, like a list of dominant colors (see http://www.mathworks.com/matlabcentral/fileexchange/28164-color-frequency-image ) and their area fractions, certain sizes or shapes of things in the image, etc. You could build up a feature vector of a bunch of things. So you look at the overall accuracy of the things as a group rather than just using any one particular metric. This is the basis of how CBIR works, and you might investigate that field for more ideas.
As an aside, you might be interested in the color thesaurus: http://colorthesaurus.epfl.ch/
  23 个评论
Kent Yeap
Kent Yeap 2017-3-10
Alright, thank you! I will install the color inspector to compare the color spaces as well.
Image Analyst
Image Analyst 2017-3-10
MATLAB has a similar function called colorcloud() but I don't think it's quite as good (yet) as the ImageJ version.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Recognition, Object Detection, and Semantic Segmentation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by