4. 在一个画图程序里,例如PowerPoint,画一系列同心圆形成一个靶心。
a. 构造一系列进入靶心的直线,保存图像
b. 用一个3*3的中孔大小,对你的图像运行并显示一阶x和y方向的导数。然后将中孔大小增加到5*5,9*9和13*13。描述结果。(我认为此处翻译欠妥当,英文原文是这样的:Using a 3-by-3 aperture size,take and display the fi rst-order x- and y-derivatives of your picture. Th en increase the aperture size to 5-by-5, 9-by-9, and 13-by-13.Describe the results.)
- int exes4()
- {
- IplImage *img1,*img2,*img3;
- cvNamedWindow("exes4_origin",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("exes4_dx0dy1",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("exes4_dx1dy0",CV_WINDOW_AUTOSIZE);
- img1 = cvLoadImage("d:\\circles.png");
- img2 = cvCloneImage(img1);
- img3 = cvCloneImage(img1);
- cvShowImage("exes4_origin",img1);
- cvSobel(img1,img2,0,1,3);
- //cvSobel(img1,img2,0,1,5);
- cvSobel(img1,img3,1,0,3);
- //cvSobel(img1,img3,1,0,5);
- cvShowImage("exes4_dx0dy1",img2);
- cvShowImage("exes4_dx1dy0",img3);
- cvWaitKey(0);
- return 0;
- }
以上图像是使用aperture_size=3 时的x和y方向上的一阶导结果。
以上图像是使用aperture_size=5 时的x和y方向上的一阶导结果。针对于OpenCV1.0 cvSobel()函数的aperture_size仅支持1,3,5,7。无法使用原函数进行aperture_size为9*9和13*13的求导计算。
在此练习中发现一个有趣的现象:在求y方向导数图像时,上半截里圈凸显,而下半截外圈凸显。同样,在求x方向导数图像时,左半截里圈凸显而右半截外圈凸显。
阅读(1611) | 评论(0) | 转发(0) |