Comment puis-je obtenir et définir les valeurs des pixels d'une EmguCV Tapis d'image?

Je suis en utilisant le EmguCV 3.0.0 wrapper pour la OpenCV 3.0 bibliothèque. Je suis à l'aide de la Mat classe dans quelques endroits. Voici un exemple d'un canal unique, 8x8 image de double valeurs:

Mat image = new Mat(8, 8, DepthType.Cv64F, 1);

La Image<> classe fournit moyens raisonnables pour l'obtention et définition des valeurs de pixel, et la méthode est identique pour les de la Matrice<> classe, mais il ne semble pas aussi évident pour le Mat classe. Le seul moyen que j'ai compris comment le jeu pixel est à l'aide d'un masque:

//set two pixel values, (0,0) to 9.0, (2, 3) to 42.0

Matrix<byte> mask = new Matrix<byte>(8,8);
mask.Data[0, 0] = 1;
image.SetTo(new MCvScalar(9.0), mask);

mask = new Matrix<byte>(8,8);
mask.Data[2, 3] = 1;
image.SetTo(new MCvScalar(42.0), mask);

C'est se sent comme il devrait être de deux lignes, pas six, alors que j'ai l'impression de manquer quelque chose. Les choses deviennent encore plus compliquées lorsque l' Mat est plus qu'un seul canal, parce que Matrix<> est seulement en 2D, de sorte que le masque doit être utilisé pour définir le pixel sur chaque canal.

Je ne peut pas se permettre de mémoire et de temps pour définir les pixels de cette façon. Comment puis-je définir des pixels avec un seul appel de méthode?

image[0,0]=9; devrait le faire
C'est ce que j'attendais. Mais ça ne fonctionne pas. Voici l'erreur: "Ne peut pas appliquer l'indexation [] à une expression du type" Emgu.CV.Mat'"

OriginalL'auteur kdbanman | 2015-08-27