zuak110
zuak110
#3837
等待更新就好,会直接修改现有的收集方法。
#3837
看了先前两个被关闭的PR(#3782、#3560),也是尝试修改 GET_SHIP,但是由于Meta船界面与其他船获取界面不同,直接识别左侧按钮会出现问题。 个人觉得如果要动 GET_SHIP,同时还要考虑底色和透明度对GET_SHIP可能造成的影响,只能通过识别屏幕右下角按钮和左下角分享按钮的小范围色块来实现。当前方案是通过增加白色块和箭头中间的小部分暗色区域来实现的。这一改动可以和其他所有此处有纯白背景的界面进行区分。 我提交PR前对我能想到的界面都进行了测试,但是更大范围的测试的确是必要的,否则可能会影响其他基础功能。 下一步可能还是要优先处理后宅的收集逻辑,避免进入管理页面。
> 这个暗色区域是否会因为具体舰船而变化?比如金船的底色是黄的 对的,由于各舰船底色不同,导致这部分暗色区域会因为底色不同而发生一些颜色的变化。 例如在我的测试中暗色区域摘出了如下颜色: 白船 #74777b RGB: (116, 119, 123) 蓝船 #6e7a87 RGB: (110, 122, 135) 紫船 #777185 RGB: (119, 113, 133) 金船 #867a69 RGB: (134, 122, 105) 彩船 #83817b...
> 具有背景颜色的区域用来算平均颜色是不严谨的,不要这样做。 GET_SHIP的改法两种,一个是选择一个有足够特征的区域进行模板匹配,比如边上的锁定按钮分享按钮;二个是选择另一个非白色的区域用来排除,需要当前 GET_SHIP 是白色且附近的某个区域不是白色 同意。 提交PR前考虑过同时识别两处位置进行排除,也就是第二种方法,但由于调用过多做这种代码上的修改需要极其谨慎。 关于提到的这两种改法,我有一些考虑: 方法1:对左侧按钮进行模板匹配,但必须单独处理Meta结晶的界面(按钮位置与普通船不同); 方法2:同时识别两处做排除(或者识别一处附加附近非白色区域),以现在这张模板图为例,由于按钮一定存在非白色区域,这个区域可能是除了纯白色的任何颜色,那么对非白色区去色,然后截图当前界面,对截图的这部分区域的非白色再去色,最后进行模板匹配,也就是说实质上是二值化后再匹配。 你觉得哪种方法更合适一些?