Génération d'images JPEG en spécifiant la qualité avec Python + OpenCV

Les références

Cet article fait référence aux pages suivantes.

1. Préparation des données

Téléchargez à partir du site suivant pour utiliser l'ensemble de données appelé BSDS500.

https://github.com/BIDS/BSDS500 P. Arbelaez, M. Maire, C. Fowlkes and J. Malik, "Contour Detection and Hierarchical Image Segmentation," IEEE TPAMI, Vol. 33, No. 5, pp. 898-916, May 2011.

Seul BSDS500 / data / images est utilisé cette fois, donc seuls les nécessaires sont supprimés. Déplacez les fichiers en test pour vous entraîner.

./data


.
└── BSDS500
    └── images
        ├── train   # train + test = 400 images
        └── val     # val          = 100 images

2. Génération (sauvegarde) d'une image JPEG par OpenCV

Utilisez la fonction imwrite OpenCV.

cv2.imwrite(<save_path>, <img>, [int(cv2.IMWRITE_JPEG_QUALITY), <jpeg_quality>])

** save_path **: chemin de destination, ** img **: image, ** jpeg_quality **: qualité d'image JPEG

3. Échantillon

.
├── create_jpeg_image.py
└── data
    └── BSDS500
        └── images
            ├── train
            │   └── gnd
            └── val
                └── gnd

create_jpeg_image.py


import os
import cv2
import argparse


def save_jpeg_images(src_path, dst_path, q=100):
    file_list = os.listdir(src_path)
    dst_path  = os.path.join(dst_path, 'q{}'.format(q))
    os.makedirs(dst_path, exist_ok=True)

    for file_name in file_list:
        im = cv2.imread(os.path.join(src_path, file_name))
        cv2.imwrite(os.path.join(dst_path, file_name), im, [int(cv2.IMWRITE_JPEG_QUALITY), q])

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--src_path', default='./data/BSDS500/images/val/gnd')
    parser.add_argument('--dst_path', default='./data/BSDS500/images/val')
    parser.add_argument('--q', type=int, default=10)
    args = parser.parse_args()

    save_jpeg_images(args.src_path, args.dst_path, args.q)

c'est tout

Recommended Posts

Génération d'images JPEG en spécifiant la qualité avec Python + OpenCV
[Petite histoire] Tester la génération d'images avec Python / OpenCV
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Trouver la similitude d'image avec Python + OpenCV
Génération d'images dégradées avec Python [1] | np.linspace
Enregistrer la vidéo image par image avec Python OpenCV
Traitement d'image avec Python et OpenCV [Tone Curve]
Acquisition d'images depuis une caméra avec Python + OpenCV
Traitement d'image léger avec Python x OpenCV
J'ai essayé de "lisser" l'image avec Python + OpenCV
Convertir un PDF en image (JPEG / PNG) avec Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
Comment recadrer une image avec Python + OpenCV
J'ai essayé de "binariser" l'image avec Python + OpenCV
Binarisation avec OpenCV / Python
Traitement d'image avec Python
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
Créez diverses vidéos Photoshop avec Python + OpenCV ② Créez une image fixe Photoshop
[Python] Supprimer en spécifiant une balise avec Beautiful Soup
Traitement d'image avec Python (partie 2)
[Python] Utilisation d'OpenCV avec Python (basique)
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Traitement d'image avec Python (partie 1)
Tweet avec image en Python
Traitement d'image avec Python (3)
Détection de visage avec Python + OpenCV
Traitement d'image par python (Pillow)
Génération de légende d'image avec Chainer
Obtenez des fonctionnalités d'image avec OpenCV
Utiliser OpenCV avec Python @Mac
Reconnaissance d'image avec Keras + OpenCV
[Python] Traitement d'image avec scicit-image
[Python] Envoyer gmail avec python: envoyez un par un avec plusieurs fichiers image en pièce jointe
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
Améliorez rapidement la précision de détection en spécifiant les paramètres avec la détection de visage openCV
Coller le png avec le canal alpha comme une image transparente avec Python / OpenCV
Découpez une image d'une vidéo toutes les secondes avec Python + OpenCV
[Python] Lecture facile des fichiers image du numéro de série avec OpenCV
Briller la vie avec Python et OpenCV
Découpez une image avec python
Principes de base du traitement d'image en temps réel avec opencv
Interpolation automatique des images avec OpenCV et Python (méthode de marche rapide, Navier-Stokes)
Réseau neuronal avec OpenCV 3 et Python 3
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Générateur de nombres premiers par Python
Programmation facile Python + OpenCV avec Canopy
Faisons du scraping d'images avec Python
Essayez la reconnaissance faciale avec python + OpenCV
Accélérer la lecture en spécifiant une trame OpenCV
Charger une image gif avec Python + OpenCV
Extraction d'objets dans l'image par correspondance de modèles en utilisant OpenCV avec Python
Générer un mot de passe pour le manuel avec python
Génération de jetons de contre-mesure CSRF avec Python
Essayez de brouiller l'image avec opencv2
Utiliser OpenCV avec Python 3 dans Window
100 traitement d'image par Python Knock # 2 Échelle de gris
Dessinez une illustration avec Python + OpenCV
Introduction à l'analyse d'image opencv python