hyperion.ng/test/TestImage2LedsMap.cpp
LordGrey 1ae37d151e
Dominant Color support (#1569)
* Dominant Color and Mean Color Squared

* Workaround - Suppress empty LED updates

* Add missing text

* Dominant Colors advanced

* Test with fixed initial colors

* Test with fixed initial colors

* Support new processing values via API

* ImageToLED - Add reduced pixel processing, make dominant color advanced configurable

* Updates on Grabber fps setting

* ImageToLedMap - Remove maptype and update test

* Update dynamic cluster array allocation
2023-02-17 16:02:51 +01:00

46 lines
1.1 KiB
C++

// Utils includes
#include <utils/Image.h>
#include <utils/jsonschema/QJsonFactory.h>
#include <utils/Logger.h>
// Hyperion includes
#include <utils/hyperion.h>
#include <hyperion/ImageToLedsMap.h>
int main()
{
Logger* log = Logger::getInstance("TestImageLedsMap");
Logger::setLogLevel(Logger::DEBUG);
const QString schemaFile = ":/hyperion-schema";
const QString configFile = ":/hyperion_default.config";
QJsonObject config;
if (QJsonFactory::load(schemaFile, configFile, config) < 0)
{
std::cerr << "UNABLE TO LOAD CONFIGURATION" << std::endl;
return -1;
}
const LedString ledString = hyperion::createLedString(config["leds"].toArray(), hyperion::createColorOrder(config["device"].toObject()));
const ColorRgb testColor = {64, 123, 12};
Image<ColorRgb> image(64, 64, testColor);
hyperion::ImageToLedsMap map(log, 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;
}