06-24-2021, 03:50 PM
Why not if it is done in Photoshop (if 'PS' means Photoshop). But not by me. I have neither the skills nor the time. But those in the G'mic forum may be interested. Who knows, perhaps there already is something like it? Or perhaps some better coder here would want to take the job?
I have some thoughts. The problem resembles very much what I did with path transformations. (But I was transforming paths, not images!) In:
https://www.gimp-forum.net/Thread-Path-t...4#pid19014
there is the pdf file introducing a transformation F0 from 16 control points. It also describes formulas for a simplified version (Section 1.1.3), and that is almost what you are now asking for. It maps a rectangle onto a curvy quadrilateral, where the curvy quadrilateral is made of four sides, each being a Bezier arc. So there are the formulas. What is missing, is an implementation of those formulas to distort an image. And unfortunately, in your problem we would need the inverse transformation, but perhaps there is some way around that.
So, if you want to ask the question on the G'mic forum, you may bring to their attention that pdf of mine, and from there the transformation F0 and in particular the simplified version (Section 1.1.3).
(And I want to mention that that 16-point transformation F0 was not new, after all, just as I suspected. I later found the formula in Chapter 14 of:
Thomas W. Sederberg: Computer Aided Geometric Design. (2012) Brigham Young University, Faculty Publications. 1.
https://scholarsarchive.byu.edu/facpub/1/
But so far I have not seen anywhere mentioned the simplified version dealing with curvy quadrilaterals. But judging from that screenshot of the Photoshop plugin, something similar may be behind the plugin.)
I make it sound simple: Here we have the formulas, and we just should implement them. But there are certainly problems to solve. I am sorry, but I am not even thinking of trying. For one thing, I don't know how to implement image transformations.
I have some thoughts. The problem resembles very much what I did with path transformations. (But I was transforming paths, not images!) In:
https://www.gimp-forum.net/Thread-Path-t...4#pid19014
there is the pdf file introducing a transformation F0 from 16 control points. It also describes formulas for a simplified version (Section 1.1.3), and that is almost what you are now asking for. It maps a rectangle onto a curvy quadrilateral, where the curvy quadrilateral is made of four sides, each being a Bezier arc. So there are the formulas. What is missing, is an implementation of those formulas to distort an image. And unfortunately, in your problem we would need the inverse transformation, but perhaps there is some way around that.
So, if you want to ask the question on the G'mic forum, you may bring to their attention that pdf of mine, and from there the transformation F0 and in particular the simplified version (Section 1.1.3).
(And I want to mention that that 16-point transformation F0 was not new, after all, just as I suspected. I later found the formula in Chapter 14 of:
Thomas W. Sederberg: Computer Aided Geometric Design. (2012) Brigham Young University, Faculty Publications. 1.
https://scholarsarchive.byu.edu/facpub/1/
But so far I have not seen anywhere mentioned the simplified version dealing with curvy quadrilaterals. But judging from that screenshot of the Photoshop plugin, something similar may be behind the plugin.)
I make it sound simple: Here we have the formulas, and we just should implement them. But there are certainly problems to solve. I am sorry, but I am not even thinking of trying. For one thing, I don't know how to implement image transformations.