Sto facendo la manipolazione delle immagini sulle immagini png. Ho il seguente problema. Dopo aver salvato un'immagine con la funzione imwrite(), la dimensione dell'immagine aumenta. Ad esempio, l'immagine precedente è 847KB, dopo averla salvata diventa 1,20 MB. Ecco un codice. Ho appena letto un'immagine e poi la salvo, ma la dimensione è aumentata. Ho provato a impostare i parametri di compressione ma non aiuta.OpenCV imwrite aumenta la dimensione dell'immagine png
Mat image;
image = imread("5.png", -1);
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(9);
compression_params.push_back(0);
imwrite("output.png",image,compression_params);
Quale potrebbe essere un problema? Qualsiasi aiuto per favore. Grazie.
Ho lo stesso problema e penso dipenda dalle librerie usate per comprimere l'immagine originale e la libreria png usata da OpenCV. –
che cosa è -1 in imread? Perché non usi semplicemente imread ("5.png")? –
quando si imposta il secondo parametro su -1, imread leggerà l'immagine trasparente png, altrimenti non restituirà il canale alfa dell'immagine png – Karmar