AbstractRendering icon indicating copy to clipboard operation
AbstractRendering copied to clipboard

Unify CarveIncremental with the AbstractCarver

Open JosephCottam opened this issue 11 years ago • 0 comments

CarveIncremental works on a different principal than the other carvers, and is thus harder to fit to AbstractCarver than the others. This means that it can't be used with the DrawSeams tool (or any future tool) without special handling.

The basic issue is that all other carvers create a list of many seams at once and then remove them all. This means that new low-energy seams created by removing an old low energy seam can't be exploited, but the running time does not depend on the number of seams removed. All AbstractCarver instances can the pixels that will be removed by each seam in terms of source image coordinates. HOWEVER, the incremental carver removes one seam, then computes the next seam in the resulting image...so reporting all seams in terms of the original source image requires mapping the coordinates in image-n to those of image-0....a process which has thus far evaded me.

CarveIncremental tends to give excellent results, so I'd like to keep it...even if it is really slow.

JosephCottam avatar Mar 05 '14 21:03 JosephCottam