aboutsummaryrefslogtreecommitdiffstats
path: root/meowpp.test/inc/test_utility.h
diff options
context:
space:
mode:
Diffstat (limited to 'meowpp.test/inc/test_utility.h')
-rw-r--r--meowpp.test/inc/test_utility.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/meowpp.test/inc/test_utility.h b/meowpp.test/inc/test_utility.h
deleted file mode 100644
index 8875445..0000000
--- a/meowpp.test/inc/test_utility.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef TEST_UTILITY_H__
-#define TEST_UTILITY_H__
-
-#include <opencv/cv.h>
-#include <opencv/highgui.h>
-
-#include <cstdarg>
-#include <queue>
-
-extern "C" {
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <dirent.h>
-}
-
-#include "meowpp/colors/RGB_Space.h"
-#include "meowpp/gra/Bitmap.h"
-#include "meowpp/utility.h"
-
-#include <cstdio>
-#include <string>
-
-template<class T>
-inline bool readBitmap(std::string const& name, meow::Bitmap<T>* bmp) {
- cv::Mat img = cv::imread(name, CV_LOAD_IMAGE_COLOR);
- if (!img.data)
- return false;
- size_t height = img.size().height;
- size_t width = img.size().width ;
- bmp->size(height, width, T(0));
- for (size_t y = 0; y < height; ++y)
- for (size_t x = 0; x < width; ++x) {
- meow::RGBi_Space tmp;
- for (size_t i = 0; i < 3; ++i)
- tmp.rgb(i, img.at<cv::Vec3b>(y, x)[2 - i]);
- T p;
- meow::colorTransformate(tmp, &p);
- bmp->pixel(y, x, p);
- }
- return true;
-}
-
-template<class T>
-inline bool writeBitmap(std::string const& name, meow::Bitmap<T> const& bmp) {
- size_t height = bmp.height();
- size_t width = bmp.width ();
- cv::Mat img(height, width, CV_8UC3);
- for (size_t y = 0; y < height; y++)
- for (size_t x = 0; x < width; x++) {
- meow::RGBi_Space tmp;
- meow::colorTransformate(bmp.pixel(y, x), &tmp);
- for (size_t i = 0; i < 3; ++i)
- img.at<cv::Vec3b>(y, x)[i] = tmp.rgb(2 - i);
- }
- return imwrite(name, img);
-}
-
-inline std::vector<std::string> cgetFiles(char const* dn, bool recur, int num, ...) {
- va_list args;
- va_start(args, num);
- std::vector<char const*> filter(num);
- for (int i = 0; i < num; ++i)
- filter[i] = va_arg(args, char const*);
-
- std::string name(dn);
- if (dn[0] != '\0' && dn[strlen(dn) - 1] != '/')
- name = name + "/";
-
- std::queue<std::string> dirs;
- std::vector<std::string> ret;
- struct stat st;
-
- for (dirs.push(name); !dirs.empty(); dirs.pop()) {
- DIR* dir = opendir(dirs.front().c_str());
- if (dir == NULL)
- continue;
- for (dirent* ent; (ent = readdir(dir)) != NULL; ) {
- if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
- continue;
- std::string fname(dirs.front() + ent->d_name);
- if (stat(fname.c_str(), &st) < 0)
- continue;
- if (S_ISDIR(st.st_mode) && recur) {
- dirs.push(fname + "/");
- continue;
- }
- if (S_ISREG(st.st_mode)) {
- bool ok = false;
- for (int i = 0; i < num && !ok; ++i)
- ok = meow::cstringEndWith(fname.c_str(), 1, filter[i]);
- if (ok)
- ret.push_back(fname);
- }
- }
- closedir(dir);
- }
-
- va_end(args);
- return ret;
-}
-
-#endif // TEST_UTILITY_H__