Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Find how smooth or rough a surface in an image is

Greetings all.

I am trying to determine from a given image how smooth or rough an object is. This could be a wall, garment, human skin, leather e.t.c. I would also like to determine if it is all one color or there are variations however minimal 'to the extent possible'.

I want then to assign a score say from 1 -10 1 being very smooth and similar color and 10 being rough and / or dotted with places of different hues.

I have an idea to use a smoothing filter. I would load two objects of the same image and smooth one a bit more 'heavily' that the other. I would then subtract the two images. I can imagine that if the image is very smooth, the result of the subtraction will be more or less zero, while for rough objects it will be a lot of noise.

I haven't tried it out yet and I don't know if it would work but it seems too 'simplistic'. Would anyone have a better idea on how this could be achieved? Especially the part of determining smoothness? I am assuming this process of determining smoothness will also give me areas with color disparity. Am I right? Is there a better way to do this?

As an example of an image I would process, see below. These are images of sections of a building walls.

Relatively Smooth Wall

image description

Rough Wall

image description