5 #include <visp3/core/vpConfig.h>
6 #include <visp3/core/vpImage.h>
7 #include <visp3/gui/vpDisplayGDI.h>
8 #include <visp3/gui/vpDisplayOpenCV.h>
9 #include <visp3/gui/vpDisplayX.h>
10 #include <visp3/io/vpImageIo.h>
12 #if defined(VISP_HAVE_MODULE_IMGPROC)
14 #include <visp3/imgproc/vpImgproc.h>
18 int main(
int argc,
const char **argv)
21 #if defined(VISP_HAVE_MODULE_IMGPROC) && (defined(VISP_HAVE_X11) || defined(VISP_HAVE_GDI) || defined(VISP_HAVE_OPENCV))
24 #ifdef ENABLE_VISP_NAMESPACE
28 std::string input_filename =
"img.pgm";
31 for (
int i = 1; i < argc; i++) {
32 if (std::string(argv[i]) ==
"--input" && i + 1 < argc) {
33 input_filename = std::string(argv[i + 1]);
35 else if (std::string(argv[i]) ==
"--connexity" && i + 1 < argc) {
38 else if (std::string(argv[i]) ==
"--help" || std::string(argv[i]) ==
"-h") {
39 std::cout <<
"Usage: " << argv[0]
40 <<
" [--input <input image>] [--connexity <0: 4-connexity, "
41 "1: 8-connexity>] [--help]"
54 #elif defined(VISP_HAVE_GDI)
56 #elif defined(HAVE_OPENCV_HIGHGUI)
59 d.
init(I, 0, 0,
"Input image");
65 std::cout <<
"nbComponents=" << nbComponents << std::endl;
70 for (
unsigned int i = 0; i < I_conn.getHeight(); i++) {
71 for (
unsigned int j = 0; j < I_conn.getWidth(); j++) {
72 if (labels[i][j] != 0) {
80 d2.init(I_conn, I.
getWidth(), 10,
"Connected components");
static vpColor getColor(const unsigned int &i)
Display for windows using GDI (available on any windows 32 platform).
The vpDisplayOpenCV allows to display image using the OpenCV library. Thus to enable this class OpenC...
void init(vpImage< unsigned char > &I, int winx=-1, int winy=-1, const std::string &title="") VP_OVERRIDE
static bool getClick(const vpImage< unsigned char > &I, bool blocking=true)
static void display(const vpImage< unsigned char > &I)
static void flush(const vpImage< unsigned char > &I)
static void displayText(const vpImage< unsigned char > &I, const vpImagePoint &ip, const std::string &s, const vpColor &color)
static void read(vpImage< unsigned char > &I, const std::string &filename, int backend=IO_DEFAULT_BACKEND)
unsigned int getWidth() const
unsigned int getHeight() const
VISP_EXPORT void connectedComponents(const VISP_NAMESPACE_ADDRESSING vpImage< unsigned char > &I, VISP_NAMESPACE_ADDRESSING vpImage< int > &labels, int &nbComponents, const VISP_NAMESPACE_ADDRESSING vpImageMorphology::vpConnexityType &connexity=VISP_NAMESPACE_ADDRESSING vpImageMorphology::CONNEXITY_4)