OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 5022|回复: 7

[文档翻译][lurvhua完成]Basic Drawing

[复制链接]
发表于 2012-1-29 21:16:06 | 显示全部楼层 |阅读模式
请用文本编辑器打开附件中的rst文件,将里面的英文翻译为中文。
注意保持rst格式,存储翻译后的文件请用UTF-8编码。
翻译完成后,以回帖方式将之上传。

本文档对应的HTML为:
<!-- m --><a class="postlink" href="http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html">http://www.opencv.org.cn/opencvdoc/2.3. ... awing.html</a><!-- m -->

翻译中常见问题,或者你有问题,请访问此帖:
<!-- l --><a class="postlink-local" href="http://www.opencv.org.cn/forum/viewtopic.php?f=5&t=15954">viewtopic.php?f=5&t=15954</a><!-- l -->
回复

使用道具 举报

发表于 2012-1-30 14:52:52 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

那我再认领一个。
回复 支持 反对

使用道具 举报

发表于 2012-2-1 12:44:54 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

翻译完成,见附件。

几个问题需要探讨一下:

1. 第168行: “The ellipse extends an arc between **0** and **360** degrees”,我直译为 “ 椭圆扩展的弧度从 **0** 度到 **360** 度”。
             其实此句话意思我并未理解,希望得到进一步解释。椭圆扩展弧度什么意思?

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 );  
        }
回复 支持 反对

使用道具 举报

 楼主| 发表于 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的数据。
回复 支持 反对

使用道具 举报

发表于 2012-2-1 19:24:55 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

多谢版主。关于画椭圆弧的问题已清楚。

但是关Mat结构,如果传入后copy的数据指针仍然是之外部的数据指针,是否说明Mat的拷贝构造函数不安全?并没有为新的copy创建数据空间?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-1 22:02:04 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

多谢版主。关于画椭圆弧的问题已清楚。

但是关Mat结构,如果传入后copy的数据指针仍然是之外部的数据指针,是否说明Mat的拷贝构造函数不安全?并没有为新的copy创建数据空间?
反而比CvMat更安全,因为Mat类有reference count机制,会自动释放。防止编程者忘记释放内存。
具体可以参考这个页面里的《内存管理和参考计数(reference counting)》 <!-- m --><a class=\"postlink\" href=\"http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/user_guide/ug_mat.html\">http://www.opencv.org.cn/opencvdoc/2.3. ... g_mat.html</a><!-- m -->

cv::Mat比CvMat差的地方在于开发者必须搞清楚内存管理机制,否则一头雾水。不像CvMat/IplImage那样简洁。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-1 22:55:33 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

已经上传,请检查: <!-- m --><a class=\"postlink\" href=\"http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html#drawing-1\">http://www.opencv.org.cn/opencvdoc/2.3. ... #drawing-1</a><!-- m -->

另外,我对你的rst文件进行了细微的格式修改,在本帖附件中,请查收。
回复 支持 反对

使用道具 举报

发表于 2012-2-2 09:58:09 | 显示全部楼层

[文档翻译][lurvhua完成]Basic Drawing

多谢版主,看了《内存管理和参考计数(reference counting)》就完全明白了,原来拷贝构造函数默认就是共享数据,利用引用计数来管理。如果要创建新的还需要单独调用函数。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-5-11 12:35 , Processed in 0.009647 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表