Chinaunix首页 | 论坛 | 博客
  • 博客访问: 263787
  • 博文数量: 28
  • 博客积分: 688
  • 博客等级: 上士
  • 技术积分: 365
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-16 10:25
文章分类

全部博文(28)

文章存档

2012年(28)

我的朋友

分类:

2012-09-17 11:45:40

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.
 
  1. int exes7()
  2. {
  3. IplImage *img1,*img_gray,*img_edge;
  4. img1 = cvLoadImage("d:\\lines.jpg");
  5. img_gray = cvCreateImage(cvSize(img1->width,img1->height),img1->depth,1);
  6. cvCvtColor(img1,img_gray,CV_RGB2GRAY);
  7. img_edge = cvCloneImage(img_gray);
  8. cvNamedWindow("exes7_gray",CV_WINDOW_AUTOSIZE);
  9. cvNamedWindow("exes7_edgeAt1.5:1",CV_WINDOW_AUTOSIZE);
  10. cvNamedWindow("exes7_edgeAt2.75:1",CV_WINDOW_AUTOSIZE);
  11. cvNamedWindow("exes7_edgeAt4:1",CV_WINDOW_AUTOSIZE);

  12. cvShowImage("exes7_gray",img_gray);

  13. cvCanny(img_gray,img_edge,153,230);
  14. cvShowImage("exes7_edgeAt1.5:1",img_edge);
  15. cvCanny(img_gray,img_edge,83,230);
  16. cvShowImage("exes7_edgeAt2.75:1",img_edge);
  17. cvCanny(img_gray,img_edge,57,230);
  18. cvShowImage("exes7_edgeAt4:1",img_edge);
  19. cvWaitKey(0);
  20. return 0;
  21. }
 
 
上图为原始测试图像。
 
  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. 总结结果,尽量提供清楚的解释。
 
阅读(1069) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~