图像边缘定义
图像边缘类型
边缘提取方法
-
基于梯度的边缘提取
这种边缘提取方法的问题:对于阈值T的选择,总会导致不连贯的提取结果。 -
Canny边缘提取
创新之处:
API:Canny
CV_EXPORTS_W void Canny( InputArray image, OutputArray edges,
double threshold1, double threshold2,
int apertureSize = 3, bool L2gradient = false );
实例:通过滑动条(API:createTrackbar )来控制阈值
//canny 边缘提取
void canny_demo(int, void*) {
Mat edges, dst;
Canny(src, edges, t1, t1*3, 3, false);
bitwise_and(src, src, dst, edges);
imshow("edges", dst);
}
//图像边缘提取
int main() {
src = imread("F:/code/images/test.png");
if (src.empty()) {
printf("fail to read");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
//canny 边缘提取
createTrackbar("threshoold value", "input", &t1, 100, canny_demo);
canny_demo(0, 0);
waitKey(0);
destroyAllWindows();
return 0;
}