聚类方法实现字符和对象分割

首先是头文件。下面文件可以直接编译成DLL。主函数是cluseterMethod。

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

MYDLL_API void cluseterMethod(cv::Mat lenaImg, std::vector& 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

你可能感兴趣的:(字符检测,图像与机器学习)