求高手帮忙翻译一段基于OPENCV的运动目标检测的程序,详细翻译,老师会提问

求高手帮忙翻译一段基于OPENCV的运动目标检测的程序,详细翻译,老师会提问,第1张

这种运动目标检测的方法还是很经典的,下面写了一些注释仅作参考,希望对你有所帮助。

#include "stdafxh"

#include "cvh"

#include "highguih"

#include <timeh>

#include <mathh>

#include <ctypeh>

#include <stdioh>

#include <stringh>

const double MHI_DURATION = 01;//定义运动跟踪的最大时间

const double MAX_TIME_DELTA = 05;

const double MIN_TIME_DELTA = 005;

const int N = 3;//定义数组的维度为3

const int CONTOUR_MAX_AERA = 10;//定义的阈值

IplImage buf = 0;

int last = 0;

IplImage mhi = 0;

CvFilter filter = CV_GAUSSIAN_5x5;//高斯卷积滤波

CvConnectedComp cur_comp, min_comp;//定义连通域 *** 作的存储

CvConnectedComp comp;//定义连通域 *** 作的存储

CvMemStorage storage;//定义内存分配

CvPoint pt[4];//定义点的存储

/

下面update_mhi函数输入img,输出识别结果dst,阈值diff_threshold

/

void update_mhi( IplImage img, IplImage dst, int diff_threshold )

{

double timestamp = clock()/1; //返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元

CvSize size = cvSize(img->width,img->height); //获取图像的宽和高

int i, idx1, idx2;

IplImage silh;

IplImage pyr = cvCreateImage( cvSize((sizewidth & -2)/2, (sizeheight & -2)/2), 8, 1 );//

CvMemStorage stor;//申请内存

CvSeq cont;//定义保存数据的结构

/先进行数据的初始化/

if( !mhi || mhi->width != sizewidth || mhi->height != sizeheight )

{

//分配内存 *** 作:如果buf是空值,则分配存储空间

if( buf == 0 )

{

buf = (IplImage)malloc(Nsizeof(buf[0]));//利用malloc动态分配内存

memset( buf, 0, Nsizeof(buf[0]));//作用是在一段内存块中填充某个给定的值,此处值为0

}

//创建通道为N=3,大小为size的图像存储

for( i = 0; i < N; i++ )

{

cvReleaseImage( &buf[i] );//释放buf

buf[i] = cvCreateImage( size, IPL_DEPTH_8U, 1 );//创建buf[i]

cvZero( buf[i] );//初始化为0

}

cvReleaseImage( &mhi );//释放变量mhi

mhi = cvCreateImage( size, IPL_DEPTH_32F, 1 );//创建mhi,大小为size,深度为IPL_DEPTH_32F,1个通道

cvZero( mhi ); ///初始化为0

}

cvCvtColor( img, buf[last], CV_BGR2GRAY );//将RGB图像img转换成gray灰度图像buf

idx1 = last;//将last赋值到idx1

idx2 = (last + 1) % N; //计算(last + 1)除以N的余数

last = idx2;//将idx2赋值到last

silh = buf[idx2];//将buf[idx2]赋值到silh

//下面计算buf[idx1]与buf[idx2]差的绝对值,输出结果存入silh

cvAbsDiff( buf[idx1], buf[idx2], silh );

//下面对单通道数组silh应用固定阈值 *** 作,阈值为30,阈值化类型为CV_THRESH_BINARY最大值为255

cvThreshold( silh, silh, 30, 255, CV_THRESH_BINARY );

//去掉影像(silh) 以更新运动历史图像为mhi,当前时间为timestamp,运动跟踪的最大时间为MHI_DURATION=01

cvUpdateMotionHistory( silh, mhi, timestamp, MHI_DURATION );

//下面对mhi进行线性变换 *** 作,输出结果存入dst:dst(I)=mhi(I)第二个参数 + 第三个参数

cvCvtScale( mhi, dst, 255/MHI_DURATION,

(MHI_DURATION - timestamp)255/MHI_DURATION );

cvCvtScale( mhi, dst, 255/MHI_DURATION, 0 );

cvSmooth( dst, dst, CV_MEDIAN, 3, 0, 0, 0 );//对dst进行中值滤波

cvPyrDown( dst, pyr, 7 );//利用卷积滤波器对dst进行下采样

cvDilate( pyr, pyr, 0, 1 );//对图像pyr使用33长方形进行膨胀 *** 作

cvPyrUp( pyr, dst, 7 );//利用卷积滤波器对dst进行上采样

stor = cvCreateMemStorage(0);//动态内存存储创建内存块

cont = cvCreateSeq(CV_SEQ_ELTYPE_POINT, sizeof(CvSeq), sizeof(CvPoint) , stor);//创建存储结构

//函数cvFindContours为寻找图像dst的角点,数据存入cont中,其中包含角点的坐标值

cvFindContours( dst, stor, &cont, sizeof(CvContour),

CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));

for(;cont;cont = cont->h_next)

{

CvRect r = ((CvContour)cont)->rect;//创建矩形区域

if(rheight rwidth > CONTOUR_MAX_AERA)

{

//下面是在图像Img上绘制红色的矩形框,利用左上点和右下点

cvRectangle( img, cvPoint(rx,ry),

cvPoint(rx + rwidth, ry + rheight),

CV_RGB(255,0,0), 1, CV_AA,0);

}

}

cvReleaseMemStorage(&stor);//释放内存

cvReleaseImage( &pyr );//释放结构体

}

int _tmain(int argc, _TCHAR argv[])

{

IplImage motion = 0;

CvCapture capture = 0;

capture = cvCaptureFromFile("D://Capture1avi");//获取视频文件

if( capture )

cvNamedWindow( "视频分析", 1 );//创建窗口

{

for(;;)

{

IplImage image;

if( !cvGrabFrame( capture ))//如果读取视频失败,则退出

break;

image = cvRetrieveFrame( capture );//获取图像

if( image )

{

if( !motion )

{

motion = cvCreateImage( cvSize(image->width,image->height), 8, 1 );

cvZero( motion );

motion->origin = image->origin;

}

}

update_mhi( image, motion, 60);//运动目标检测,阈值为60

cvShowImage( "视频分析", image );//在窗口中显示图像

if( cvWaitKey(10) >= 0 )

break;

}

cvReleaseCapture( &capture );//释放

cvDestroyWindow( "视频分析" );//释放窗口

}

return 0;

}

翻译的程序

在理想的情况下(不过理想的情况很少),翻译程序包括背景资料的准备和实际翻译过程。不过,首先需要明确是个人翻译还是小组翻译。

理想情况是指有充裕的时间和足够的资料来源(图书和参考资料)来研读需要翻译的文本并把所有的问题记录下来。这样,在实际 *** 作翻译之前,这些属于理解或转换方面的问题就可以得到解决。如果同一文本已有其它译本,也应该仔细加以研究,以确定对各种问题的处理办法。在有些情况下,译前对原文和潜在问题的研究实际上要花费比翻译过程本身更多的时间,特别是当译者需要大量阅读同一作者的其它著作以及同一时期其他作者就同一主题撰写的著作和文章时,情况就更是如此。

实际翻译程序可以归纳如下:

1快速翻译,侧重文体。有些译者认为口述的译文更新颖、更流畅。但无论译者是口述、打字、还是手写,重要的是要使译文节奏流畅;

2初稿应该搁置一旁约一周左右。这样,修订译稿时就可以获得全新的感受,排除翻译初稿时留在耳边的余音,更加客观地评估译文;

3认真检查译文内容,特别着重译文的准确性和连贯性。删除不必要的增补词语和补充初稿中的疏漏。特别要注意关键概念在翻译上的一致性,理顺拗口的词句;

4修改后的译稿要再搁置几天;

5从文体上检查译文。其实,这一步骤应该反复进行多次。朗读译文是一个非常重要的办法,因为听觉对连贯性和节奏感方面的问题比视觉要敏锐得多;

6检查译文拼写、标点符号和格式。有些译者错误地认为,对译文内容、文体和正字法这三方面的检查可以合并起来一次完成,这种看法是大错特错的。对译文上述三个方面的检查应该分别进行;

7译文送交我或出版商审阅。有时,在译文送审之前还须经过译文未来读者代表对译文进行检验;

8采纳我或出版商提出的建议,尽管有些建议需要进一步考查和讨论。译者不应该被不了解文本全貌的片面意见所左右,要坚持自己对文本完整性的理解,特别是译文需要署名时更是如此。

不过,在绝大多数情况下,负责任的出版社的我会提出十分中肯的意见,对这些意见应该加以认真考虑。

上述翻译程序的八个步骤,说的是一系列符合理想的情形,但在绝大多数情况下,翻译时间很紧,需要尽快脱稿。驾轻就熟的译者往往可以把几个步骤合并在一起,但首先应该拿出一个在文体上符合要求的译稿,然后才能就准确性、连贯性和正字法对译稿进行审校。这是一条进行有效翻译的基本原则。一篇逐词直译过来的蹩脚译文,几乎无法进行重组来达到文体上的要求,但文体上合意的译文就可以很容易地‘规整起来’,使之更为准确。

小组翻译一般来说是一个完全不同的过程,它所涉及的程序也十分不同,这就要看小组成员是在编译部里合作进行翻译,还是他们各自先译出初稿,然后定期开会,讨论出一个‘一致审定’的译稿。

编译部往往拥有大量的词典和百科全书、完备的词库和若干名通晓同一译语并熟谙翻译内容所涉及的专门知识的人才。另外,大多数编译部为每个翻译小组都安排有一名经验丰富的组长,遇有特殊问题,可以直接请教。在这种情况下,通常由一位译者负责初稿,后由另一位或几位译者进行校订。

许多个体职业译者几乎拥有编译部的全部有利条件,他们可以接触各种专业词典和百科全书,使用出版商或翻译中心提供的词库,请教承担翻译任务的出版商或编译部约请的翻译顾问。

然而,当翻译小组接受一部重要作品的翻译任务时,小组成员的工作程序大致如下:(1)每个成员负责翻译不同的部分;(2)阅读其他成员的译稿并提出意见; (3)小组成员定期开会,讨论不同看法,统一意见。这些程序常常大不相同,十分复杂。首先,很难组织一个成员之间在能力上旗鼓相当的翻译小组,人人尊重组内同行的经验和资历。在许多情况下,能力较差的成员总是想要在讨论中占上风,以掩饰自己业务能力上的弱点。其次,小组必须规定几条相对详细的翻译原则。这样,意见上的分歧就可以根据这些原则来加以讨论,而不至于成为对同行的个人批评。第三,当小组里意见产生严重分歧时,需要推举一位成员充外‘仲裁人 ’。否则,成员之间在个性方面的冲突就会严重影响工作进展;第四,聘请几位有水平的审稿人员,专门就内容是否正确和文体是否可行等两方面的问题通审全稿,这样做也是大有好处的。

基本翻译过程

四个基本翻译过程是:(1)分析原文;(2)将原语转换成译语;(3)重新调整译文;(4)约请有代表性的读者检验译文。

分析原文就是细致处理词位的所指意义和联想意义、研究句法和语篇结构。正如本书在不同章节已经指出的那样,理解和领会原文是从事无论何种翻译的基本功力。翻译中大多数的失误都是因为没有过好这一关。如果译者确实理解了原文的涵义,又能得心应手地驾驭译语,那么翻译就是一个很自然的驾轻就熟的过程。本书不惜笔墨地讲解语言的性质以及词法特征、句法特征和语篇特征,就是因为许多译者并没有意识到要在原文中发掘它的内涵。

翻译过程涉及从用原语思维到用译语思维的转换——这正是翻译中最关键的一步,这时原文的内容也就‘一步到位’。转换的明晰程度越高越好。在奈达和泰伯的著作中(Nida 和Taber,1969),根据所谓‘核心’结构对此做了详尽的阐述。

结构重组就是组织译文中的词汇特征、句法特征和语篇特征,从而使所针对的读者能够限度地理解和领会译文。对于一位优秀的译者来说,整个过程几乎是自动进行的,实际上就象我们使用母语讲话一样。

虽然这三个基本过程可以分开来讨论,但如果认为译者是分三个步骤来进行 *** 作的话,那就完全错了。这三个过程是下意识地同步进行的。水平高的译者用不着去考虑怎样把主动变为被动,把名词化的动词变为从句,或者在提到某一个人的时候,也用不着去考虑是否需要把名词变成人称代词。译者如果还常常犯愁如何重组译文的话,那他们大概是在还没有具备运用译语的必要能力之前就开始从事翻译了。

尽管检验译文与分析、转换和重组这三个过程有所不同,但就迅速暴露译文中存在的问题而言,这是一个十分重要的环节。过去,译文的检验大都是指定一名懂得原语和译语的人来进行原文和译文的比较,测定译文与原文的对应程度。这个方法的缺点是,这位懂得双语的鉴定人可能已经熟悉文本和内容的类型,用不着花多大功夫就能理解译文。对译文进行正确的评估,只能是通过检测只懂译语的读者代表的反应来实现。

最有效的检测方法有以下四种:(1)邀请几位读者代表朗读译文;(2)仔细分析朗读者的面部表情;(3)请听过译文朗读的人向没有听过朗读的人讲述内容;(4)填空检测法。

最有效的检测方式之一是请几位水平高的人来朗读译文,译者一边看着稿子,一边标记朗读时打磕巴、误读、用错词替换、重复以及语调把握不定的地方。如果两个或几个水平相当的人都卡在同一地方,这些地方明显就有问题。造成朗读不畅的问题有以下几种:如高层次的词汇,句法蹩脚,缺乏过渡词,并列的词汇中辅音群发音浊重,没有表示疑问、命令、讽刺、反语和省略的标记词。这种检测方法并不能告诉译音应该怎么去修改译文,但能够指出译文中需要修改的地方。

当不同的人朗读译文时,译者要仔细观察他们的面部表情,特别是他们的眼神,这样做是很有好处的,因为表情和眼神可以反映出他们对译文内容和形式的理解和领会的程度。细心而又善解人意的观察者很快就能发现:朗读者读懂了译文呢还是对它的内容不知所云;对译文的内容感兴趣呢还是觉得枯燥无味;读来饶有兴致呢还是认为译文的确太难而无法诵读。

对译文内容的检验,是请一个人朗读或默读译文,然后让他向其他人讲述内容。令人吃惊的是,许多人读完了却不知所云,但如果有两个或几个人在理解上犯了相同的错误,那么译文显然就需要修改。当然,如果原文本身有意要含混模糊,则可另当别论。

填空检测法也是测定译文可读性程度的有效方法。这个方法是每四个词后面空一处,再请人根据上下文要求填入恰当的词。在至少五十个空里能够填对多少词语有效地显示了转换概率的范围,从而也就测定了译文的可读性和可理解的程度。这个方法也可以变通一下,即每九个词后面空一处,再请人朗读译文,然后计算朗读者填错的地方,并提出修改意见。

与以上这些邀请读者代表参与译文检测的方法相比较,听取有经验的翻译或我的内行意见或许要更好些。他们知道语际交流的基本原则,懂得使用文字的艺术,A莱斯利·威尔逊就是这样。他担任《恢弘》(Dimension)杂志我多年,为从事近年间德国文学佳作翻译的译者提供了重要帮助。认真读上几期就能获得关于在译语中再现原语内容与形式的精辟论述。

1。什么类型的文件,您需要,还是测试过程质量呢

2。你有在测试计划吗

3。你还记得描述任何错误。

4。什么是测试的目的吗

5。你喜欢什么(不像)在这里工作吗

6。质量保证是什么

7。QA之间的区别是什么和测试吗

8。你怎么范围、组织和执行测试项目吗

9。什么是作用在开发项目 QA

10。什么是作用在一家生产质量软件吗

11分。确定质量,因为我现在和你了解它

12。跟我描述一下确认和验证之间的区别。

13。跟我描述一下你所看到的过程。没有一个特定的过程中,就有一个进程的基础。

14。当你跟我描述一下会考虑采用故障模式及效益分析。

15。跟我描述一下这个软件开发生命周期时你应该给它下定义。

16岁。是什么性质的一个良好的要求吗

17。你如何划分角色的质量保证经理和项目经理吗

18岁。告诉我关于你的任何质量监督和实施所作的努力。描述您所面临的一些挑战,并说明你是如何克服它们。

19。你怎么对付环境质量变化的努力有敌意吗

20。一般来说,你如何看待整个过程自动化不适合的测试吗

21。你如何促进理念相遏制和缺陷预防

22。如果你来,给我一个通用的想法是在你第一次全面的任务将会作为启动一个质量的努力。

23。什么类型的测试你做了什么

24。你曾经创造了一种测试计划吗

25。你有没有写测试用例,还是你只是执行那些由别人吗

26。你的你的测试用例吗

27。你如何确定测试吗

28。你如何决定什么时候你有足够的测试吗”

29。你如何测试。如果你有轻微或没有文件

30岁。描述我的基本要素,你将在一个缺陷报告吗

31。你如何进行回归测试吗

32。在生命周期阶段的开始做测试,你自己的看法

33。你怎么对你的测试结果吗你尝试哪些度量提供吗

34。你无法意识到测试所有的东西——你怎么决定先考试吗

35。你从哪里获得你所期望的结果

36。如果自动-你决定什么自动化和按照什么顺序

37页。在过去的日子里,我已经被要求口头开始制定出试验计划,例如一个共同的情况。面试官可能会说:“想,如果你大声的任务是测试ATM,也许你测试计划包括物品吗”这类型的问题不是命中注定的答复,但这是一个很好的途径去看看你的面试官完成这项任务。

以上就是关于求高手帮忙翻译一段基于OPENCV的运动目标检测的程序,详细翻译,老师会提问全部的内容,包括:求高手帮忙翻译一段基于OPENCV的运动目标检测的程序,详细翻译,老师会提问、翻译的程序与基本翻译过程、软件测试工程师面试英语翻译等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9845641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存