Código fuente basado en opencv
IplImage * pFrame = NULL
IplImage * pFrImg = NULL
IplImage * pBkImg = NULL
CvMat * pFrameMat = NULL
CvMat * pFrMat = NULL
CvMat * pBkMat = NULL
pbk img = cvCreateImage(cvSize(p marco-& gt; ancho, p marco->alto),IPL_DEPTH_8U,1);
PFR img = cvCreateImage(cvSize(p marco->ancho, p marco->alto),IPL_DEPTH_8U,1);
pbk mat = cvCreateMat(p marco-> alto, marco-> ancho, CV_32fc 1);
PFR mat = cvCreateMat(pFrame->alto, marco->ancho, CV_32fc 1);
pFrameMat = cvCreateMat(pFrame->Alto, Marco->Ancho, CV_32fc 1);
//Convertir a imagen de un solo canal para reprocesar.
cvCvtColor(pFrame, pBkImg, CV _ bgr 2 gris
cvCvtColor(pFrame, pFrImg, CV _ bgr 2 gris); , pFrameMat);
cv convert(PFR mg, PFR mat);
cvConvert(pFrImg, pbk mat);
//Imagen binaria de primer plano< / p>
cvThreshold(pFrMat, pFrImg, 60, 255.0, CV _ THRESH _ BINARY);
No estoy seguro de lo que quieres decir, pero si quieres binarizar una imagen con OpenCV, claro está.
void cvThreshold( const CvArr* src, CvArr* dst, double umbral,
double max_value, int umbral _ tipo
Esta función es fija; umbral El proceso de binarización es relativamente complicado. Además, se puede utilizar un umbral adaptativo para la binarización, que sería más detallada que esto.