From 780f4ae7c5f57a0e6382b78937a123c43d617719 Mon Sep 17 00:00:00 2001 From: laurentBerger Date: Tue, 12 May 2015 19:01:05 +0200 Subject: [PATCH] try to implement remark included in message --- data/detect_blob.png | Bin 0 -> 34115 bytes .../cpp/{exampleBLOB.cpp => detect_blob.cpp} | 12 +++++------- 2 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 data/detect_blob.png rename samples/cpp/{exampleBLOB.cpp => detect_blob.cpp} (95%) diff --git a/data/detect_blob.png b/data/detect_blob.png new file mode 100644 index 0000000000000000000000000000000000000000..fe8537ab0fe1511232e07d7ce1769e959136397e GIT binary patch literal 34115 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%0DHR1k=8F4g0692y=UTFTh#zXqgrUzV!tO2|; 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
  • xr~OpRXqwGl}ahui3V?Wn2VzLz<9O0@;Kb49)@N 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 bJG`NPnMy;Nx4?}~d-mv{4YUe1?uPs?@I4cQ literal 0 HcmV?d00001 diff --git a/samples/cpp/exampleBLOB.cpp b/samples/cpp/detect_blob.cpp similarity index 95% rename from samples/cpp/exampleBLOB.cpp rename to samples/cpp/detect_blob.cpp index a1a020f06..badbaaa41 100644 --- a/samples/cpp/exampleBLOB.cpp +++ b/samples/cpp/detect_blob.cpp @@ -9,9 +9,9 @@ using namespace cv; static void help() { - cout << "\n This program demonstrates how to use BLOB and MSER to detect region \n" + cout << "\n This program demonstrates how to use BLOB to detect and filter region \n" "Usage: \n" - " ./BLOB_MSER \n" + " ./detect_blob \n" "Press a key when image window is active to change descriptor"; } @@ -71,7 +71,7 @@ int main(int argc, char *argv[]) Mat img(600, 800, CV_8UC1); if (argc == 1) { - fileName.push_back("../data/example_blob.bmp"); + fileName.push_back("../data/detect_blob.png"); } else if (argc == 2) { @@ -82,7 +82,7 @@ int main(int argc, char *argv[]) help(); return(0); } - img = imread(fileName[0], IMREAD_UNCHANGED); + img = imread(fileName[0], IMREAD_COLOR); if (img.rows*img.cols <= 0) { cout << "Image " << fileName[0] << " is empty or cannot be found\n"; @@ -110,13 +110,11 @@ int main(int argc, char *argv[]) pDefaultBLOB.filterByConvexity = false; pDefaultBLOB.minConvexity = 0.95f; pDefaultBLOB.maxConvexity = (float)1e37; - // Descriptor array (BLOB or MSER) + // Descriptor array for BLOB vector typeDesc; // Param array for BLOB vector pBLOB; vector::iterator itBLOB; - // Param array for MSER - // Color palette vector< Vec3b > palette; for (int i = 0; i<65536; i++)