Convert cv::Mat, IplImage(OpenCV) to Bitmap(allegro)
Ostatnio zmodyfikowano 2012-11-17 13:46
matka5432 Temat założony przez niniejszego użytkownika |
Convert cv::Mat, IplImage(OpenCV) to Bitmap(allegro) » 2012-11-17 12:51:50 Witam, tak jak w temacie. W jaki sposob moge skopiowac cv::Mat lub IplImage z openCV do BITMAP z allegro? Wiem, ze moge zapisac w folderze i odczytac juz z BITMAP, ale to sprawdzilo by sie tylko wtedy, kiedy nie bylo by potrzeby czestego konwertowania, poniewaz jest do powolny proces i duzo balaganu. Szukalem na googlach, ale malo co z tego rozumiem, poniewaz nie jest wiele wytlumaczone, a nie ma calych kodow tylko fragmenty, a jesli znajdzie sie juz funkcja to nie deklaruje metod.
Jeszcze myslalem nad tym, zeby pobrac wszystkie pixele z IplImage albo cv:Mat zapisac do tablicy, a potem pokazac na BITMAPIE, ale niestety nie wiem jak sie pobiera kolory pixelow w OpenCV. Gdyby ktos mi chociaz podal taka funkcje to sobie poradze, na necie tez tego nie moge znalezc. |
|
DejaVu |
» 2012-11-17 13:29:13 |
|
matka5432 Temat założony przez niniejszego użytkownika |
» 2012-11-17 13:46:54 Dzieki Dejavu :D ostatnio szukalem tego kilka godz, ta metoda mi tez jakos nie dzialala, poprostu w miejsce "fee" podstawialam IplImage, a powinno byc Mat, poprobowalem chwile i w koncu sie udalo :D. Moze sie komus przyda: x, y - pozycja pixela :) Vec3b pixel_color = Nazwa_Mat.at < Vec3b >( int x, int y );
cout << pixel_color[ 0 ] << endl; cout << pixel_color[ 1 ] << endl; cout << pixel_color[ 2 ] << endl;
W powyzszym kodzie, beda pokazywane kody ASCI, mozna zapisac pixel_color do int i bedziemy mieli liczbe 0-255: int kolor_red = pixel_color[ 0 ]; int kolor_green = pixel_color[ 1 ]; int kolor_blue = pixel_color[ 2 ];
cout << kolor_red << endl; cout << kolor_green << endl; cout << kolor_blue << endl;
Pozdro :) |
|
« 1 » |