You can achieve the desired transformation with the ImageForwardTransformation function.
The transformation effect is easily visible on a grid image:
grid = Rasterize[
Graphics[Rectangle[],
GridLines -> {Range[.05, .95, .05], Range[.05, .95, .05]},
GridLinesStyle -> Directive[{White, Thick}],
Method -> {"GridLinesInFront" -> True}, PlotRangePadding -> 0,
ImageSize -> 300]]

You can do the transformation on both dimensions
ImageResize[
ImageForwardTransformation[grid, Log[# + 0.1] &, PlotRange -> All],
ImageDimensions[grid]]

or just on one (x in this example):
ImageResize[
ImageForwardTransformation[grid, {Log[#[[1]] + 0.1], #[[2]]} &,
PlotRange -> All], ImageDimensions[grid]]

Unfortunately, you can't explicitly set the Method used in the interpolation of the transformed image by choosing an option from the Resampling documentation. You can only switch between the Automatic method or None.
ListLogLogPlot called with 0 arguments; 1 argument is expected.– anderstood Sep 14 '15 at 00:55ImageTransformationandImageForwardTransformationare probably what you're looking for. – shrx Sep 14 '15 at 08:26Floor[E^x]+1can get larger than the size ofpixels. I think you were in the right spirit, but anyway the functions indicated by shrx's do exactly what I want! – anderstood Sep 14 '15 at 16:55linearimage = Import["ExampleData/lena.tif"]; ImageForwardTransformation[linearimage, {(#[[1]] + 1) // Log, #[[2]]} &]I'll will accept your answer. – anderstood Sep 14 '15 at 16:55