


La route vers la croissance d'OpenCV (3) : imiter l'outil baguette magique dans PhotoShop
Le sujet de cet article est en fait la conversion de l'espace colorimétrique de l'image. À l'aide d'un programme de sélection de couleurs, l'utilisation de la fonction de conversion des couleurs dans OpenCV et certaines précautions sont expliquées.
1. Plusieurs espaces colorimétriques courants :
Espace colorimétrique RVB : RVB utilise la méthode de mélange additif des couleurs, car il décrit le rapport des différentes « lumières » pour produire des couleurs. Dès l’obscurité, la lumière se superpose continuellement pour produire de la couleur. RVB décrit les valeurs de la lumière rouge, verte et bleue. Le stockage d'images numériques utilise généralement le mode RVB. Il convient de noter que l'ordre de stockage des trois canaux dans OpenCV est BGR.
HSV, HSI : Ces deux formats de couleurs sont définis en fonction de la distinction faite par l'œil humain entre les couleurs, où H (teinte) représente la teinte, S (saturation) représente la saturation et V (valeur) représente la luminosité, I ( intensité) représente la luminosité.
Espace Lab : Les changements uniformes dans le modèle correspondent à des changements uniformes dans la couleur perçue, nous pouvons donc imaginer Lab comme un point dans l'espace colorimétrique. Plus les points adjacents sont proches, plus ils sont proches les uns des autres. Plus l'espace du laboratoire est proche, plus il est souvent utilisé pour mesurer la similitude de deux couleurs.
Pour plus d'informations sur l'espace colorimétrique, veuillez vous référer à : http://en.wikipedia.org/wiki/Color_space
2 Conversion de l'espace colorimétrique dans OpenCV
Dans. OpenCV La conversion des couleurs de l'image s'effectue via la fonction cvtColor. cvtColor est définie dans le fichier d'en-tête opencv2/imgproc/imgproc.hpp. Son interface C est la suivante :
void cvtColor. ( InputArray src, OutputArray dst, int code, int dstCn=0 )
src : image d'entrée.
dst : Image de sortie.
code : Type de conversion de couleur, tel que : CV_BGR2Lab, CV_BGR2HSV, CV_HSV2BGR, CV_BGR2RGB.
dstCn : Le numéro de canal de l'image de sortie. Si la valeur par défaut est 0, cela signifie le nombre de canaux de l'image d'entrée.
Convertir l'image de BGR en Lab : cvtColor(image,image,CV_BGR2Lab)
3. Programme de baguette magique simple
Nous définissons d'abord une classe colorDetect :
class colorDetect{private: int minDist; //minium acceptable distance Vec3b target;//target color; Mat result; //the resultpublic: colorDetect(); void SetMinDistance(int dist); void SetTargetColor(uchar red,uchar green,uchar blue); void SetTargetColor(Vec3b color); //set the target color Mat process(const Mat& image); //main process};
Mat colorDetect::process(const Mat& image) { Mat ImageLab=image.clone(); result.create(image.rows,image.cols,CV_8U); //将image转换为Lab格式存储在ImageLab中 cvtColor(image,ImageLab,CV_BGR2Lab); //将目标颜色由BGR转换为Lab Mat temp(1,1,CV_8UC3); temp.at<Vec3b>(0,0)=target;//创建了一张1*1的临时图像并用目标颜色填充 cvtColor(temp,temp,CV_BGR2Lab); target=temp.at<Vec3b>(0,0);//再从临时图像的Lab格式中取出目标颜色 // 创建处理用的迭代器 Mat_<Vec3b>::iterator it=ImageLab.begin<Vec3b>(); Mat_<Vec3b>::iterator itend=ImageLab.end<Vec3b>(); Mat_<uchar>::iterator itout=result.begin<uchar>(); while(it!=itend) { //两个颜色值之间距离的计算 int dist=static_cast<int>(norm<int,3>(Vec3i((*it)[0]-target[0], (*it)[1]-target[1],(*it)[2]-target[2]))); if(dist<minDist) (*itout)=255; else (*itout)=0; it++; itout++; } return result; }
cdet.SetMinDistance(50);

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'article détaille à l'aide de Photoshop pour les graphiques des médias sociaux, couvrant la configuration, les outils de conception et les techniques d'optimisation. Il met l'accent sur l'efficacité et la qualité de la création graphique.

L'article discute de l'optimisation des images pour le Web à l'aide de Photoshop, en se concentrant sur la taille et la résolution des fichiers. Le principal problème est d'équilibrer la qualité et les temps de chargement.

Les problèmes de «chargement» PS sont causés par des problèmes d'accès aux ressources ou de traitement: la vitesse de lecture du disque dur est lente ou mauvaise: utilisez Crystaldiskinfo pour vérifier la santé du disque dur et remplacer le disque dur problématique. Mémoire insuffisante: améliorez la mémoire pour répondre aux besoins de PS pour les images à haute résolution et le traitement complexe de couche. Les pilotes de la carte graphique sont obsolètes ou corrompues: mettez à jour les pilotes pour optimiser la communication entre le PS et la carte graphique. Les chemins de fichier sont trop longs ou les noms de fichiers ont des caractères spéciaux: utilisez des chemins courts et évitez les caractères spéciaux. Problème du PS: réinstaller ou réparer le programme d'installation PS.

Questions et solutions fréquemment posées lors de l'exportation de PS en PDF: Problèmes d'intégration de la police: vérifiez l'option "Font", sélectionnez "intégrer" ou convertissez la police en courbe (chemin). Problème de déviation de couleur: convertir le fichier en mode CMYK et ajuster la couleur; L'exporter directement avec RVB nécessite une préparation psychologique pour l'aperçu et l'écart des couleurs. Problèmes de résolution et de taille des fichiers: choisissez la résolution en fonction des conditions réelles ou utilisez l'option de compression pour optimiser la taille du fichier. Problème d'effets spéciaux: fusionnez (aplatir) les couches avant de l'exportation, ou pesez les avantages et les inconvénients.

L'article guide la préparation d'images à l'impression dans Photoshop, en se concentrant sur la résolution, les profils de couleurs et la netteté. Il fait valoir que les profils de 300 PPI et CMYK sont essentiels pour les impressions de qualité.

L'article explique comment utiliser Photoshop pour l'édition vidéo, détaillant les étapes pour importer, modifier et exporter des vidéos et mettre en évidence les fonctionnalités clés telles que le panneau de chronologie, les couches vidéo et les effets.

L'article discute de la création et de l'optimisation des GIF animés dans Photoshop, y compris l'ajout de trames aux GIF existants. L'accent principal est de l'équilibre entre la qualité et la taille du fichier.

Exporter PDF protégé par mot de passe dans Photoshop: ouvrez le fichier image. Cliquez sur "Fichier" & gt; "Export" & gt; "Exporter en PDF". Définissez l'option "Sécurité" et entrez le même mot de passe deux fois. Cliquez sur "Exporter" pour générer un fichier PDF.
