salut merci pour la réponse
j'ai fait quelques modifs sur le code en jouant sur la somme des pixels de chaque ligne pour savoir si c'est une ligne vide ou non..bref c'est bon ça marche maintenant je me bloque su un autre truc ..je veux afficher les différentes images caratères.. je les ai mis dans un tableau d'image mais apparamment manques quelques rectifications..
//console.cpp : Defines the entry point for the console application.
#include "stdafx.h" //si vous avez choisi d'utiliser un en-tête précompilé dans votre projet
#include <cv.h>
#include
#include <cxcore.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
IplImage *img_nvg;
IplImage *img_bin;
IplImage *img_caractere;
int seuil;
int inverser;
// initialisation
IplImage *img=cvLoadImage("Sans titre.bmp");
img_nvg=cvCreateImage(cvGetSize(img), img->depth, 1);
img_bin=cvCloneImage(img_nvg);
//Contrôle de l'origine
int flip=0;
if(img->origin!=IPL_ORIGIN_TL){
flip=CV_CVTIMG_FLIP;
}
cvConvertImage(img, img_nvg, flip);
cvNamedWindow("originale", CV_WINDOW_AUTOSIZE);
cvNamedWindow("binaire", CV_WINDOW_AUTOSIZE);
cvShowImage("originale", img);
//binarisation
seuil=127;
inverser=0;
cvThreshold(img_nvg, img_bin, seuil, 255, CV_THRESH_BINARY);
cvShowImage("binaire", img_bin);
//********************************************************
CvSize size = cvSize(img_bin->width,img_bin->height); // size image
int *tabPixel;
tabPixel = (int *)img->imageData;
IplImage *tabImage;
tabImage = (IplImage *)img->imageData;
for(int i=0; i< size.height;i++) //lecture ligne par ligne
{
tabPixel[i]=0;
for(int j=0; j< size.width;j++) // lecture colonne par colonne
{
CvScalar pixel;
pixel=cvGet2D(img_bin,i,j); //lecture du pixel ligne i colonne j
tabPixel[i]+=(int)pixel.val[0] ;
}
double somPixel= 225*size.width;
if (tabPixel[i]==somPixel)
tabPixel[i]=0;
printf("%d ",tabPixel[i]);
}
int j=0;
int y=0;
int h;
int k=0;
do
{
h=0;
while (tabPixel[j]==0 && j<=size.height)
{
y++;
j++;
}
while (tabPixel[j]!=0 && j<=size.height)
{
h++;
j++;
}
cvSetImageROI(tabImage[k],cvRect(0,y,size.width,h)); // l'erreur est ici !!!!!!!
k++;
}
while (j<= size.height);
//*************************************************
cvWaitKey(0);
cvDestroyWindow( "img" );
cvDestroyWindow( "img_bin" );
cvReleaseImage( &img );
cvReleaseImage( &img_bin );
return 0;
}