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

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

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

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

25.02.2013, 21:08. Просмотров 259. Ответов 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++
Начал изучать С++ и тут наткнулся на недопонимание. Операция new резервирует место в куче, необходимое для хранения значения этого...

Указатели.Строки и указатели - C++
Вот условия ввода строки:Вводить и обрабатывать строки в цикле до тех пор пока первый символ не пробел Условия обработки строки: ...

Ох уж эти массивы - C++
Привет, интелегентным людям) помогите, пожалуйста, сделать 3 простых заданий (хотя бы одно из них, кому не лень), каждое делается с...

Эти простые числа... - C++
Программа должна определять является ли число n простым. #include <iostream> #include <conio.h> #include <math.h> #include...

Вновь эти часы - C++
Здравствуйте! вот программа с часами, Подскажите пожалуйста а как сделать чтобы формат времени был 00 00 00? чтобы например при запуске...

Где найти эти книги? - C++
Подскажите где можно найти эти книги? http://www.ozon.ru/context/detail/id/26348781/ http://www.ozon.ru/context/detail/id/25217223/ ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1482 / 1058 / 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
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.02.2013, 21:43     Ох уж эти указатели #4
я так понял нужно получить размер этого буфера (массива). так вот sizeof для этого не подходит. нужно смотреть другие UserAPI функции, которые бы вернули размер буфера. или самостоятельно считать этот размер исходя из размера и формата изображения.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 22:06     Ох уж эти указатели
Еще ссылки по теме:

Как исправить эти ошибки - C++
как исправить ети ошибки Код: #include<iostream.h> #include<conio.h> #include<string.h> #define n 10 struct Krainy { ...

как сделать эти задачи? - C++
Лабораторная 4. Задание: Напишите программу перевода чисел (длиной 8 бит) из одной системы счисления в другую. -Перевод из системы...

Где найти эти библиотеки? - C++
где найти эти библиотеки: SDKDDKVer.h targetver.h resource.h и для чего они нужны ?

Не могу осилить эти задачи - C++
Здравствуйте уважаемые ребята. Срочно требуется помощь в решении ниже указанных задач. Почему я сам не решаю их? - Есть причина ребят,...


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

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

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