Looks like anti-aliasing to me or at least the borders aren’t the right colour. It is better when I turn off the transparency using to_rgb. It is only apparent when you zoom in.
That depends on how a particular filter does the rendering. Some filters allows anti-aliased rendering, other don’t. Transparent and anti-aliased are two different things. It is sometimes actually hard to render anti-aliased drawing correctly (this is the case for 3d objects).
The difficulty happens when a filter wants to render an anti-aliased object over a transparent background.
One usual way to do this is to rendering the drawing without anti-aliasing on an image with doubled resolution (2 x width , 2 x height), then downsize the resulting rendering back to the original image size, so each 2x2 neighborhood of the non-antialiased image is color-averaged to render the anti-aliased image.
So in practice, the anti-aliased result highly depends on the background color used for the doubled image. If background used was black, the pixels at the borders of the drawn object will be averaged with black (so anti-aliased parts looks darker). If background used is white, then anti-aliased parts will look brighter. Choosing a middle gray is not a solution either (anti-aliased pixels will look greyish).
One not-so-bad solution is to dilate the non-antialiased rendering a little bit before downsizing, so that coherent colors are duplicated near the neighborhood of the borders of the drawn object. When downsizing, averaging will be done with relatively correct colors.
This is just what I’ve done for the transition3d filter, and something equivalent should be done for other filters as well. I’ll see if I can automate this process easily.
But, as you see, this is not really as simple as it seems to be.
I do not have your level in programming but I am not sure that this is a good solution in long term?
For example, it is possible with other programs to obtain a good progressivity between the opacity of the image and the transparency during a perspective effect: http://www.imagemagick.org/Usage/distorts/#perspective
There is no other way to get a perfect antialing without “trick”?