Discussione: [c,opencv]
View Single Post
Old 14-02-2011, 19:42   #1
titanum
Member
 
Iscritto dal: Oct 2008
Messaggi: 79
[c,opencv]

Ciao a tutti, ho da poco scoperto questa libreria grafica e ho cominciato a darle un'occhiata. Ho scritto questo codice per calcolare l'istogramma di un'immagine in bianco e nero e poi stampare il valore minimo e quello massimo, ma non funziona, precisamente si blocca dopo aver creato l'istogramma (viene visualizzata la frase istogramma creato ma non la frase istogramma calcolato) qualcuno pių esperto sa dirmi dove sbaglio? Grazie

[
Codice:
#include <cv.h>
#include <highgui.h>
#include <math.h>


#include "common.h"
#include "irisSegmentation.h"
#include "featureExtraction.h"


int		verboseLevel=65535;
float   weight[3]={0,0,1};
int     w,bucketNumber=40;
int     compDim=150;
char    separator[2];
int     enhanceStep=8;
int     resizeDim=600;
int		numThread=2;
float	sat=0;

int main(int argc,char *argv[])
{
	IplImage *img = NULL;
	IplImage *ir1 = NULL;
	CvRect r1;
	img=cvLoadImage(argv[1], 1);
	int h_bins = 30, s_bins = 32;

	IplImage* hsv = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U, 3 );
	cvCvtColor( img, hsv, CV_BGR2HSV );
		
	CvHistogram* hist;
	int hist_size[] = { h_bins, s_bins };
	float s_ranges[] = { 0, 255 };
	float* ranges[] = {s_ranges };
	hist = cvCreateHist( 1, hist_size, CV_HIST_ARRAY, ranges, 1 );
	printf("istogramma creato");
	cvCalcHist( hsv, hist, 0, 0 );
	printf("istogramma calcolato");
	float max_value = 0;
	float min_value=0;
	cvGetMinMaxHistValue( hist, &min_value, &max_value, 0, 0 );
	printf("valori: %f %f",min_value, max_value);
	cvWaitKey(0);
}
titanum č offline   Rispondi citando il messaggio o parte di esso