Detect "marbleesque" Surface Pattern

asked 2017-09-29 06:43:19 -0600

andi gravatar image

Hi folks, I'm trying to measure the ratio of dark to bright spots on these tubes. They start out dark and go from there to spotty, ending up white in the process and we want to guesstimate their current state.

image description

I tried feature matching but the results were not so good. Since I'm quite new to opencv I'm a little bit overwhelmed by the awesome number of choices concerning possible algorithms (k-nearest neighbor, haar-cascasdes, watershed, ...) so I would really appreciate if someone with more experience could point me in a promising direction on which methods to try first to identify the tubes in the image and then to measure the "spottiness".

Here is another picture without the pattern C:\fakepath\pattern2.jpg

Cheers, Andi

edit retag flag offensive close merge delete

Comments

just saying - none of your tags are adequate. (what, if you try to learn more about computer-vision, like reading a book ?)

berak gravatar imageberak ( 2017-09-29 12:47:19 -0600 )edit

Assume you do not need to find out where is the tube, you can try to use histogram to classify their states.If histogram is not enough, you can train a classifier too(ex : LBP, cnn) etc.

tham gravatar imagetham ( 2017-10-02 04:11:09 -0600 )edit

@tham: Thanks! Histogram works quite nicely, compared with some hsv filtering. I hope I can get a screen or some panel inserted to get rid of the same color background. Eventually I'll have to detect single tubes and it seems much easier to tackle that problem at the physical level...

andi gravatar imageandi ( 2017-10-03 15:22:21 -0600 )edit