Bilateral filtering is one of the most classical denoising filters. However, the parameter of its range kernel needs to be initialized manually, which hampers its adaptivity across images with different characteristics. For coping with image variation (e.g., changeable signal-to-noise ratio and spatially-varying noise), it is necessary to adapt the kernel to specific image characteristics automatically. In this paper, we propose multi-kernel filter (MKF) inspired by adaptive mechanisms of human vision. We first design a hierarchically clustering algorithm to generate a hierarchy of large to small coherent image patches, organized as a cluster tree, so that obtain multi-scale image representation. The leaf cluster and corresponding predecessor clusters are used to generate one of multiple range kernels that are capable of catering to image variation. We evaluate MKF on two public datasets, BSD$300$ and BrainWeb. Extensive experimental results show that MKF outperforms state-of-the-art filters on both mean absolute error and structural similarity.