相关疑难解决方法(0)

使用opencv进行图像边缘平滑处理

我试图使用opencv框架平滑输出图像边缘,我正在尝试以下步骤.步骤来自这里/sf/answers/1202276701/

int lowThreshold = 10.0;
int ratio = 3;
int kernel_size = 3;

Mat src_gray,detected_edges,dst,blurred;

/// Convert the image to grayscale
cvtColor( result, src_gray, CV_BGR2GRAY );

/// Reduce noise with a kernel 3x3
cv::blur( src_gray, detected_edges, cv::Size(5,5) );

/// Canny detector
cv::Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );

//Works fine upto here I am getting perfect edge mask    

cv::dilate(detected_edges, blurred, result);

//I get Assertion failed (src.channels() == 1 && func != 0) in countNonZero ERROR while doing dilate

result.copyTo(blurred, …
Run Code Online (Sandbox Code Playgroud)

c++ iphone opencv objective-c ios

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

ios ×1

iphone ×1

objective-c ×1

opencv ×1