Comment remplir l'image OpenCV avec une couleur unie?Comment remplir l'image OpenCV avec une couleur unie?
Répondre
En utilisant l'API OpenCV C avec IplImage* img
:
Utilisation cvSet(): cvSet(img, CV_RGB(redVal,greenVal,blueVal));
En utilisant l'API OpenCV C++ avec cv::Mat img
, utilisez alors:
cv::Mat::operator=(const Scalar& s)
comme dans:
img = cv::Scalar(redVal,greenVal,blueVal);
ou the more general, mask supporting, cv::Mat::setTo()
:
img.setTo(cv::Scalar(redVal,greenVal,blueVal));
Devrait ce soit rouge, vert, bleu OU bleu, vert, rouge? N'est-ce pas bleu, vert, rouge en opencv? –
C'est bleu, vert, rouge. Confrmed – TheUnexpected
En fait, OpenCV est agnostique d'ordre de canal. Vous avez raison de dire que l'ordre des canaux le plus courant (sur PC) est 'BGR', bien que cela ne soit pas très pertinent pour cette réponse. Il incombe généralement à l'utilisateur de suivre l'ordre des chaînes. –
Le plus simple en utilisant la classe OpenCV Mat:
img=cv::Scalar(blue_value, green_value, red_value);
où img
a été défini comme un cv::Mat
.
Voici comment faire avec CV2 en Python:
# Create a blank 300x300 black image
image = np.zeros((300, 300, 3), np.uint8)
# Fill image with red color(set each pixel to red)
image[:] = (0, 0, 255)
est ici exemple plus complet comment créer une nouvelle image vide remplie d'une certaine couleur RVB
import cv2
import numpy as np
def create_blank(width, height, rgb_color=(0, 0, 0)):
"""Create new image(numpy array) filled with certain color in RGB"""
# Create black blank image
image = np.zeros((height, width, 3), np.uint8)
# Since OpenCV uses BGR, convert the color first
color = tuple(reversed(rgb_color))
# Fill image with color
image[:] = color
return image
# Create new blank 300x300 red image
width, height = 300, 300
red = (255, 0, 0)
image = create_blank(width, height, rgb_color=red)
cv2.imwrite('red.jpg', image)
Pour un 8 bits (CV_8U) L'image OpenCV, la syntaxe est:
Mat img(Mat(nHeight, nWidth, CV_8U);
img = cv::Scalar(50); // or the desired uint8_t value from 0-255
Si vous utilisez Java pour OpenCV, alors vous pouvez utiliser le code de llowing.
Mat img = src.clone(); //Clone from the original image
img.setTo(new Scalar(255,255,255)); //This sets the whole image to white, it is R,G,B value
Insérer un nouvel 640x480 image et de le remplir avec du violet (rouge + bleu):
cv::Mat mat(480, 640, CV_8UC3, cv::Scalar(255,0,255));
Note:
- hauteur avant largeur CV_8UC3 de type
- signifie 8 bits non signé int, 3 canaux
- le format de couleur est BGR
- 1. Comment remplir un polygone actionscript 3 avec une couleur unie?
- 2. Couleur unie UISearchBar
- 3. WPF: Couleur unie ImageSource
- 4. Comment appliquer une couleur unie à un UISearchBar
- 5. Android - Remplir bitmap avec couleur
- 6. Comment remplir une couleur sur un triangle
- 7. Utilisation de l'alpha à partir de la texture pour dessiner une couleur unie
- 8. Comment remplir l'objet bitmap avec la couleur dans Android
- 9. Comment remplir un chemin avec un dégradé dans drawRect :?
- 10. iphone - Remplir la couleur dans l'image fermée
- 11. Comment puis-je remplir un rectangle avec une valeur de couleur hexadécimale?
- 12. Comment remplir un rect avec une couleur alpha en utilisant CoreGraphics?
- 13. Recadrer l'image avec OpenCV
- 14. Modifier les pixels à remplir avec une couleur dans une image WPF
- 15. Comment détecter un onglet inactif et le remplir de couleur
- 16. traitement vidéo avec opencv
- 17. Redimensionner une image et remplir des espaces de proportions avec une couleur
- 18. XFillPolygon: Transpent remplir avec une pixmap?
- 19. Comment remplir la couleur du dégradé dans JFreeChart PieChart3D?
- 20. Possibilité de remplir une cellule de table avec une couleur bg?
- 21. Comportement étrange avec OpenCV
- 22. jQuery 1.4.2 montre couleur unie dans IE au lieu de respecter l'opacité
- 23. Comment remplir une table?
- 24. OpenCV - VideoWriter produit une vidéo avec une image "répétée"
- 25. OpenCV: Récupère la couleur, l'intensité et la texture d'une image
- 26. Comment convertir une espace couleur avec .NET?
- 27. OpenCV: comment remplir l'image RGB ayant des valeurs pour chacune des couleurs RVB pour chaque pixel?
- 28. Comment remplir ou remplir une colonne de zéros avec une requête MySQL?
- 29. Comment remplir dynamiquement une annotation
- 30. Comment isoler une seule couleur dans une image
Dupe http://stackoverflow.com/questions/4329419/how-to-create-opencv-image-of-certain-rgb-color-and-get-that-color-name/4329822#4329822 –