打印

[讨论] 合成三剑客(废弃BatchBlender)

那想问问如果遇到上面的问题,要应该怎样写正则式呢??(一组一组配对合)
例如:第一组是1到N
         第二组是N+1到M (N和M都是文件名并且是数字,N不等于M)
就上面2个例子写2个正则式
PS:想学学这样的正则式该如何表达,我觉得用 BatchBlender Alpha 一组一组合会比用PS一张一张合要强
引用:
原帖由 soul8526 于 2009-02-21 21:21 发表
那想问问如果遇到上面的问题,要应该怎样写正则式呢??(一组一组配对合)
例如:第一组是1到N
         第二组是N+1到M (N和M都是文件名并且是数字,N不等于M)
就上面2个例子写2个正则式
PS:想学学这样的正则式该如何 ...
1,保证目录下只有1组
2,修改正则表达式
Source为$1+本组背景图名,比方$1056.bmp
Mask为空
Delta为(?i)(.?)\d{3}\.bmp
Command为[Tool] -s [Source] -d [Delta]
3,合成好使目录为空
4,重复1

注意:每次filter会出现第一张Delta就是Source的情况,不用管(因为汉公对这种情况做了优化,所以实际不要管它),如果一定要排除就要使用忽略优先

[ 本帖最后由 haibara 于 2009-02-22 15:08 编辑 ]
非常感谢还大的回答!!!! 我懂了!!!
Delta那里不行,要怎么改
E:\>"C:\Documents and Settings\zi\My Documents\CG合成\BatchBlender\Majiro_mask_m
e.exe" -s "E:\1\066.bmp" -d "E:\1\(?i)d{3}.bmp" -o "E:" -r -f 0x00ff00
打开delta_bmp失败


引用:
原帖由 ziya186 于 2009-02-22 13:05 发表
Delta那里不行,要怎么改
E:\>"C:\Documents and Settings\zi\My Documents\CG合成\BatchBlender\Majiro_mask_m
e.exe" -s "E:\1\066.bmp" -d "E:\1\(?i)d{3}.bmp" -o "E:" -r -f 0x00ff00
打开delta_bmp失败
ht ...
我的错,正则有问题,你要把第2步改成

Source为$1+本组背景图名,比方$1056.bmp
Mask为空
Delta为(?i)(.?)\d{3}\.bmp
Command为[Tool] -s [Source] -d [Delta]

其实这是个必须改进项目,实际我写了3个匹配模式,分别对应Source,Mask,Delta,而判断的标准是非空且不带$,在这里就出现问题了,实际的匹配模式是Delta而程序选择了Source(因为Source非空且不带$),所以要让Source带$,使匹配模式为Delta

要想完美解决这问题(判断Source,Mask,Delta中谁是正则),就需要加个匹配模式选择项
而比较差的解决方式是禁止Source匹配根据Command来判断模式(有-d就是Delta,无就是Mask)

注意:你不需要加-r

[ 本帖最后由 haibara 于 2009-02-22 17:27 编辑 ]
引用:
原帖由 haibara 于 2009-02-19 17:56 发表


因为ImageMagick只支持ascii,也就是无论输入文件还是输出文件的路径都不能有中文或者其他键盘上没有的字符比如日文

以后的版本我会借用ren命令去排除那种狗屁限制,不过是以后。。。
MagickMerger升级,针对ImageMagick只支持ascii作了特殊处理(单对单限制文件名ascii,批量限制文件夹ascii,文件名通过ren命令可允许non-ascii)
haibara大大你好~
我之前写的EasyMerge这次加入了批次功能
可以一次和成多个底图和素材
我是使用档名来判断是不是同一组
只要底图档名和素材开头一样就会合成
ex:aa.png和aa00.png,aa_01.png
不知道这样算不算是笛卡尔积呢
我的程式有没有需要改进的地方呢
谢谢

http://www.rayfile.com/files/6c589c38-0289-11de-8dba-0014221b798a/

[ 本帖最后由 coolshake 于 2009-02-25 00:23 编辑 ]
引用:
原帖由 coolshake 于 2009-02-24 23:52 发表
haibara大大你好~
我之前写的EasyMerge这次加入了批次功能
可以一次和成多个底图和素材
我是使用档名来判断是不是同一组
只要底图档名和素材开头一样就会合成
不知道这样算不算是笛卡尔积呢
我的程式有没有需要 ...
你的是笛卡尔积,但是是有限的,也就是只有AXB2个集合
通常合成应该不限制集合数量,这点必须要改进,也就是能实现AXBXCXDXE...

我再提几点意见
1,一般合成的图像是在同目录下,所以加载背景后,我觉得合成素材应该设置同目录为当前目录,而不仅仅是C盘
2,最好加拖拽功能
3,列表除了垂直栏应该也有水平栏,因为你加的列表项是绝对路径,比较长
4,列表的功能要增加,我觉得只清除所选项这功能满常见,尤其你有预览功能可以预选

其他你我喜好不同,没什么大关系
1,使用背景是合成素材的字首来判断同组?这功能我没试出来
2,保存的文件名,我喜欢结果的文件名带有源文件名的信息,虽然看起来会很乱,但这样可以再检查,如果发现合成有错误,也能快速判断源文件是什么,如果没有错误,合成好我再用metamorphose把结果文件名处理的漂亮点就是了
引用:
原帖由 haibara 于 2009-02-25 00:37 发表


你的是笛卡尔积,但是是有限的,也就是只有AXB2个集合
通常合成应该不限制集合数量,这点必须要改进,也就是能实现AXBXCXDXE...

我再提几点意见
1,一般合成的图像是在同目录下,所以加载背景后,我觉得合成 ...
haibara大大你好~
谢谢你的建议~
因为我的程式只能合PNG档
通常合成都是底图加素材两个部分?
应该AXB两个集合就足够了吧~

我是使用底图的文件名和素材的文件名做判断是不是同一组要合成的图
从文件名第一个字开始比较,如果素材文件名包含底图文件名就会执行合成
例如
底图A:aaa.png
底图B:bbb.png
素材1:aaa_00.png ~ aaa_03.png
素材2:bbb_00.png ~ bbb_04.png
底图A和素材1合成,底图B和素材2合成

保存文件名部分我是设定和底图相同的文件名后面再加上编号,应该和您说的意思是一样的

再次感谢您的建议
我再继续修改~
引用:
原帖由 coolshake 于 2009-02-25 22:01 发表


haibara大大你好~
谢谢你的建议~
因为我的程式只能合PNG档
通常合成都是底图加素材两个部分?
应该AXB两个集合就足够了吧~

我是使用底图的文件名和素材的文件名做判断是不是同一组要合成的图
从文件名第一 ...
只有2个集合是肯定不够的

以你的This will never end为例子
我认为背景是A组,合成素材的第1,2张是B组,第3,4张是C组,第5张是D组(你认为合成素材只是B组)
实际应该是有AXBXCXD,AXBXC,AXBXD,AXCXD,AXB,AXC这些可能组合(这里不考虑合成的图片是否有逻辑)

为什么是这样呢,因为B组,C组,D组对A组所产生的变化是不同,而且核心部分相互不覆盖,只有叠加效果,所以我把合成素材分成B组,C组,D组(比方B组是表情,C组是胸部,D组是汁液,任意组合与背景合成都是可行的)

你认为合成素材内部不分组,但是实际应该是分组的



命名部分我明白了,但是使用编号对于错误处理是不太方便,特别是你认可内部分组以后,合成数量会极具上升,只用编号可能有点那个。。。

[ 本帖最后由 haibara 于 2009-02-25 23:08 编辑 ]
查看积分策略说明

快速回复主题

选项

[完成后可按 Ctrl+Enter 发布]  预览帖子  恢复数据  清空内容

当前时区 GMT+8, 现在时间是 2020-07-02 16:59

Processed in 0.033410 second(s), 5 queries.