聚類方法實現字符和對象分割

首先是頭文件。下面文件可以直接編譯成DLL。主函數是cluseterMethod。

#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
#include <string>
#include <vector>
#include "opencv2/opencv.hpp"

MYDLL_API void cluseterMethod(cv::Mat lenaImg, std::vector<cv::Rect>& rects);

CPP文件,MyDLL.cpp。這裏包含了MyDLL.h等頭文件。頭文件包括了Mat所用的HPP文件。

#include "MyDLL.h"

MYDLL_API float getDistance(cv::Point3f t1, cv::Point3f t2)
{
    double dx = powf((t1.x - t2.x), 2);
    double dy = powf((t1.y - t2.y), 2);
    double dz = powf((t1.z - t2.z), 2);
    return sqrt(dx + dy + dz);
};

//根據質心,決定當前元組屬於哪個簇  
MYDLL_API int class_inputdata(cv::Point3f means[], cv::Point3f tuple)
{
    float dist = getDistance(means[0], tuple);
    float tmp;
    int label = 0;//標示屬於哪一個簇  
    for (int i = 1; i < CLUSTERCNT; i

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章