Skocz do zawartości

C++ i OpenCV: przekazanie do funkcji wskaźnika na obiekt cv::Mat


kasztanowy_jim

Polecane posty

Witam,

Na wstępie: używam OpenCV 2.1 i Microsoft Visual 2010 Express pod Win7 x64. W programie występuje mi przeładowanie pamięci, wydaje mi się ze powoduje je przekazywanie w argumencie obiektu cv::Mat ze zdjęciem. Funkcja wywołuje się rekurencyjnie kilka tysięcy razy i działa wiele jej wywołań jednocześnie, dlatego podejrzewam iż to jest przyczyną problemu.

 

Nagłówek funkcji wygląda tak:

void PrzyporzadkujPixel( const Mat& obraz, int pixel_x, int pixel_y)

I mam sobie jakiś tam obiekt Mat, do niego wczytany obrazek, więc wywołanie jest takie:

 PrzyporzadkujPixel(zdjecie,2,2);

 

I teraz moja nieudana próba skorzystania ze wskaźnika do tego zdjęcia:

void PrzyporzadkujPixel(  Mat* obraz, int pixel_x, int pixel_y)

i wskaźnik próbuje utworzyć tak:

Mat wskaznik = &zdjecie;

I niestety, przy tym poleceniu builder wywala:

initializing' : cannot convert from 'cv::Mat' to 'cv::Mat *'

No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

 

Będę ogromnie wdzięczny, jeśli ktoś naprowadzi mnie jak przekazać obiekt Mat jako wskaźnik do funkcji. Dodam, że w samej funkcji obiekt ten jest mi potrzebny do odczytywania wartości kolejnych pixeli.

 

Proszę o pomoc.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...