我试图在 OpenCV 中使用 SLIC 分割图像。我试图使用以下功能:
void vl_slic_segment ( vl_uint32 * segmentation,
float const * image,
vl_size width,
vl_size height,
vl_size numChannels,
vl_size regionSize,
float regularization,
vl_size minRegionSize
)
#include 很好,链接到库也很好。我只需要知道如何将图像传递给这个函数。此函数中的图像参数是类型float const *
,我不知道如何将图像转换为这种类型。
这是我将图像加载到代码中的方式:
IplImage *image = cvLoadImage("train.tif", 1);
这是整个代码:
extern "C" {
#include </home/me/Downloads/vlfeat-0.9.17/vl/slic.h>
}
#include <stdio.h>
#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
#include<opencv/highgui.h>
using namespace std;
using namespace cv;
int main () {
IplImage *image = cvLoadImage("train.tif", 1);
vl_uint32 * seg;
vl_slic_segment(seg,(const float *)image,image->width,image->height,image->nChannels,15,0.1,1);
waitKey(0);
}
而且我不知道我是否使用vl_uint32 * seg
正确。请如果有人有一个示例或示例代码来进行此分割。
谢谢 !!