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

Получить значения из картинки не создавая ее с библиотекой libnoise - C++

Восстановить пароль Регистрация
 
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,080
16.06.2013, 23:26     Получить значения из картинки не создавая ее с библиотекой libnoise #1
Здравствуйте! имеется код:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <noise/noise.h>
#include "noiseutils.h"
 
 
using namespace noise;
 
int main (int argc, char** argv)
{
 
  module::Perlin myModule;
  myModule.SetOctaveCount (7);
  myModule.SetFrequency (0.5);
 
  utils::NoiseMap heightMap;
  utils::NoiseMapBuilderPlane heightMapBuilder;
  heightMapBuilder.SetSourceModule (myModule);
  heightMapBuilder.SetDestNoiseMap (heightMap);
  heightMapBuilder.SetDestSize (256, 256);
  heightMapBuilder.SetBounds (2.0, 6.0, 1.0, 5.0);
  heightMapBuilder.Build ();
 
  utils::RendererImage renderer;
  utils::Image image;
  renderer.SetSourceNoiseMap (heightMap);
  renderer.SetDestImage (image);
  renderer.Render ();
 
  utils::WriterBMP writer;
  writer.SetSourceImage (image);
  writer.SetDestFilename ("tutorial.bmp");
  writer.WriteDestFile ();
 
 
  double value = myModule.GetValue (1.25, 0.75, 0.50);
 
  int tt;
  std::cin >> tt;
  return 0;
}
 
 
//в следующем примере берутся значения из картинки
    error = fopen_s(&filePtr, filename, "rb");
    count = fread(&bitmapFileHeader, sizeof(BITMAPFILEHEADER), 1, filePtr);
    count = fread(&bitmapInfoHeader, sizeof(BITMAPINFOHEADER), 1, filePtr);
    if(count != 1)
    {
        return false;
    }
 
    width = bitmapInfoHeader.biWidth;
    height = bitmapInfoHeader.biHeight;
 
    imageSize = width * height * 3;
 
    bitmapImage = new unsigned char[imageSize];
    fseek(filePtr, bitmapFileHeader.bfOffBits, SEEK_SET);
 
    count = fread(bitmapImage, 1, imageSize, filePtr);
 
    error = fclose(filePtr);
 
    float heightMap[width * height];
 
    k=0;
 
    for(j=0; j<height; j++)
    {
        for(i=0; i<width; i++)
        {
            index = (height * j) + i;
                        heightMap = bitmapImage[k];
 
            k+=3;
        }
    }
 
    delete [] bitmapImage;
    bitmapImage = 0;
Вопрос такой, как можно получить такие же значения которые получаются сейчас, только функцией myModule.GetValue.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 23:26     Получить значения из картинки не создавая ее с библиотекой libnoise
Посмотрите здесь:

C++ Повернуть матрицу на 180 градусов против часовой стрелки, не создавая дополнительных массивов
C++ Удалить ненужную информацию в конце файла, не создавая другой файл
Получить для х=1,2,3 значения р(х+2)р(х+1), где р(у)=а0*у^2+a1*y^5+..+a6 C++
C++ получить из массива нечетные значения
VisualStudio 2012: в отладчике невозможно получить значения переменных C++
Провести слияние двух массивов по возрастанию, создавая третий массив C++
C++ Не создавая дополнительные массивы, определить какой из элементов потовторяется в последовательсности А1,А2,...Аn., наибольшее число раз
C++ Как, создавая указатели, поместить их в уже выделенную динамическую память?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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