A high-performance general-purpose compute library

- Main Page
- Tutorials
- Release Notes
- Examples

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::info();
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;
}
arrayfire.h
af::Window
Window object to render af::arrays.
Definition graphics.h:37
af::array
A multi dimensional data container.
Definition array.h:37
af::array::as
const array as(dtype type) const
Casts the array into another data type.
af::exception
An ArrayFire exception class.
Definition exception.h:22
af::exception::what
virtual const char * what() const
Returns an error message for the exception in a string format.
Definition exception.h:46
u8
@ u8
8-bit unsigned integral values
Definition defines.h:218
af::info
AFAPI void info()
af::Window::image
void image(const array &in, const char *title=NULL)
Renders the input array as an image to the window.
af::Window::hist
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.
af::Window::close
bool close()
Check if window is marked for close.
af::Window::setPos
void setPos(const unsigned x, const unsigned y)
Set the start position where the window will appear.
af::Window::setAxesTitles
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.
af
Definition algorithm.h:15