我正在尝试制作一个dip::EuclideanSkeleton
. 但是,在执行时,它会抛出一个Unhandled exception。返回类型和传递给函数的类型是否不匹配?如果是这样,我该如何解决这个问题?我没有更多的猜测了。没有dip::EuclideanSkeleton
程序的工作。
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <string>
#include "diplib.h"
#include "diplib/file_io.h"
#include "diplib/regions.h"
#include "diplib/display.h"
#include <dip_opencv_interface.h>
#include "diplib/binary.h"
int main() {
cv::Mat img = cv::imread("Cables.jpg", cv::IMREAD_GRAYSCALE);
if (img.empty()) {
return -1;
}
cv::Mat thresh = img.clone();
medianBlur(thresh, thresh, 7);
threshold(thresh, thresh, 127, 255, cv::THRESH_BINARY);
dip::Image image = dip_opencv::MatToDip(thresh);
dip::Image conv = dip::EuclideanSkeleton(image);
cv::Mat final = dip_opencv::DipToMat(conv);
cv::imshow("", final);
cv::waitKey(0);
}
在:
-
dataType_ {dt=UINT8 (1) } dip::DataType
出去:
-
dataType_ {dt=SFLOAT (9) } dip::DataType
Skel_endpoints.exe 中 0x00007FF85A0F3B29 处未处理的异常:Microsoft C++ 异常:内存位置 0x000000BAF730EDD8 处的 dip::ParameterError。