[C++] VS 2008. Kompilator nie przypisuje wartości do zmiennej.

0

Witam,
problem jak w temacie. Mam przeczucie, że wina leży w ustawieniach projektu (optymalizacja kodu) ale nie wiem które to mogą być.

CvRect * temp = (CvRect*) cvGetSeqElem(faces,0);//Get first face

		int tempArea  = (temp->height * temp->width);// ta wartość poprawnie jest liczona

                /* tu zmienna scaleFactor ZAWSZE przyjmuje wartość 0 mimo że liczenie na piechotę daje wynik w zakresie 0-1*/
		float scaleFactor = tempArea / tempImgArea;// dzielenie na liczbach całkowitych oczywiście >0

							head.factorHeight = temp->height * scaleFactor;
							head.factorWidth = temp->width * scaleFactor;
							head.factorX = temp->x * scaleFactor;
							head.factorY = temp->y * scaleFactor;

0

dzielenie na liczbach całkowitych? int/int = int!
1/2 = 0 (i 1 reszty)
Jeśli chcesz dzielić zmiennoprzecinkowo to musisz tam coś rzutować na floata np.

float scaleFactor = float(tempArea) / tempImgArea
0

Pomogło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1