Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zhrk
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 6
#1

Ох уж эти указатели - C++

25.02.2013, 21:08. Просмотров 254. Ответов 4
Метки нет (Все метки)

Есть С++ библиотека
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    int CCDTitanFUnctions::GetFrame(float exduration)
    {
        if (hCam == NULL)
            return 1;
 
        // Don't switch amplifier off for short exposures
        //ArtemisSetAmplifierSwitched(hCam, exduration>2.5f);
 
        // Start the exposure
        Start = ArtemisStartExposure(hCam, exduration*0.001f);
 
        // Wait until it's ready, or ESC is pressed.
        // A more polished app would not use this method!
        while(!ArtemisImageReady(hCam))
        {
            if (GetAsyncKeyState(VK_ESCAPE)&0x8000)
            {
                ArtemisAbortExposure(hCam);
                return 2;
            }
            Sleep(100);
        }
 
        int x,y,wid,hgt,binx,biny;
        ArtemisGetImageData(hCam, &x, &y, &wid, &hgt, &binx, &biny);
        x_out = x; y_out = y; w_out = wid; h_out = hgt;
 
        [B][I][U]unsigned short* pimg = (unsigned short*)ArtemisImageBuffer(hCam);[/U][/I][/B]
 
        lenght = sizeof(pimg);
        return 3;
    }
Должна в pimg запихувать массив изображения с камеры, но как я не долбаюсь длинна pimg = 4 и все.... до этого все этапы инициализации и всего остального камера работают четко... как тут быть и чего дальше делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2013, 21:08     Ох уж эти указатели
Посмотрите здесь:

Эти простые числа... C++
C++ Вновь эти часы
C++ как сделать эти задания?
Ах, эти указатели C++
Ох уж эти массивы C++
Как записать эти формулы? C++
C++ как работают эти 4 функции
C++ Не могу осилить эти задачи
C++ Где найти эти библиотеки?
Как записать эти формулы? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.02.2013, 21:25     Ох уж эти указатели #2
pimg - это указатель. sizeof(pimg) всегда равен 4 в 32 битных системах и 8 - в 64 битных и ничего вы с этим не сделаете. наверно вместо lenght = sizeof(pimg); нужно сделать что-нибудь другое. если это указатель на длину,
то length = *pimg; если указатель на что-то другое - то нужно что-то другое делать.
zhrk
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 6
25.02.2013, 21:39  [ТС]     Ох уж эти указатели #3
Цитата Сообщение от DU Посмотреть сообщение
pimg - это указатель. sizeof(pimg) всегда равен 4 в 32 битных системах и 8 - в 64 битных и ничего вы с этим не сделаете. наверно вместо lenght = sizeof(pimg); нужно сделать что-нибудь другое. если это указатель на длину,
то length = *pimg; если указатель на что-то другое - то нужно что-то другое делать.
ага....
это указатель на массив
// Return pointer to internal image buffer (actually unsigned shorts)
extern void* ArtemisImageBuffer(ArtemisHandle hCam);

так вот оно описано в UserAPI

идея - по этому указателю выковырять массив...
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.02.2013, 21:43     Ох уж эти указатели #4
я так понял нужно получить размер этого буфера (массива). так вот sizeof для этого не подходит. нужно смотреть другие UserAPI функции, которые бы вернули размер буфера. или самостоятельно считать этот размер исходя из размера и формата изображения.
zhrk
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 6
25.02.2013, 22:06  [ТС]     Ох уж эти указатели #5
Цитата Сообщение от DU Посмотреть сообщение
я так понял нужно получить размер этого буфера (массива). так вот sizeof для этого не подходит. нужно смотреть другие UserAPI функции, которые бы вернули размер буфера. или самостоятельно считать этот размер исходя из размера и формата изображения.
Ну реальные значения получаются внутри ф-ции... вот как бы этот массив выковырять наружу... а еще лучше для C#
Yandex
Объявления
25.02.2013, 22:06     Ох уж эти указатели
Ответ Создать тему
Опции темы

Текущее время: 18:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru