7. In this exercise we learn to experiment with parameters by setting good lowThresh and highThresh values in cvCanny(). Load an image with suitably interesting line structures. We’ll use three different high:low threshold settings of 1.5:1, 2.75:1,and 4:1.
- int exes7()
- {
- IplImage *img1,*img_gray,*img_edge;
- img1 = cvLoadImage("d:\\lines.jpg");
- img_gray = cvCreateImage(cvSize(img1->width,img1->height),img1->depth,1);
- cvCvtColor(img1,img_gray,CV_RGB2GRAY);
- img_edge = cvCloneImage(img_gray);
- cvNamedWindow("exes7_gray",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("exes7_edgeAt1.5:1",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("exes7_edgeAt2.75:1",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("exes7_edgeAt4:1",CV_WINDOW_AUTOSIZE);
- cvShowImage("exes7_gray",img_gray);
- cvCanny(img_gray,img_edge,153,230);
- cvShowImage("exes7_edgeAt1.5:1",img_edge);
- cvCanny(img_gray,img_edge,83,230);
- cvShowImage("exes7_edgeAt2.75:1",img_edge);
- cvCanny(img_gray,img_edge,57,230);
- cvShowImage("exes7_edgeAt4:1",img_edge);
- cvWaitKey(0);
- return 0;
- }
上图为原始测试图像。
a. 当高阀值设置小于50时你看到了什么。
以上分别为高阀值设置为45时的三种比例的cvCanny()结果。
b. 当高阀值设置大于50小于100时你看到了什么。
以上分别为高阀值设置为75时的三种比例的cvCanny()结果。
c. 当高阀值设置在100和150之间时你看到了什么。
以上分别为高阀值设置为125时的三种比例的cvCanny()结果。
d. 当高阀值设置在150和200之间时你看到了什么。
以上分别为高阀值设置为175时的三种比例的cvCanny()结果。
e. 当高阀值设置在200和250之间时你看到了什么。
以上分别为高阀值设置为230时的三种比例的cvCanny()结果。
f. 总结结果,尽量提供清楚的解释。
阅读(1064) | 评论(0) | 转发(0) |