I'm Studying DisplacementMapFilter for Image-Distortion.
but, I found somewhat strange thing.
that is, DisplacementMapFilter does not work exactly(?) or linearly(?).
I'll show u test result.
Left-Top Image is Original Image;(256x256)
Right-Top Image is DisplacementMap Image;
- gray part is non-transfer section (channel value = 128)
- gradient part is transfer section (channel value = 0~255)
- black part is maximum transfer section (channel value = 0)
and.. bottom two images are result of applying filter, with different yscale parameters.
as I think, transfered top of gradient part and top of black part will be same.
but..as changing yscale, that difference changed.
adobe online help page says.
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
with same componentY, same Y, will make same result pixel data.
above test result shows it's can be calculated when solid part, but gradient part is not working correctly.
did you have any experence like this?
looks ok to me.
to confirm, start with another image, apply your filter and confirm it results in the same pixel mapping.