OpenCV bitwise_and + masque
J'ai ce masque :
Disons que je voudrais faire un bitwise_and avec une autre image pour remplir le blanc cela fonctionne:
cv::bitwise_and(srcImage, mask, dstImage, [mask???]);
Maintenant, l'image qui en résulte donne quelque chose comme ceci :
Cela est bel et bon, mais je tiens à soustraire le noir du résultat. J'ai vu que bitwise_and accepte également une 8-bits de canal unique de l'image, je ne suis pas exactement sûr de ce qu'il fait. Je suppose que si c'est 0, alors il laissé passer sinon elle l'ignore.
Alors, comment dois-je utiliser le même masque pour le convertir en une image 8 bits et l'utiliser pour enlever le noir de la suite? J'aimerais la même image, mais sans la bordure noire essentiellement.
Vous devez vous connecter pour publier un commentaire.
La solution est assez simple. Depuis que je ne savais pas beaucoup sur la bibliothèque openCV, je n'étais pas à l'aide de la fonction correcte de la tâche. Je ne suis pas encore certain de certain de savoir pourquoi l'application s'est écrasé lors du passage d'un masque à l'bitwise_and méthode bien que.
Essentiellement tout ce que vous avez à faire est la suivante :
Cela va copier l'image à l'heure d'été et à même de gérer les détails du mat afin de donner les mêmes propriétés que l '"image". Juste assurez-vous que le masque soit un 8-bit de canal unique de l'image. De cette façon, lorsque vous appelez la méthode uniquement les pixels passer le masque sera copié à l'heure d'été.
Voici la doc lien pour plus d'informations:copyTo
il suffit de créer une nouvelle zone de travail plus grande que la fox_image
alors utiliser le “ET” méthode
ou, vous pouvez traduire la partie noire de la première image en blanc: 0 ---255
ensuite, le problème serait résolu.