bytedeco/javacv

PNG images are not getting compressed correctly

Open

#1462 aperta il 2 lug 2020

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Java (1583 fork)batch import
help wantedquestion

Metriche repository

Star
 (6985 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

I m trying to compress the PNG images , and have tried to use different COMPRESSION algorithm , but the final image size is greater than original size. Image Used- https://upload.wikimedia.org/wikipedia/commons/d/d7/Astro_4D_stars_proper_radial_g_b_8mag_big.png

Before resize length 1966656 After resize length IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY - 6355730 After resize length IMWRITE_PNG_STRATEGY_FILTERED - 6355730 After resize length IMWRITE_PNG_STRATEGY_FIXED 6355730 After resize length IMWRITE_PNG_STRATEGY_RLE 6355730 The resizing(decreasing the dimension) is increasing the size of the image after the first log.

Steps to reproduce I am using Java for this-

resizeByThird(sourceImage: Path, destinationImage: Path) {
        val sourceImageMat = imread(sourceImage.toString())
        val resizedImage = Mat()
        resize(sourceImageMat, resizedImage, Size(3840, 2208))
        println(sourceImage.toFile().length())
        val params: IntArray = intArrayOf(IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY)
        imwrite(destinationImage.toString(), resizedImage, params)
        println(destinationImage.toFile().length())
    }

I am facing this issue with JPEG image as well

I have also tried to use IMWRITE_PNG_COMPRESSION for PNG ,even that did not help

Guida contributor