La versión corta es, si desea una imagen de 100x100 en formato PNG, la línea que tiene le dará la mejor calidad con el menor tamaño de archivo. No puede hacer nada mejor sin a) codificar en un formato con pérdida (JPEG) ob) reducir la profundidad de color de su imagen.
Para una explicación un poco más larga, directamente de Wikipedia: "Puntos por pulgada (DPI) es una medida de densidad espacial o densidad de puntos de video, en particular el número de puntos individuales que se pueden colocar en una línea en el lapso de 1 pulgada (2.54 cm). El valor de DPI tiende a correlacionarse con la resolución de la imagen, pero está relacionado solo indirectamente. "
DPI no tiene nada que ver con obtener un tamaño de archivo más pequeño; su imagen 100x100 mide 100x100 píxeles, sin importar si la ve en una pantalla de 300 ppp o de 96 ppp (se verá más pequeña en la pantalla de 300 ppp). La cantidad de información es la misma de cualquier manera.
"-densidad" tampoco servirá, ya que solo funciona cuando se "codifica una imagen ráster mientras se procesan (leen) formatos vectoriales como Postscript, PDF, WMF y SVG en una imagen ráster". Esos formatos son independientes de la resolución, por lo que tiene sentido decirle a ImageMagick el DPI al que desea que se rasterice la imagen. Sin embargo, su DPI debe ser una función del dispositivo de salida que planea usar. En su caso, dado que está comenzando con una imagen ya rasterizada, esto no tiene uso.
PNG es un formato sin pérdidas, por lo que el parámetro -quality solo controla el nivel de compresión zlib; cualquier ganancia en el tamaño de la imagen será mínima, pero vale la pena usarla.
No probado: convertir myimage.png -units PixelsPerInch -densidad 96x96 -cualidad 100 -configurar 100 PNG8: mynewimage.png – StackOverflowNewbie