A high-performance general-purpose compute library
graphics/histogram.cpp
/*******************************************************
* Copyright (c) 2014, ArrayFire
* All rights reserved.
*
* This file is distributed under 3-clause BSD license.
* The complete license agreement can be obtained at:
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
#include <arrayfire.h>
#include <math.h>
#include <cstdio>
using namespace af;
int main(int, char**) {
try {
// Initialize the kernel array just once
af::Window myWindow(512, 512, "Histogram example using ArrayFire");
af::Window imgWnd(480, 640, "Input Image");
array img = loadImage(ASSETS_DIR "/examples/images/arrow.jpg", false);
array hist_out = histogram(img, 256, 0, 255);
myWindow.setAxesTitles("Bins", "Frequency");
myWindow.setPos(480, 0);
while (!myWindow.close() && !imgWnd.close()) {
myWindow.hist(hist_out, 0, 255);
imgWnd.image(img.as(u8));
}
}
catch (af::exception& e) {
fprintf(stderr, "%s\n", e.what());
throw;
}
return 0;
}
Window object to render af::arrays.
Definition graphics.h:37
A multi dimensional data container.
Definition array.h:37
const array as(dtype type) const
Casts the array into another data type.
An ArrayFire exception class.
Definition exception.h:22
virtual const char * what() const
Returns an error message for the exception in a string format.
Definition exception.h:46
@ u8
8-bit unsigned integral values
Definition defines.h:218
AFAPI void info()
void image(const array &in, const char *title=NULL)
Renders the input array as an image to the window.
void hist(const array &X, const double minval, const double maxval, const char *const title=NULL)
Renders the input array as a histogram to the window.
bool close()
Check if window is marked for close.
void setPos(const unsigned x, const unsigned y)
Set the start position where the window will appear.
void setAxesTitles(const char *const xtitle="X-Axis", const char *const ytitle="Y-Axis", const char *const ztitle=NULL)
Setup the axes titles for a plot/surface/vector field.
Definition algorithm.h:15