forked from hyperion-project/hyperion
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestImage2LedsMap.cpp
More file actions
44 lines (32 loc) · 1013 Bytes
/
TestImage2LedsMap.cpp
File metadata and controls
44 lines (32 loc) · 1013 Bytes
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
// Utils includes
#include <utils/Image.h>
#include <utils/jsonschema/JsonFactory.h>
// Hyperion includes
#include <hyperion/Hyperion.h>
#include <hyperion/ImageToLedsMap.h>
using namespace hyperion;
int main()
{
std::string homeDir = getenv("RASPILIGHT_HOME");
const std::string schemaFile = homeDir + "/hyperion.schema.json";
const std::string configFile = homeDir + "/hyperion.config.json";
Json::Value config;
if (JsonFactory::load(schemaFile, configFile, config) < 0)
{
std::cerr << "UNABLE TO LOAD CONFIGURATION" << std::endl;
return -1;
}
const LedString ledString = Hyperion::createLedString(config["leds"]);
const ColorRgb testColor = {64, 123, 12};
Image<ColorRgb> image(64, 64, testColor);
ImageToLedsMap map(64, 64, 0, 0, ledString.leds());
std::vector<ColorRgb> ledColors(ledString.leds().size());
map.getMeanLedColor(image, ledColors);
std::cout << "[";
for (const ColorRgb & color : ledColors)
{
std::cout << color;
}
std::cout << "]" << std::endl;
return 0;
}