Google Photos imposes a 100 megapixel limit on uploaded photos. This may sound like a lot, as even the very high-end Sony Alpha a7R III has “only” a 48MP sensor, but in reality, when you shoot panoramas and stitch them yourself, you can quickly get there and hit the 100MP limit. When you try to upload your huge panorama to Google Photos, you will get a
A photo or video was skipped
error.
To solve it, you need to resize your image and make it smaller. This can be done automatically using ImageMagick’s convert:
$ convert -resize "100000000@>" panorama-in.jpg panorama-out.jpg
This will resize panorama-in.jpg to at most 100MP, and save it as panorama-out.jpg. The > makes sure we will only downsize larger photos.
By default, under Debian, ImageMagick comes with a very strict `policy.xml` controlling the resources it can use. Practically, this means that unless you change those limits, you’ll encounter resource limit errors such as:
convert-im6.q16: width or height exceeds limit `panorama-in.jpg' @ error/cache.c/OpenPixelCache/3802.
To solve it, you will need to edit /etc/ImageMagick-6/policy.xml and increase the limits for memory, width, height, and area. For example:
<policy domain="resource" name="memory" value="8GiB"/>
<policy domain="resource" name="width" value="128KB"/>
<policy domain="resource" name="height" value="128KB"/>
<policy domain="resource" name="area" value="8GB"/>