假设我在Sikulli中创建了一个名为myRegion的区域,并将其传递给setROI()。是否使用find(pictureIWantToFind)就像我不使用setROI()一样快,而是调用find(myRegion.inside().exists(pictureIWantToFind))?
另外,setROI()将继续使用感兴趣的区域,直到您告诉它其他情况,如setROI(SCREEN)?
正如你所说的,是的,我相信使用SetROI()会比find(myRegion.inside().exists(PictureYouWantToFind)略快——只是稍微快一点。
————
-
因为find()操作是Region类的一个方法,而不是调用
find(myRegion.inside().exists(myPic))
,您可以更简单地完成同样的事情:myRegion.find(myPic)
-
默认ROI为带有保留字"screen"的整个屏幕。因此,find(myPic)与SCREEN.find(myPic)相同。将myRegion传递给setROI(),就像setROI(myRegion)一样,重新定义SCREEN,现在SCREEN = myRegion。如果您选择使用setROI(),请注意—所有以下区域操作(如wait()或exists())将作用于myRegion,而不是整个屏幕,直到您重新定义它,按照这个答案在Sikuli论坛
总之,myRegion.find(myPic)
将允许您搜索较小的ROI,而无需重命名SCREEN。