手把手教你使用 Imagepro plus - 宏操作【转】
Imagepro plus操作5 – 提高测量效率的必须技术-宏操作(续)
星期三, 七月 7th, 2010 | 图像分析 | hbchendl | 浏览:897
请先参阅:Imagepro plus操作5 – 提高测量效率的必须技术-宏操作
上一篇只是叙述了最简单的宏操作方法。现在我们可以使用一点稍复杂的技巧来提高效率。这也是我刚学会的几个小招术。使用稍复杂一点的宏,需要你了解 一些编程语言的常识。如果一点也不懂编程语言,理解起来会很困难。但也别太紧张,不会写代码不要紧,只要有一点基本的知识的够用了。
还是以上一篇的例子来说吧。上一篇我编制了一个宏操作程序,然后按一个快捷键就能把一张照片的黑白反转过来了。如果要处理几百张照片,还是得按几百次键的。
现在我们试着制作一个宏操作,运行它就能把文件夹里所有的文件全给处理了。
打开IPP后加载上默认的宏操作脚本default.ipm。如果你从未用过宏,打开IPP的时候这个默认脚本就已经加载上了。如果要重新加载这个 默认脚本,就点macro 窗口中的 change macro按纽,在弹出的文件选择窗口中选择default.ipm打开就行了。
再点击edit macro,就可以看到宏操作的代码了。现在我没录制宏,所以里面是空的。
下面我录制了一个宏操作,名称是ccc。动作是:
invert contrast
apply contrast
save file
close file
就是把一张打开的图片黑白翻转后保存,然后关闭这张图片。
录制好这个宏之后,再次edit macro,看看录制的代码是什么样子的:
Sub ccc()
‘D
ret = IpLutSetAttr(LUT_CONTRAST, -1)
ret = IpLutApply()
ret = IpWsSave()
ret = IpDocClose()
ret = IpIOvrShow(0)
ret = IpAnShow(0)
ret = IpDcnvShow(0)
End Sub
所谓编制程序,就是用手写下这些代码。
所谓录制宏操作,就是IPP根据你的操作内容,记录下来,自动生成一组完成操作的代码。所以有了宏操作这个功能,不会写代码也能写代码了。
到现在为止,还不是本篇的主题。下面是想法把这组代码能应用到多张照片上。
对一组照片进行处理的程序代码是相当复杂的,咱们自己编制不了。不过,IPP提供了现成的代码可以利用的。这就是batch_process.ipm。
还是点macro — change macro,在打开的文件选择窗口中,选择batch_process.ipm打开。
再点edit macro弹出程序编辑窗口,这回代码就太多了。
看不懂不要紧。这个宏的功能就是一个一个地打开文件,处理一下,再返回。只要我们把它处理图片的代码换成我们自己处理图片的代码,它就能用我们自己的操作批处理我们自己的图片了。
在程序的第119行有这么一段代码:(找119行的方法是:把光标点到一个地方,在窗口右下角看这个位置的LN后面的数字就是行号,col后面的数字 是列)
’ Call processing routine here ***
‘ The document ID and file name are sent here
’ in case the processing routine needs them.
DoStuff docID, gDirStart + fName
‘ Close the initial image
这几句话前面有“ ‘ ”的绿色字母都是说明文字,只有一句话是有用的,就是“dostuff docID,gdirstart+fname“
这个操作是原来程序的操作,把它换成我们自己的操作就行啦。
上去看看刚才我们自己录制的代码,从’D后面开始到end sub之间的代码替换掉上面这句话就行啦!就是这样子:
’ Call processing routine here ***
‘ The document ID and file name are sent here
’ in case the processing routine needs them.
ret = IpLutSetAttr(LUT_CONTRAST, -1)
ret = IpLutApply()
ret = IpWsSave()
ret = IpDocClose()
ret = IpIOvrShow(0)
ret = IpAnShow(0)
ret = IpDcnvShow(0)
‘ Close the initial image
然后保存。就可以用了。
点macro菜单,最下面会有三个子菜单
分别是ProcessDirectory,ProcessOpenDocs,ProcessSubDir。我刚才改的是第一个。处理文件夹。
点processDirectory,先会弹出文件选择窗口,选择待处理图片的文件夹中,任找一个文件点一下。OK之后就没你事了。程序会把这个文件夹里所有的图片文件都给来个黑白颠倒。其他的非图片文件则不会被改动。
还可以使用processopendocs,这是批处理打开的图片,只要按照上述方法改动191行的代码就行了。
原文网址:http://hbchendl.dxyer.cn/1926_69560/
手把手教你使用 Imagepro plus - 宏操作【转】的更多相关文章
- 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...
- 《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操 ...
- 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是 ...
- 《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)
1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助 ...
- 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...
- 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...
- 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上 ...
- 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
- 《手把手教你》系列技巧篇(五十一)-java+ selenium自动化测试-字符串操作-下篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
随机推荐
- Masonry 固定宽度 等间距
-(void)makeEqualDisViews:(NSArray *)views inView:(UIView *)containerView LRpadding:(CGFloat)LRpaddin ...
- python程序中自启动appium服务
普通启动Appium服务方法: 打开cmd,运行命令: #>appium -a 127.0.0.1 -p 4723 当程序输出如上图信息的时候,表示appium启动成功,此时便可以运行 ...
- leetcode:Longest Palindromic Substring(求最大的回文字符串)
Question:Given a string S, find the longest palindromic substring in S. You may assume that the maxi ...
- Android应用解决65K方法数限制
近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持. 如果你是一名幸运的Android应用开发者,正在 ...
- 数字图像去噪典型算法及matlab实现
原文地址http://jncumter.blog.51cto.com/812546/243961 图像去噪是数字图像处理中的重要环节和步骤.去噪效果的好坏直接影响到后续的图像处理工作如图像分割.边 ...
- Hamming Weight的算法分析(转载)
看代码时遇到一个求32bit二进制数中1的个数的问题,感觉算法很奇妙,特记录学习心得于此,备忘. 计算一个64bit二进制数中1的个数. 解决这个问题的算法不难,很自然就可以想到,但是要给出问题的最优 ...
- Bluebird-Core API(二)
.error .error([function(any error) rejectedHandler]) -> Promise 和catch一样,但是catch捕获了所有错误类型的异常,而err ...
- CSStickyHeaderFlowLayout collectionView headerView 悬浮
github:https://github.com/levyleo/CSStickyHeaderFlowLayout iOS 10 使用时会出现崩溃:https://github.com/CSStic ...
- cocos2d 设置按钮不可用
需要两步设置按钮变灰,然后不可点击 btnBuy.setBright(false); btnBuy.setTouchEnabled(false); 或者直接不显示按钮 btnBuy.setEnable ...
- accelerated C++ 中查找url(学习笔记)
这个程序用来查找被称为url(统一资源地)的万维网地址,输入一行包含url的字符串,程序会帮你识别并输出字符串里所包含的全部url. url的格式: protocol-name(协议名称)://res ...