Not sure what that means. First of all, imerode() does erosion, not dilation. Secondly, what is "kernel overlapping"? Or what is it without "kernel overlapping"? Basically dilation replaces the pixel at a center of a window with the maximum of the image within that window, and imdilate() does that for every pixel in the image as it scans the image pixel by pixel. If you want to move the window in "jumps" of the filter window width instead of by one pixel at a time, then you want blockproc(). Though, blockproc() can also move by amounts less than the window size if you set it up properly. I've attached demos for blockproc().