计算机模拟人工自动批量转换处理图片的研究张向民(张家口第二中学,河北张家口075000)摘要:目的把印刷书籍的文字和图片通过激光雕刻设备雕刻到600x300mm的石板上。方法把印刷书籍扫描成图片,再转换成输出设备能处理的格式。结果用计算机模拟人工自动转换处理大批量图片。结论人工处理过程繁琐,效率极低,容易出错。自动批量转换技术是对人工处理技术的一种极大进步。本研究通过计算机模拟人工操作,编制指令流替代人工操作,实现无人值守图形处理,简化人工工作,节省人力物力,做到人工所不能达到的精确快速转换。关键词:指令流模拟人工批量转换按键精灵AstudyonComputerSimulateArtificialtoautomaticallyBatchConvertandProcessimagesZhangXiang-min(ZhangJiaKouSecondSeniorHighSchool,Zhangjiakou075000,Hebei)Abstract:Objective:Thewordsandimagesofprintedbooksbylaserengravingequipmentto600x300mmtablets.Methods:Theprintedbooksscannedintopictures,andthenconvertedintotheformatoftheoutputdevicecanhandle.Theresults:Bycomputersimulationartificialautomaticconversionprocessinglargeimages.Conclusion:Artificialprocesstrival,lowefficiency,errorprone.Automaticbatchconversiontechnologyisagreatprogressofartificialprocessingtechnology.Thisresearchthroughthecomputersimulationofartificialoperation,preparetheinstructionstreaminsteadofmanualoperation,realizetheunattendedgraphics,simplifyingthemanualwork,savemanpower,doartificialcannotreachaccuraterapidtransformation.Keywords:instructionstream;Simulateartificial;convertformat;QuickMacro引言在社会生产实践和工作生活中,经常需要将一些书籍中的文字和图片通过激光雕刻机雕刻到石头或金属等介质上,需要对书籍文字和图片进行扫描,再经过CORELDRAWX5软件处理,但CORELDRAWX5软件制作的扩展名为CDR格式的图形文件,文件内容为书页的黑白扫描图,这种图,激光雕刻机是不能打开的,必须先把图用coreldrawx5软件转换成coreldraw9能识别的黑白图片格式,然后再在coreldraw9里面“描绘点阵图”,将字图转换成空心字的矢量图,然后再由激光雕刻软件填充空心字,并在外边画一方框做修饰,需要使用三个软件,如果用人工操作,处理一张图页需要耗时5分钟,那么算下来,四万页需要一个人工作按10小时每天计,要做333天才能完成。如果雇佣十个人,则需要用一个多月的时间完成。这其中需要的附属条件就比较多了,场地、电脑、饮食、休息、安全管理等各种花销成本就很高。而且在实际工作中,由于前期处理图片时所订的参数不合适,还需要返工重做,还会额外增加工作量。当前我们的个人计算机确实已经很普及了,虽然操作系统和软件也是日新月异,但其在自动化和智能软件上还是需要大力开发研究的。经过网上查阅,并没有能适用于本项业务的自动化软件,所以,在充分考查和研究后,设计、编写并实现了用电脑模拟人工操作过程,通过自动判断各种情况,可以实现:检查工作的软件是否打开,是否窗口最大化,自动调用该软件,自动打开目录中的某一个文件,自动模拟人的操作对图片进行处理,然后自动命名、保存。并能在处理过程中自动处理各种偶发出现的问题(如非法关闭、应用超时等待)。最终实现无值守处理大批量的图片文件,得以少时省工完成此项业务。一、文件名的处理1.1用E语言编写程序,完成对原始目录的重命名从书页图片提供商那里得到的文件是CDR格式的文件,如图所示:图1CDR格式的文件其文件及目录形式为:图2全部CDR格式目录及文件排布在图2中,目录1-60中分60卷放着扫描书页,而在卷号目录中(1,2,3…..60),还以“新2-3-82”这样的目录名分开放着CDR文件[1],含义为第2卷的第3页到第32页扫描书页。虽然这样方便文件的查找查看,但是并不方便于计算机的自动处理。尤其是最下一层目录中对于文件的命名方式:例如:3-4.cdr这个文件的文件名的含义为,第一卷的3页和4页。这样的命名对于层次清晰的目录存放没有问题,但是如果为了方便把文件全部移动到相同的一个卷号目录中,因为其某一卷中的书页名字,和其它卷中的书页名字是重复的,势必会引起无意中的覆盖问题,或者看到文件名分不清它属于哪一卷的问题。[2]故首先必须对文件名前加上卷号,即将现在的文件名3-4.cdr转换成2-3-4.cdr网上可以找到的命名软件都不能达到按照卷名来给文件名前加卷号的要求,故我使用E语言编程,遍历树型目录,并实现对文件的正确更名[3]。关键源码如下:搜索关键字=寻找文件(目录+“\*.*”,#子目录).判断循环首(搜索关键字≠“”).如果真(搜索关键字≠“.”且搜索关键字≠“..”)_搜索子程序(目录+“\”+搜索关键字).如果真结束搜索关键字=寻找文件(,#子目录).判断循环尾()搜索关键字=寻找文件(目录+“\*.*”,).判断循环首(搜索关键字≠“”)通过此程序,递规遍历1-60目录中的所有目录和子目录,对于检索到的一个文件名,通过定位其中的分隔符“\”来识别出是卷号,还是文件名。实现将取到的原文件名在其前加类如“2-”这样的卷号。1.2对于文件名进一步改名处理由于在对文件重命名并生成了激光刻字机能处理的文件后,在实际工作中,发现由于文件名按字母排序,1-3-4,1-11-12,1-111-112,1-12-13,出现了混乱排序的问题,为后面激光刻字机的工作调取文件带来问题。故对已经改了的文件名进行加零操作。让文件名变成诸如“001-003-004,001-011-012,001-111-112,001-012-013。这样,文件按字母序排序就和实际书页的顺序一致了,使后面的批雕刻的实现成为可行。关键代码如下:全文件名=目录+“\”+搜索关键字'”d:\藏文1\1\“后第三个\的位置第三杠位置=寻找文本(全文件名,“\”,10,假)'寻找文本(文本型被搜寻的文本,文本型欲寻找的文本,[整数型起始搜寻位置],逻辑型是否不区分大小写)-系统核心支持库-文本操作卷号=取文本中间(全文件名,10,第三杠位置-10)'取文本中间(文本型欲取其部分的文本,整数型起始取出位置,整数型欲取出字符的数目)-系统核心支持库-文本操作'D:\藏文1\1\新1-243-322\1-243-244.cdr文件名如左,若无卷号则改名,加卷号最后杠位置=倒找文本(全文件名,“\”,41,假)扩展名位置=寻找文本(全文件名,“.cdr”,1,假)文件全名长度=取文本长度(全文件名)第一横位置=寻找文本(全文件名,“-”,最后杠位置,假)第二横位置=倒找文本(全文件名,“-”,文件全名长度,假).如果(第一横位置-最后杠位置-1<3)第一数字=取文本右边(“000”+取文本中间(全文件名,最后杠位置+1,第一横位置-最后杠位置-1),3).否则第一数字=取文本右边(“000”+取文本中间(全文件名,最后杠位置+1,第一横位置-最后杠位置-1),第一横位置-最后杠位置-1).如果结束二、CDR文件转BMP文件按照操作转换流程,要把CDR格式的文件转换成BMP黑白二色文件[4],转换软件是CorelDRAWX5.经过网上查阅,发现X5软件有批处理的功能。具体操作为:点击:工具————宏----运行宏,宏的位置:选择Fileconverter.gms在第一个文件浏览SOURCE:选取某一卷的目录在第二个文件浏览处DESINTION选目标目录CONVERTTO:选要转换成的文件格式,BMP在右下角COLORMODE处选择B&W然后点击:CONVERT开始转换。此步骤,由于有自动脚本,故实现起来比较简单。但由于转换一个卷需要半小时时间,所以可以选择多个卷一起转换,最后转换完的BMP文件都存放在同一个目录中,再根据文件的卷号将其分开到所属卷号目录中。这样能减少等待的时间,减少人工操作。三、BMP文件转PLT文件3.1操作步骤:打开CORELDRAW9,新建文件,导入图片BMP,鼠标点击工作区左上角某一位置,将导入的图片放置。菜单:点阵图--描绘点阵图调出CORELTRACE软件,在其中输入参数,100,然后点应用,选“文件”-“传回TRACE效果”,删除原图,左健点无色,右健再点兰色,将原来的图变成描边的空心字。然后,导出文件,生成PLT格式的文件,存贮到相应的卷目录中。3.2模拟计算机进行自动操作。网上的模拟操作软件最常用的是“按健精灵”,它可以模拟所有的鼠标健盘动作,在无法深入到文件内核及格式的分析转换时,只能使用模拟计算机操作的文件实现对文件的批量转换[5]。经过不断研究和改进,以下面的代码实现了对于BMP文件到PLT的转换过程:关键代码如下:……pltfilenamelen=len(trim(dirtxt))filename=Mid(dirtxt,15,pltfilenamelen-15+1)PluginIsFile=File.IsFileExit(pltfilenameall)IfIsFilejsq=jsq+1PluginMsg.ShowScrTXT(200,700,900,800,存在:+dirtxt+-+pltfilenameall+[+cstr(jsq)+],00ff00)//PluginMsg.ShowScrTXT(参数1,参数2,参数3,参数4,参数5,参数6)Goto开始操作CD9ElsePluginMsg.ShowScrTXT(200,800,900,1000,不存在:+dirtxt+-+pltfilenameall,00CC00)//Goto开始操作CD9EndIf//IfPluginFile.ExistFile(pltfilenameall)//EndIf//PluginFile.CloseFile(ff)//如果应用窗口的位置对,即检测到红色,则点应用(窗口必须最大化)//描绘参数改成100EndIfDelay1000……四、PLT文件转LMS文件4.1PLT转换成LMS文件格式由于激光雕刻机如果处理点阵图,则雕出的文件是密度非常高的,时间非常长,雕一页书需要1个小时的时间,所以将图变成描边空心图以后,再将空心字内部以一定间隔的水平线填充,效果和全实心的区别不大,但是减少了大量的雕刻处理面积,加快了速度,一页书需要的时间为6分钟。故在雕刻软件中也需要对PLT文件进行填充和对激光雕刻机的占空比,时间间隔进行限制,经过研究开发如下代码[6]:关键代码片段://通过判断表达式的取值,来执行后面的动作或控制IfColor761,479,ffffff,2IfColor762,479,2c57e5,2MoveTo646,558Delay100LeftClick1Goto开始操作ELS//Else当前文件在退出时提示:已经修改,是否保存的时候,选否EndIfElseGosub组合参数应用Gosub改黄色占空比Goto开始操作ELSSub画框//设成黄色,则可以打空心青色和边黄