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
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.
AFAPI array histogram(const array &in, const unsigned nbins, const double minval, const double maxval)
C++ Interface for histogram.
AFAPI array loadImage(const char *filename, const bool is_color=false)
C++ Interface for loading an image.
static af::array array(af::dim4 idims, cl_mem buf, af::dtype type, bool retain=false)
Create an af::array object from an OpenCL cl_mem buffer.
Definition: opencl.h:327
Definition: algorithm.h:15