0

J'ai écrit du code qui retournera les contours de l'image réelle. Je voudrais accéder à chaque contour, faire une manipulation d'image au niveau du pixel et réécrire à l'image.Comment accéder aux pixels à l'intérieur de la zone de contour et réécrire l'image originale en utilisant opencv dans android

Existe-t-il un moyen d'accéder individuellement à la zone de contour et de parcourir sur chaque pixel de la région et de réécrire sur l'image.

 Rect rect = Imgproc.boundingRect(matOfPoint); 
     Mat roiBox = rgbaMatrix.submat(rect) 

Ceci renvoie une sous-matrice qui contient également les pixels qui ne font pas partie du contour.

Please follow this link to see the screenshot of contour detections

+0

je pense que le plus simple est de créer un masque en dessinant vos contours sous forme de polygones blancs remplis sur une nouvelle image noire. –

Répondre

0

Je trouve d'une manière qui aura toujours le contexte de la matrice principale, comme @AlexanderReynolds suggère de masquage est le seul moyen d'extraire la région exacte.

Rect rect = Imgproc.boundingRect(matOfPoint); 
Mat subMat = new Mat(mRgba,rect); 
Mat zeroMat = Mat.zeros(subMat.size(),subMat.type()); 
zeroMat.copyTo(subMat); 

Cette copie la matrice zéro à la matrice d'origine