Intuitively I would guess that this could profit from using a more sophisticated color difference function [1] which accounts for human color perception better than simply RGB component differences. And even if one uses RGB components, making sure that gamma correction is handled properly might make a noticeable difference.<p>[1] <a href="https://en.wikipedia.org/wiki/Color_difference" rel="nofollow">https://en.wikipedia.org/wiki/Color_difference</a>
After reading the first article [1], I was inspired to implement the algo myself. Great to see a follow up! Would be cool if there was a third that explained what's going on in this [2]... :D (was mentioned in the comments here [3])<p>[1] <a href="https://avikdas.com/2019/05/14/real-world-dynamic-programming-seam-carving.html" rel="nofollow">https://avikdas.com/2019/05/14/real-world-dynamic-programmin...</a><p>[2] <a href="https://web.archive.org/web/20110707030836/http://vmcl.xjtu.edu.cn/Real-Time%20Content-Aware%20Image%20Resizing.files/real_time_content_aware_image_resizing.pdf" rel="nofollow">https://web.archive.org/web/20110707030836/http://vmcl.xjtu....</a><p>[3] <a href="https://news.ycombinator.com/item?id=16269998" rel="nofollow">https://news.ycombinator.com/item?id=16269998</a>
So I haven't dug too much into seam carving but have a quick question, do any of these algorithms blend the pixels of a removed seam into the surrounding pixels after removal? Maybe as high as a 50/50 split, or lower like a 90/10 split. Does this end up with a better image or a blurry mess?
Do the seams need to be continuous? Intuitively it feels like the seam being carved out doesn't need to be made from pixels touching each other. What if the best seam has a slope of about 1/3 (i.e 1 vertical pixel for ever 3 horizontal pixels)?
Follow-up from the related article last month (which was discussed in <a href="https://news.ycombinator.com/item?id=20285242" rel="nofollow">https://news.ycombinator.com/item?id=20285242</a>).
For those who have no idea what it's all about: <a href="https://www.youtube.com/watch?v=vIFCV2spKtg" rel="nofollow">https://www.youtube.com/watch?v=vIFCV2spKtg</a>
Question about the algorithm:<p>Is the algorithm run from scratch each time a seam is removed? I.e. energy function computed again on the resized image, all seams recomputed, then only the lowest energy seam is removed.. and repeat.<p>Or are all the seams from the first calculation used for resizing?