|
楼主 |
发表于 2012-2-1 16:50:45
|
显示全部楼层
[文档翻译][lurvhua完成]Basic Drawing
翻译完成,见附件。
几个问题需要探讨一下:
1. 第168行: “The ellipse extends an arc between **0** and **360** degrees”,我直译为 “ 椭圆扩展的弧度从 **0** 度到 **360** 度”。
其实此句话意思我并未理解,希望得到进一步解释。椭圆扩展弧度什么意思? ellipse函数是画椭圆上的一段弧(arc)的,那这段弧就有开始角度和结束角度。如椭圆的前1/4段弧的角度范围为[0,90]。
所以角度从0 到360度就是整个椭圆了。
详细的关于ellipse函数的说明可以参考: <!-- m --><a class=\"postlink\" href=\"http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/core/doc/drawing_functions.html#ellipse\">http://www.opencv.org.cn/opencvdoc/2.3. ... ml#ellipse</a><!-- m -->2. 第270行:“* Two opposite vertices of the rectangle are defined by ** Point( 0, 7*w/8.0 )** and **Point( w, w)**”格式有问题。网页链接的显示也不正确。可能是表达式“** Point( 0, 7*w/8.0 )** ”中间的“*”造成的。请确认修改。 先这样,后面我编译文档的时候核实和修改一下。
3. 我注意到例子中所以用户自定义绘图函数中,传入图像参数既没有用引用,也没有用指针。这样可以修改img 的内容吗?还没有具体阅读Mat的定义代码,请指教。
例如:
void MyEllipse( Mat img, double angle )
{
int thickness = 2;
int lineType = 8;
ellipse( img,
Point( w/2.0, w/2.0 ),
Size( w/4.0, w/16.0 ),
angle,
0,
360,
Scalar( 255, 0, 0 ),
thickness,
lineType );
} 可以修改。传进去的是对cv::Mat实例的copy,Mat里的属性如宽度、高度、当然也有数据的指针都会被copy进去,所以操作的数据就是传入之前Mat的数据。 |
|