From 1f30a686d5c7d13750d6b9ed541c12bf16ca422f Mon Sep 17 00:00:00 2001 From: chflame Date: Sat, 8 Jun 2024 14:04:24 +0800 Subject: [PATCH] commit BatchSelector, MediapipeFacialSegment nodes, LayerUtility creates new subdirectories --- README.MD | 32 +++++- README_CN.MD | 29 ++++++ image/batch_selector_example.jpg | Bin 0 -> 95731 bytes image/batch_selector_node.jpg | Bin 0 -> 41824 bytes image/mediapipe_facial_segment_example.jpg | Bin 0 -> 79364 bytes image/mediapipe_facial_segment_node.jpg | Bin 0 -> 56876 bytes py/Qwen_image2prompt.py | 2 +- py/batch_selector.py | 65 ++++++++++++ py/color_to_RGBvalue.py | 2 +- py/data_nodes.py | 14 +-- py/imagefunc.py | 4 + py/loadpsd.py | 2 +- py/mediapipe_facial_segment.py | 109 +++++++++++++++++++++ py/print_info.py | 2 +- py/prompt_embellish.py | 2 +- py/prompt_tagger.py | 2 +- py/purge_vram.py | 2 +- py/qrcode.py | 4 +- py/save_image_plus.py | 2 +- py/text_join.py | 2 +- py/watermark.py | 4 +- py/xy2percent.py | 2 +- pyproject.toml | 4 +- 23 files changed, 261 insertions(+), 24 deletions(-) create mode 100644 image/batch_selector_example.jpg create mode 100644 image/batch_selector_node.jpg create mode 100644 image/mediapipe_facial_segment_example.jpg create mode 100644 image/mediapipe_facial_segment_node.jpg create mode 100644 py/batch_selector.py create mode 100644 py/mediapipe_facial_segment.py diff --git a/README.MD b/README.MD index 0c712c0..5c3ef25 100644 --- a/README.MD +++ b/README.MD @@ -2,7 +2,7 @@ [中文说明点这里](./README_CN.MD) -如果您有定制节点、定制工作流业务,请联系email [chflame@163.com](mailto:chflame@163.com). +商务合作请联系email [chflame@163.com](mailto:chflame@163.com). For business cooperation, please contact email [chflame@163.com](mailto:chflame@163.com). @@ -80,6 +80,10 @@ When this error has occurred, please check the network environment. ## Update **If the dependency package error after updating, please reinstall the relevant dependency packages.
+ +* Commit [MediapipeFacialSegment](#MediapipeFacialSegment) node,Used to segment facial features, including left and right eyebrows, eyes, lips, and teeth. +* Commit [BatchSelector](#BatchSelector) node,Used to retrieve specified images or masks from batch images or masks. +* LayerUtility creates new subdirectories such as SystemIO, Data, and Prompt. Some nodes are classified into subdirectories. * Commit [MaskByColor](#MaskByColor) node, Generate a mask based on the selected color. * Commit [LoadPSD](#LoadPSD) node, It read the psd format, and output layer images. Note that this node requires the installation of the ```psd_tools``` dependency package, If error occurs during the installation of psd_tool, such as ```ModuleNotFoundError: No module named 'docopt'``` , please download [docopt's whl](https://www.piwheels.org/project/docopt/) and manual install it. * Commit [SegformerB2ClothesUltra](#SegformerB2ClothesUltra) node, it used to segment character clothing. The model segmentation code is from[StartHua](https://github.com/StartHua/Comfyui_segformer_b2_clothes), thanks to the original author. @@ -1059,6 +1063,19 @@ Node options: * output: Switch output. the value is the corresponding input group. when the ```random-output``` option is True, this setting will be ignored. * random_output: When this is true, the ```output``` setting will be ignored and a random set will be output among all valid inputs. + +### BatchSelector +Retrieve specified images or masks from batch images or masks. +![image](image/batch_selector_example.jpg) + +Node Options: +![image](image/batch_selector_node.jpg) +* images: Batch images input. This input is optional. +* masks: Batch masks input. This input is optional. +* select: Select the output image or mask at the batch index value, where 0 is the first image. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese characters. +Note: If the value exceeds the batch size, the last image will be output. If there is no corresponding input, an empty 64x64 image or a 64x64 black mask will be output. + + ### TextJoin ![image](image/text_join_example.jpg) Combine multiple paragraphs of text into one. @@ -1387,6 +1404,19 @@ Outputs: * yolo_masks: For all masks identified by yolo, each individual mask is output as a mask. +### MediapipeFacialSegment +Use the Mediapipe model to detect facial features, segment left and right eyebrows, eyes, lips, and tooth. +![image](image/mediapipe_facial_segment_example.jpg) + +Node Options: +![image](image/mediapipe_facial_segment_node.jpg) +* left_eye: Recognition switch of left eye. +* left_eyebrow: Recognition switch of left eyebrow. +* right_eye: Recognition switch of right eye. +* right_eyebrow: Recognition switch of right eyebrow. +* lips: Recognition switch of lips. +* tooth: Recognition switch of tooth. + ### MaskByColor Generate a mask based on the selected color. ![image](image/mask_by_color_example.jpg) diff --git a/README_CN.MD b/README_CN.MD index b249a50..e36dbf8 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -80,6 +80,9 @@ git clone https://github.com/chflame163/ComfyUI_LayerStyle.git ## 更新说明 **如果本插件更新后出现依赖包错误,请重新安装相关依赖包。 +* 添加 [MediapipeFacialSegment](#MediapipeFacialSegment) 节点, 用于分割面部五官,包括左右眉、眼睛、嘴唇和牙齿。 +* 添加 [BatchSelector](#BatchSelector) 节点, 用于从批量图片或遮罩中获取指定的图片或遮罩。 +* LayerUtility大类新建子目录SystemIO, Data, Prompt。一部分节点被分类到子目录。 * 添加 [MaskByColor](#MaskByColor) 节点, 根据选择的颜色生成遮罩。 * 添加 [LoadPSD](#LoadPSD) 节点, 读取psd格式并输出图层图片。注意这个节点需要安装psd_tools依赖包,如果安装psd_tool中出现```ModuleNotFoundError: No module named 'docopt'```错误,请下载[docopt的whl](https://www.piwheels.org/project/docopt/)手动安装。 * 添加 [SegformerB2ClothesUltra](#SegformerB2ClothesUltra)节点,用于分割人物服装。模型分割代码来自[StartHua](https://github.com/StartHua/Comfyui_segformer_b2_clothes),感谢原作者。 @@ -1049,6 +1052,18 @@ cropped_mask: 裁切后的遮罩。 * random_output: 当此项为True时, 将忽略```output```设置,在所有的有效输入中随机输出一组。 +### BatchSelector +从批量图片或遮罩中获取指定的图片或遮罩。 +![image](image/batch_selector_example.jpg) + +节点选项说明: +![image](image/batch_selector_node.jpg) +* images: 批量图片输入。此输入为可选项。 +* masks: 批量遮罩输入。此输入为可选项。 +* select: 选择输出的图片或遮罩在批量的索引值,0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 +注意:如果数值超出批量,将输出最后一张。如果没有对应的输入,将输出一个空的64x64图片或64x64黑色遮罩。 + + ### TextJoin ![image](image/text_join_example.jpg) 将多段文字组合为一段。 @@ -1372,6 +1387,20 @@ PersonMaskUltra的V2升级版,增加了VITMatte边缘处理方法。(注意: * yolo_masks: yolo识别出来的所有遮罩,每个单独的遮罩输出为一个mask。 +### MediapipeFacialSegment +使用Mediapipe模型检测人脸五官,分割左右眉、眼睛、嘴唇和牙齿。 +![image](image/mediapipe_facial_segment_example.jpg) + +节点选项说明: +![image](image/mediapipe_facial_segment_node.jpg) +* left_eye: 左眼识别开关。 +* left_eyebrow: 左眉识别开关。 +* right_eye: 右眼识别开关。 +* right_eyebrow: 右眉识别开关。 +* lips: 嘴唇识别开关。 +* tooth: 牙齿识别开关。 + + ### MaskByColor 根据颜色生成遮罩。 ![image](image/mask_by_color_example.jpg) diff --git a/image/batch_selector_example.jpg b/image/batch_selector_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04f07867f0c003508c503e441de228f6725c6b8e GIT binary patch literal 95731 zcmeEvbzD?k*XR%uI;4W2lz`GPbc29|f^>-F3`4`f45vW7S@J@3q%j2RGku4(-LB@O89Ifs=?wbRCyI^$7;D?KP=l8fR28m|Vb-;LHa1I!EHW4vFNj7d1M>kuH4~_>WA}k^% zBP<~!EX9TpkwGA2#Kb^%7>wu+!4~e#O&IJB;SLUx;5$S+_eAIMEnzSc0-|j?Nq*;r zfc+OQ1iZiVLP)R!gFuAvCv0-5ZFm~s7f1z$|J{7QISGT~xv)~vh7oQ~!6@-hFx!hz zyUjk>6&Re1jEtNNPEHP|*|&Ee4ILF6PDRJCe?Q&+{R}j4{Ac@T>*0@A0*Zb6C@3kY zDJiKBP*PGJfG(5=wz|;#Cjd6R4xp%XHKoL;6hXDTp z1VbMp7y%*i9uiVA^1b_j0_?6NfDsbyR8qqThzW=Yi3#_Rl925of{TJm8Y1E&w1_>& z^=$UDdt4GBIS`XxqRhcbr~ecwDu%uMMuqfftijCCED9%1f44N~m};D%?TKd@o)QN; zjE2#353baAdX3Dham8l_m)&US8ePaLZ+tuU-Pq1MBq94@)4TCSNp%x@pU}j670unB ze$c=O2?4dlc$!E__K4$2ID()h1{8R(@82VGDdqq~!BhP=GoqZxA?)Q?6$3gHPHgrl z2}A(tG4W>|fQXEPwkM1vJki5HN%(sTxPFna*$aac;c?Qy6k+oVaap8w>o0h0c1$Pgdv-m{<*0rFqUV9GjpiqY0`r#bwnB38{dR|Ds#wtA0l^^g3~vv^wj`g#zd`&Oq4Ob!f9!oywMSu=vfVxyoZ^hd!zWJ$T&B%=X0@` zMk-~E);epI-QYDh>1#^FON`1DGXv@;YaWZq%PP8OP4uk>nvSN=R--bsTb>a1W7cO;@XomGuJ^o?d+hHJN z*2Cp}FRr|HneL$UE0H-(!lR^b1Fr?PojYpWN!mTAm^vXr9LU$@sHu78I8NoNd%sOF zP^ooq-sSJ%H=APpd^!lKUDpO)sji;TLOqfHkRJA(kJ2Uj!{Whj8z+s;SY~=J6qG4; z94(+CKA*n=x9^PB-sn=krhTL4)%g2Q%Vo5RdxTUams=TLjRrj#9DiF?`{{k-LDN;z zCsV$Ym2u04`foJN*1V-?^lEPj94+WlpZAn5T3i>J*n8}&_atTShe>NVt9+_Ypz8_F z0>d(x81*d?&jTw~Z{4cGUWNvRueroJG&}p0T>5tYlI+9!3dvQCb(NwKdO5hu!wQXX zU!otk_^wUd^6oc3>CjVkqYU;*dV1uCBd(ER6Na$Zgx&NcdQyI-+TDU!C+c0*jlhpi ziVhaBK987tNK}f6$`dwWx+}eXnxusD4^?a#_J17AeESmp-6k1lVR1U^Z4Bzv6>`Tn zrjPH-bbP80dU30lDthmYWqQkHkAyic1D@A%92eE@K0Fu0!FMEW5`O2Ec2=aro;&4{ zByvO#SH17ZzdYangAw-v7k%}Zc`~OeQUc~j%(%bmsLG8~we1#6c@`TE>6>q$;ZCD2 zdi12gG4#YmsYGGcO!L7vwf&PdgP3`z;J}xn!*oTy$M{J5PfzxyMWvlM%G-B}wd@;Z zm^;q9IV93X**U+TXb_&};ru~^^#!Ths9mwtLHViN&Meor)xHzuS_Y>_R@&1ug34ZW z|M20=v|0LI+HGKSzPIPvp?%($2XPgt7bM*_VQLLp-Li{u<}+p^{+0CQS7;Ysea;gs zELwWB9(LGm!)m=!agHbLo42&UttjI1rsJVvlOAqeYF`9=BjvFVzC;jpGji_9%f$Tx~Nk}8!LV$S*%#3BB6}Aj?iyedJp@4Io2w@ z>3K7^*5{?Qn$t&bzo8A3{5&_7JUAYkw%M^I(n4OZO_|) z$zlK}Hh4OXp$~z5bS}WeqoCk}{ z$$-&^78~*Ftq)pP(mOpa{TM)n3GWH&RbSD0Bj}U!F+%dI8l+#j2;_G zDZD}!JvgD$pU_&{kyb^=8GjA`nD1>8${TG9ty-PiGCw|JXz*fIQ~N#7al_1|EUw0* zlGb<70rsz!*j~(P=bf}`WqJW4gzx9559a#t>DDV}OMi26#jDDiM@7GruE=b{+BacN zmUlK`>Q>9Ole(Hmk1|p@dzTkb-0D+8aLnHgh-DPfl#5e5XFI_&t&r!XkZYyUlpT@M zF8$A-3RF7pxX^2H)`VQ`!VSZgbrVd;fNA()gs;>cwGGu_Yx6?ZqJG>kvCeW!?88@}j()z7n{ch0* zMGqrc&U>3(ANTWT#v0s@eW7_&=0$?OCePc`rTUtu^SokXPkI^LkB>FTyJedhd&>~2 zd#6n<_ONH-i;OGmr zPfXrDQ?B@I~!1fc-9 z{NkAQH;#4OJsmM_I8c8OYN_Jx>9)fJOvMF>{rRA8kJJA7pn`Q%`SsxD`RhRo>4N)N zbK2h1`{%<6R~OZv4?vE;Kr5r1?Y9N7B_)`?y0QwO20A{#^ljPLY%yL)CCo?Y5&u!g zy8Wq4+2zmel(DvkMsA*J9QrQM*#7(|yV$b*Rk=RS#S>qy>+7O~{Mmf3HyY)M!K&JL z+CUuOiPW{%#qDSXbPqKKzYy6lEwtShm_ML31gDd~LTi9>*(%q?qLj`+5bz&r6c*!d z;(!K&3pCWx&3;FGlu(5}ph+3y>4|Z5!MNFPcY*KJKqUNDPO($2?`ZGvd&Rz;3P9V> z_Rw4*n%trRb{+fz>vZQAKaY;#>nOL8f*-|;uq}O~z?VViH5PnJ#@)|E^Y~|S{1sdX z@V&rU4*Klfo+LnF@f3W=mukR-?Cd~|3%G*Q7x)ltm!v1B{45c{mz#m>P8)H238eYk zC3u)i;28$Ztj)jt5PgQK|FUZHzf*^o1q2%Kwk;{>to!Rp82?1DB@beVYKU$~)9|t& zCc~FNasp+9N?YG;NUET8YkmWmgi5>WSU?R7e-_;upF_|ikqx+PNdTkG6?Xegy_gzIK7_6hc`M=FSkr&ow*Y<=L{_YZO zoc-=CjKs#p)6m9#S1U>s+Qr2X?dz$D(=gQ5+F2yYc8Yg3CU?MK&mDJhwBL~w)fV#_ zJH~F%Q*@CaE{<8v-@o9`3Bx`a{ zj62x;ap>Py#l0?I`TSEU9Eo3U|5UyY46(x>o8xCZH-rf6?m(RtXYlu1vycXVzcbqp z;GZCcCc^iE+QZ0qjD|GuU<9=DBMg>i4a%ip48SM!kI(2IpV2=)qknux|M-ml@frQ& zGy2D8^pDTzKk^yj?W-feqJqIpz!z9xz=;Dp4zmRZ93(i>umMMm1Gt9{JUINFJ7{s> z-?U(ZiNJ)xR}=!dW#Mg|u1N967=UGSi1L_&r>DD&kdPZr&<2WF3ZgKsLcTWcLI^=& zA()(^ue%M(8STl2M1wPgJp1(HT6Q)^TX}X9acyC3cNMgQqsBQb+Th%2L)1BEl(a3o zq5_+ouZ*v&yDQq$hRxU2#SJIpE6A5PI}lXSI26_q?|5Q^ zAOfd~m!~{CAa#oeSNES_|58{x4Q)|B+qr|23?8{HN(k+Oc162+;(%Zg5dV0f?mOY( zpIvr={#lJ5jh#+Fw%Xc%-C<|oTwQ;nz^7?c+@v{3&oHMhl}0E}N)B_wR5kfOFW0-^{>2?0AXF$n=FG}=x; zOiWY?AueGnDUFugfwpxrw{iI$DnyknfGA=kWoIji5D~DmL)i*Q*omP8q=fBk1#G1e zQb-9j(#{4@1VAe_xAz5!GAgWTi9_JJ5L`QEc&=Tklnx4E}_3A9^(cb#eb3SZi5B>ZBH~7C(mw& z#kjIOe+v?4 z?%PNE-^l$WI!_Y(hulv`ko$QToOwxqPyK`u?;#>2A%Jb?ei9NA{ay=v*1zR`5)u$W zxt}DYMBqY*BOoNAA%^V%$)CsdNcP)+Bn}$dde(OglN}2p-^;*wCH{n3W|?uP5%;0Fk$EWp6YUjzV=D*rZ&E;| zG)x_Q!;*3;pTGaS#3QYF#?kL;a&Fa&o{42%nUiKt=fYF+9<}s-S=q`JCEBwGhV2#fMODlOEDtpB{K(}z8T_Brqf4aXGJ;1R4&uU8XUcgDt$(Z>kuDS z4LWET2Qp(B7>`MuIK*Y^X(Tz9@t~fYr*mZfN_=M7Zj#l0%Uk_DZFLvT|AOS*>7^s9 z;~%R0EM`p(jSnIw62r@DT<7MI`Nn0fAF2|w-Inqz+V~RVWsrq~63c!i#=*El7P)@A#l_Yopnq zaG|Acqq%dcf3pysgNej)h$Zj4<%&W}6Mv(os#9jDC~+BN!L)hb_%uWY%Dg%QfP7Zv zr$XmZ=sM3-ZB+0zsaw*&IUAtIm{%7r;SnsfHX2WxKbdFAz(f7sCSx}Z`t^;CH=2pJ z*Ps%^%lMMIh1)z#Fsc64@AK8FD%!BK#ubGqGrQ@eg+?>8P9gu+P9ZwyUAWTCo2o(} zo_;4F9T3Opo3C8i*@X(x`+_k30SO1O4OzJ=5(jUl^Ii_d&V@iUCZ^IkpBoo%2ZDtt z>K5Xw;hmfdc8qFa27R^|E#pf)H_j~T(`Zp+V_uyeUfC_N9A(M-8gL8;9RJ4X*l<2o zZ!;!7;GHa>wW-QaeFxPD04434e|B8FwMA-cz!3QH1XBM1i1KNb%6nTN@}p4SvlWuf zZkD$B{3$R<6u+o0_!`wB4`i2QBE;?4Xz>JxNv+u;k1`oTxqG0++eDdwR%~ljCy%q% zgHDkJz#F7gKoPd<@trE#Yb;%icFWm&xuUf_{Jy-Jtbaxq3Q{+WdA+1R0Qs-*Y-{c| zZDq#E=eva`Qh}@?Eu~D#uK>dIfiw_NXsP!HLBCs$#LfYQp1n7T0$-qjsX(QnjO398 z#@rgGaiC^l?Z=aDzHPKPo)RREGof=->+u}qIo;zmNasajEovexm7gQ3YggzrTu6jq zywrA@_Y1tvuF%@UMAz<4yE*8nJx`PJc$^C~7mL2eZ0@K?&-*Aym@z+z$*95ZPTOgy zr#OiKmk6TEJ`5CH5N1gQOu8sM3S(Q)zjT#O!J05v}C=0;tNVeRG(!-aR+ zNSww=={y*7ME9pu=I7QRMNRyn@^_EH4{Qif$9g(G zImAhjfP8nxur^90#5j>Sjwrk`qKok=fKUgRq=c9}q&C7tDR!&rC;MH1T9e;V?v^J& z31NgNlmwE*3tXbz{Em0y+3aP|)BkNF5D_McX{!o97Jn z;~?m}$Kp<#niHP?En;?tUwfV!FVOG?z+1iw7q7dG=vGHvC4Xv(5i$Mg?aGLOnNJVGCqz(ms zqX6A@tvY0(w4bV7Ht$ekJc$#sU<}^XM#4Li7_a7pEM)Xk0yQ5@{JYwnmi-I|#SzAHQBHOobQo^CY-@xGQ}tbd*9UAnK+gc?!sXnQ)Zs#Tk-4yTEu-d~ z)}~JXN6133goF8q39m@yP0kIk9K*8`f=YrnAPdG@vH{X9a;BD}wYmlohmnPr$-Zw7 zqdRxw*~OnZ7LTJ|h#TJ3Xf6`1mp~#G*~D9mC(L*rZ6J;?fj0{?hBcmTVa!c}8&&rh z0-6TqS(3r*2Yfsp2SkTg#6J-=;HD@sUL6}V@CT5<4w(cNls{l@Z6Shq-|Dl?fchk= z#HaoJY>S%5qL?V;LX1<^(V2-_l^B^f_J z+Y({O_fs!)LL2xSdFxIA5`G|A*OgFL2z%~ zMl*g;of(7Os7R9~Z^iZY=O)ZI2I(A%Ta52CGi3s+<$9r;iV)cFE3UVhqDp^Z zy<0DNBmp~XR2__?XS^`ak_71d6EAe_&(XJmSq35COMvXM^5=G=h@KLoEQnt`MU5e* zZ63x|fHGML-m+rQ<7TxH=7@P?u*mATJi;ii4ql@ove1mo_k%wTk>y4f&;vOT zPi=ll0nbDSG%n}R!})%D$NBLRgk&4+(F69JE%2T|Vtjy9U}OUkVi{4{_|e5n=nce! zv~S+)dW1~^u;d`!+T!I|^2s{5$3*-Sgvr0r!(9ZW{~YlvQzFao<{U7NKnsJhO+Pgo zVSEh?{u!W_zs99%??~z6;jNJd=IGg9(l-DEm2?7&5E>fDjyA5^J3cD13UtX2-U##q z(*IrBefGH>KcYvS&iQ)F*b|SX&czbIK}k=E$!6!s!Y|VZZ}=F9L&k`4ylbNNJWn66 znJl!n47sg}pN7%)uBX+t+q%Q=Ze#mrkp-PQ21WLkRg?=Xl%K$8Qj)ifqHMgyCu-pT zwjCV6XuuX!ioHG=UZD;4L%e0TZHH{31NPe%kvql&*hjW(LOVPbr_`}d?pt$TAzNZl zSUSIk_lsTjmRV_}<+9m~Hi+DSTCn9yc5HdZJm0T0e z>n6h=fu-JQ8Zu|Vm=HmxPWF!Vg{Si)SY!bc0Q!zijxR0)_O#aB0DfT2W^dUTyNQ34 zyk#8k2G*O7I$p!`-BC`FiEb~k-tf8Mq&x!GOrm=uiTFb1R63<~GaagC$+wv^Ywln{ zCc>8w8pqYoKJ6(nBzp*M+W)34p)2Twy8!hkwQJN>ggUiBWxoIwBr~aH;lIo1RN8e zco@%xYJr0*WTw`*&O(-2A<7)sL#h7HDuD$8&cD1<%TcbtsX>PU+qLCVr=@A$+E#Ux zrCuS_ry95%hJlF%!2#9;gr*Wb20SW|?c)l(14hj}GU${s0mtx)K_R|#Pz5(Q4;Mnl z5AY}$0eh)iVk!UexV$LFyb0jlO>^b<)+XRRnKhwIemqXs4v3yd13$@5H(l zgP#v@01WjCzz?wBGawPNmPa)mnrnuvVc?YlK)LNeXXrrS3^mS3^@oI`BC#C2(9Xg>K z=WGH}zB2dokM5!6;rs?Ggx992pf;vO^qlKPjp%}F`!P8Rfp*S*f7#hh7~BpIvNXCDz3lu79=V=hhU(H4Ixae;Kxohb=uP}lokoXz za8}ceCi4KT(9wQ3#Z)+}h9k$rl^pv7Pdi?X^|)0<`$Z25%ON+nq$cM>di&Rnm=039 zObw|ZwZf!SgfU?*I)ZYwi3z;%%=F(V(Iz1yi8(iqvzB(?J{E1L_?w1xx@on$>Bq7i z%~OI=^*S=F_y@L(U4CM?zJCJCv{7Oy{^4doH|tovW>!VY@W)Vf6q7k!=Ez}PE(N!u zLlsn`eh9-53z=aqjTWPfl4J^ZnR%lrSyn>@m=tJ8}d`x&yje++(8JI1%OjO;8^V(a&x%w|`Y7%hVpF}!y3 z?a23bi@7;q0C0)pSb&ewsNKB!ef~*r;0O}Z8kjXP5tarn0p2g;g}{Ay2e&`TPAVUG z(tz*uQB^*0xjF$)8}Jg-d10?EmAnV`p7B?FZRO3kkmDD4S?Y!8oT@HC9%^8RLC$EV zw{0S`#=yZcHU|7;r}ddjU+Q}{o&}B>$l3W8w?8r7V+${xhjc#V(*_pPIOILH08S~$ ztvie}fxPDhT>g*7=i+ra}IG4%+5r4Dkp1A7f}XHz;sPH3gE{gtg?IR#`|L;mJ}Cl9>DmLX5SiLfjh za*O5zOA4F<0KDlWu$0ny;fNq-_WqPA$N>%bL<2s>eOgpxa$t_DR{6&2K8 zY}(P2oiS?R8g54E^a4F`0rP0{9WYz)(+ha8qP41xdLGy{ngMUdIQRlfgEASKTpwI| zN{qp#45pT!iV!$-kGF$ZMhyxI^FV$!X7Hu6h!+8R2X;`P?;)1Dt&M*!xPhM>Jx%wt zJir%nuvyH_nxMg+4EEt)y&>zwr|lf@C2eWjLTigWn2^zWiSg&aQ9d0U`062Fh#y3& zw4XYdvUbuSI#ZD<;bN45CtwEzFu(jxfit7GE;PS^@d5n)j8Qh=xIYGrDQNKl6EQt8 z9)JfC9FZmv#WCvn$>KIxJZX3t?10^-47k!n<`T1k-3BpY9I7>dpXGmoZGzrn1dk0w z#J)jaqaJl3a6a9kW4~4gd(=|iw~X);#NDj@P175BaUs-x_C}9Z>8EPH5{f9(CbFH{ z&mCn;{D9jwo3(YoPW!!D#<~lAZNiUJ)j!A?mIK|)#CoD<5=a#gYsZ6cR;N-OIdfut z<4)SeO<3gY;E(x3O!5r^^&yqL#xvAIzY57S&tnOmD?M%H@^0F2ShJ z%W)&(Ex{3;if^Cni$gx}IgC6cdNVB5nNED6Xwh_HVFSVbH5g|%b5Y!T*5$qZIK!P# zy;}mg6QS=ZFLsVtEef@gzMs&uRB`@(_2|b5S!%MoGm2ALHZ$|<)pzxVVxm2=Kc~We zl=Szo2c7D?M_)+%(V|L8y6D;QkymM1tFOvxNy#>0-L0Jq3~r1ZH;!d!=(bpJob1Y5 z;o*I3ej)8z(5Qa1sLk3r`CE_s>b=qSRagRLn9ZQ(AjAE&L!sTXXBR)eBzz?mF%QSPY-@;xn3(-`DqhISFy?; z{U{!pedqECvh)=--irU>4f0=X#(5TA>&we{Y~{5P{E{yV-5-p6CzAfS|61H2^uMqOJ}|HQWyXWI75YBEQUS_~dq{F%<}et+ekF^9bCQcR9uMcC%qOVj`g`0Yfsb_)<-W6ZAs!7dQI z*osYwTAIIOAak~8S*><#&cfm}r z3e%}6$u&yWeFp-n2ID2wuf|$wDR#0=`d`f-xR6O5J=ZSWE7V$f$I>kL{qey_N_D~N z&ij@Z9*68bFQmom6N_pwwo~}TB1bbuB=nVTs9g|Cvyo%Zr8Sq3R@S-lP1bM|1}_;8 z6f|{pbTE&)a#4Lv)RyXEk(SS!=y8n|4u-XZb);Y7qZ?CBEk{h0XWcw0r*ZGgv#)6i z&Z6s~rp*^&8znI<<6P`s(mJ!OK}UiZHV*jrj%RsPCsNgh4CWJ*{h$nx&Q$ys{k;j; zPI@<^Ma~i?$u6lROP9K@m;F=;(;r5AJ+@oWj4 zIF6{3RBj^&Sx!|bPIa$|D8)SQ&=N{|NEafp(zQ6jY`5l9=f|tN8V;%JewB`{+)JT zQAa_}ZzZsNRrA%_{p*33fHgl@8o(I%(K+zPw>0uDzq@o)u*!hp`v>K+A1G=4MBp*t==;f7B4uL;^Lxbj#fZS z2(6L2Zmh@6G+)doYL9z0!;CMLT%zn-U*{SM-BrrBM!wayKDJn^M;72dyNz1_kK13G zkGMUqXhvWg27TZ9D%VhSDCgNd?Qv-{;&`cXFS88di-V6oq)I(D`0-lckFOhy>Mx8p zVbk4fh?&fX48|_WX~&cl2a1+ZRB<0!r<&J6?vz0xhMjAz6(`Z(`oGH^|E)#=u_wT<>(;wE&=n2fGA6P#2j7asi@$#j0(L*vf zv0~(kB-5>q_L2_+vXf5wtoa z*q$oE`+wjj*Y!2D8CWx{7EQl;jv|2K`CI;Auna*V*QS_RR6gD=)9T4jr3>7A{ZC}| zw+Qb4bY%5T6VCFM&O_env5$`h4(fL0em7;lG_75F!gbkCk<~!&){)Z-veC5yAxv>A zY6FwlRsUbI4Nv)=$o^|XBXdPeCr9RC4N{H?xrY{! z+}KwnG#hi)e(GKIjqx>MY5q@mE=0$CKmSFP?W$~onBt6-Lyb;{*x)t8YPhGo*R$lv2p%d zJT3h@!t;}_IdG#)>(*R8<}_Dho% zA4~Hlq!DoPQCJQG`&J7)qT*Pe64CX0FjB2%aZ#E}0>1~0|0=G$*awWkH^ZB-2k?t;5WRskXDtC*M9V9C%XvP~v93R9NW( zG39dfa`pLl-yisljg@~_VVD_doh!qN+0`V|$#W~VJbPVuc7*M`0euR(+>$14mg*W` zmtBaKIs-j=QM55cH;qP?cx6@ZAyLODIgvlxFAK+EWQFAlnf-0RA^`^uI!D z5)#GgsTdHT!myKPu`{^9#q$US(r$o@Cl^|npp=ilKZ1VD_a&unuaY_lS3eF?a|Dx? z?m8y1?=AT(jQd9)x1 zTf7K4$Y=zCK42tTC%fD}>^qedMVqjf)auHcDr62w9DpBkDPW={%rr+B(tWryyHpa= zc2#RncNgtB&q17}T+J&M)|tW4VW{c8*rypuee?$0ah=0_RYff3m9s+|{vP|n%z90N zKc8X9y>~Lg=yY;!>cI!)=X+v5h!9EN;mYPs*XnB42$A4Em&-BL1VU6!zyk+DSeG#_ zx1Sw9aD~?BEQW+BM9{N_x>>IC1VcP+dR3ef_$!-_hU4f?O{65rmt70KC6IWH@nA}^ zBDrPFJ&skyuV{so3tTCTs3djeA!$N_^+J(M^Tc&6BOy#iwUpja*pqSjtyHK)HX_V8<%}$9s^$39=r6yP%T}3r_PO*CoFc_z0jF2IO37 zgAye%+-Ts`0s#u(PXlLj;E94#T%d@3VGAS3`ousdv2C#6#17I%fb@QX1yKPgbF?~Z zBB_`eJ2{dtI#Zz*Q+>dMS}1nTxdy59HTEzShg0{0j~@I&>mizrW(v{-Pi8i3*VGex z*3!_xr9)%0oull}hnVLU%9&mtCTcjJ@t9oMb_u2bsc!F3d*}^ui_?)zC-yI=V(O_5 zzcjNxa;HGnB zT@=oH6bCgoVKfX#fyJ?;Pu$Ux+{#@X<$`?XXTPusXb$eldvikJX4~2&#%uD1OL<4j zkdbZ|=^MNz;*sf3Z^!B1<5r`nWQ zV$GMjjr6%qh8HJ-?xK_Z1kI089eY41o!;gv($Rn44m}W6=Notf><8#@581RU-_${{ z);2mwaKF|}v}uVWs?PEREo<;|;hk|_Jq z5^&98QS}+62YfW{1y5?S?XB=9m7VX6ucuJ;AAH`SJlToDkl{B{9j56Q;CdI9)EwVS*Nlq6JeI_ zLlgsxx~1s6?m`h;#1`1Btg}=%ILkfHY7jqE&mYs@VEXVILz7m?r7`xVLf5PZH}2f> zeg2qc=&DU~O5jMo$42q`sVmEJqSA;a`@}SB|Ee5~Ns$*OK+6Ype%ZtlC2b^C>yb9AkIBw$_E}9D6QE!*y<{#Qd;AoR6zp zVr-K!BTwVi!(CXbkm{P3EX#rFoeerUU-XHXMB?|Y@+(oaE{~424n=QN)u&0ntdLO^ zy>rCY)0)bR&YLkZ&Roscrui_5x#-Q1!M8#FVrf+gnknpZdSRO||M@m(i+<(}e6l8B z*QWb7H-?YCuFlUfBsB`w)+!#k8nLy)7Pf%dkB>7$>jLj%Xl(@VA$RO_h0Di;$A%bmF1 zW>kpw`uMWZpIj=x(84ykN8trhO&}}qNpWD4>bmcK0p<+r=Ni^dWbcE*?|wgiwx@Z` zY_RAk{UAk8F^;1{M$Ad7F28=6p`~NZs$#V$n!Up*F*a9|>&A^>GQkF#A7d0JCyjKq z*^E{>lEL3dH3O&9TS8YPUSVjj&vkZT-{z2BH?-udUn`27Wf1&S&iRz1Nyn1kxOPS=|5ySF z^SvjX;=t{Q6ITgz*aLW^nmW$8fauvI_F3zv^S4Ak=%2a~tNTq`+ceZN@T-kU5m$qB z#k9hQPs8g)(aSabo(FNgvDPsoTt)PJR!dAq3YXO$Mr)mn57bMoo3(=lmiQY!pCfO( zQgZN3WV`pCrBOT0%p2<_cJ{}ruYyDTQ)H}_d5be=VZ(JFqz@~)_Wkhvo6q0K-OtQj zXMY@|9nCvT{37?2-#uA+Z|p2qo{>T-d=u7qhS@p!CiTk(QLH$Z_eS9NO<2oQ@80}+ zo~pQ;6)@_kSGwg)KE}rOn=q~)*TVCheuRD%Vt!0R%Y8++Bd?acXr50(vUL+S`=$bH z13@s(4)xX`x>4>fu^h$H9=+!?#lG+JDV~yCxgeESc1imURcSIsfYBgl@c0F_^U{GI z#3MI|7U>A*uD%Iq*=TN#>G9%w(bdd9_lPC^R+!>(six{m-v$bfq)=6U-^mU2p2jmr zuZgEW2#UX%WrU7m4W>G_bbILii?5PY4{H)v`ITo=bsl;b9}{u2HL-nvQL!p2V^Q(N zGpXr9q|QlcThmQgJc4M0RLrLvA*;z$%2(TK-LQY-0nq9szxb-h25cECdUMQ@BQ*m4 zi(gUbuNhSfA8wipO$OdLP^rn^ak@Xt&O3{@DLd#>@|Yi;-uoNc@%wcZ-)@*2NtM@B zKBGxh{!sOlAa5RRuKDKT|rH z5*gO`six`?fqjA|Oq?Jo#%j?tPtk%nRaa)+OmQUDa*3jvV*Q&gdu_?8In_%3#ZJQ~ zk;QUhLH2pM%1BCR zvmi*qDmy;gt}>DU-Y+Q7?M9F!dkrFFk@<#)ToYABlEDiMjb`byZ3M00RR!amo$0>| ziXg~QH)9)5pKS&21#Gnm0!xGvE7M&HkGc`feq_PxrE%EOShuj$uZ81xN|J~`dKW;y z1c1~JkhUH)TQ@tz?_7fFBykE*?Ygf)eM!nS51d9z--I5CroNi}AOSWLD{xJBc{S!waEgVm0W>KLJuzY_OU6SDa#C;_l$__TjpPgRPUFpg>?Yr!Yb_b;Q?ala< zK>42Xu8NDbk{?dzBIW!s%Y|0mdHUSkw1unhsrK}3a0H{t#gV2PvFC z-es31IHe?C`WgEa1h{#eLYsw2cgy!8wD3L!zWF>>rY>nO;5ar8!!O1!K$$BA_Om|} z(tZn#TDwXjc;^EWD{M>lP*6pXav#Hq}-4qcmR8A&)x$0F_TVUlTmP>i&h=>Uyh zCn>}9Si9Ky6peQpJ(Nwi+;5*p>pNFYYDrZh%A9mpnYb%CJl-Yev?}m7G~3IPu^-OZ zQ&|zIpH?leQD@NJbXm!9Vd$ot8@s;u^>E7XtnC+t(h&uk`Mzl1ao^|s`53W6Ojs9l z36;)N>y5N*;U`L@4_(8GdJrRb7UJ1aT@qtLC+Xg zKJh`;Bi&DARcerH_dHq}a!7k)-9>Usjci@)05yFmyrk_SBH9mKY84=Lh)M8RlHio_ zt!uht>PRM|R|BaoG>D7C<3nST0@pQLjQ2i{3-328V}Ih_!p(8TpD-z6bzJGX16$_z z*``}FhB4vY`*leM=7zM7bsZWA8`CZ!jfi@0{p$E7TbHDxS8@eo$m$A(pBa-9o+Ow^ zAjv&C2j9o`bnX~&4EA_VrvCcF<(qa2nCZjg9?6&e5{0ppFHEj0j-+#~S!0&s{pjka zdA=m9X!pJH)KH<(J8sd+5!h69wIJf&y_-n>q;EuVS=XZ+7!Seb_2zZfyxbJuvF5tp zA=D-r9UcCvJJM^NJGY~^|lB39=5MRA{1%@?F3#v_|Bb8F{m zgkwdDRswa%#g3RP@*YzequP|yiU*gi+EYH)%e_>P(qceIWYLh-!#Nt)m=vwP-|XZ^ z>>rBPp%>xc;NUOqTZ&;Z@wh*+eVLq*{B)OPWOdsAj!n)ShDl(J^LXZ54 zk6XDvB`()mt#~ucQME38`r5odT=CNdvLd#oe6(1-y(70yXdw7OH}=#QxlqnbwYjlD|^a^ zPi?b0PD5|HV%1NsxTVb&a(oi7ocge)g5hfl3qm7#PlM%E;T_#XZ`-N+g;_FTck}(Z zWe5unt*4c57#|&XRc1cDTqy8@+vtSGz2k`^oiw@4&9o>up`?&5ZEaSb-_xfGjD}f> z;TaPPnai^CTx%JNY4gn+Y(2y;PL~&&Sx(R|>XwK!Ps|ZhE6{Nd9$e{($-k17NFK(i z<|FjE3>@r6TFCFBDpKiz1KnOK>OXa(Ck&W$i_I`3ksf%Y2<+boQaXnqupRP)*d?^v z9iMG2M1rl%ADiPGRVbErjm|B!S;7Jb-pAw@C5 zN!!cO#RAfP;SaZ&m#J1vi>9+6Ge8G9*XNiJb3x_w4cnpa;aq7;mu^LsGoq?>r~BBX zo2+9dqq$AfXGxMKrjAv~WqaeMoD&1i|L{jdlaKOcn2gE$tG@p_UT{9|!xz=m+*?oA zQ&Ix!J__#5u!#ciHMS9IMaH?A!dwowOs9aXcH;l$Yg(a`;6)~o+-iVe0PY@fQ35E} z1^+&sI`F#h9;BM&j?fh**4e9y!yKdpm&&p>VanTPz{jefhB1C3782PgQ$}Ikj)<4R z@xfwTEF@BbB815B%cvKy#d)p1CMK$wEFirYtP;H%?dZ!?=i(cc3sOb z%avhX_b7tIxFiFW3KogpBN

JP%(#A7QC+zl-(&s}lyS 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 literal 0 HcmV?d00001 diff --git a/image/mediapipe_facial_segment_example.jpg b/image/mediapipe_facial_segment_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46561cb7f0259cd965aa8db9e548d80fd547e3b8 GIT binary patch literal 79364 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 z zd2j3o!}twDKfvz~G`g_);G=cq-?O9t`-Iy)V5|C{d5(aMsO<{4Z#~?~OCcwlL-!fzS@!o*VONYMPeo+`qXXX`2&56e z(xH4GfHa4y0=(X&11j%9TR-&hTVpzD)X+X-0WAG0_aD02F9Ye?;dec(K%V3W8b^XX zDlTQl7IaOiwFR^a4KUb_fA;WKp+SIPpAxXGP=ntv?J#cWe*Np<0K=~TWmx{CE9-f~ z{OY0rjK-ge?K>O&s)7SDbH60GZb7?9lcB;#%&$s6w3Q!TOTUr5A#wIO{)akG0*fJZ z$NE*92Nw4iLr3$RgL$1S>me8?z+w7V!E6W`f$$)Ey94bXpl;r6r}|Bp?_sp$%^+X` zIm~MZ+4Y~x{))|kyVleqKoCxu0l%)y9wDR9eeB|I^RPww6lt%b_yKgW?>&DN%1^e> zg#VGyY=A|+-y~Ie4WpTB2B8jz0Np!5?|mixRgHxQazcPxt3YNqXncPn%uMA1maLL2IXCuJfXn$J#F5>~*bQ6Gs zf9g8~azaxD1P%ZOeA|xmS<_VBZUPlR3 zSp$J3`-1))$Ng%4z>-{G+QaN^p6#gZfCE^TJ=CS2CI8Nd{|zRK4ByD_Y1z$ofJ5U0 zt)4%-wBJ6U;{Dd^eK;=H076q{#-%s%H@W~wGW(Z?WB@z^Q{i9?{{U@aHizggl+iBB iyh{6rSwaZdPZR#Nw!egok@uU7K!zCb!GW`3|NjBRKjhi~ literal 0 HcmV?d00001 diff --git a/image/mediapipe_facial_segment_node.jpg b/image/mediapipe_facial_segment_node.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f5b2d6cf570121bc2a4f5619807dbee98f0e2a8 GIT binary patch literal 56876 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 V!qSNCQ5;rZ9>)+UShv6O{{ehmuU-HE literal 0 HcmV?d00001 diff --git a/py/Qwen_image2prompt.py b/py/Qwen_image2prompt.py index 712a00e..e05cb74 100644 --- a/py/Qwen_image2prompt.py +++ b/py/Qwen_image2prompt.py @@ -94,7 +94,7 @@ class QWenImage2Prompt: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = "uform_gen2_qwen_chat" - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Prompt' def uform_gen2_qwen_chat(self, image, question): history = [] # Example empty history diff --git a/py/batch_selector.py b/py/batch_selector.py new file mode 100644 index 0000000..f4ad8ea --- /dev/null +++ b/py/batch_selector.py @@ -0,0 +1,65 @@ + +from .imagefunc import * + +NODE_NAME = 'BatchSelector' + + + +class BatchSelector: + + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(self): + + return { + "required": { + "select": ("STRING", {"default": "0,"},), + }, + "optional": { + "images": ("IMAGE",), # + "masks": ("MASK",), # + } + } + + RETURN_TYPES = ("IMAGE", "MASK",) + RETURN_NAMES = ("image", "mask",) + FUNCTION = 'batch_selector' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' + + def batch_selector(self, select, images=None, masks=None + ): + ret_images = [] + ret_masks = [] + empty_image = pil2tensor(Image.new("RGBA", (64, 64), (0, 0, 0, 0))) + empty_mask = image2mask(Image.new("L", (64, 64), color="black")) + + indexs = extract_numbers(select) + for i in indexs: + if images is not None: + if i < len(images): + ret_images.append(images[i].unsqueeze(0)) + else: + ret_images.append(images[-1].unsqueeze(0)) + if masks is not None: + if i < len(masks): + ret_masks.append(masks[i].unsqueeze(0)) + else: + ret_masks.append(masks[-1].unsqueeze(0)) + + if len(ret_images) == 0: + ret_images.append(empty_image) + if len(ret_masks) == 0: + ret_masks.append(empty_mask) + + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') + return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) + +NODE_CLASS_MAPPINGS = { + "LayerUtility: BatchSelector": BatchSelector +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "LayerUtility: BatchSelector": "LayerUtility: Batch Selector" +} \ No newline at end of file diff --git a/py/color_to_RGBvalue.py b/py/color_to_RGBvalue.py index d1c3a02..7e8ae8f 100644 --- a/py/color_to_RGBvalue.py +++ b/py/color_to_RGBvalue.py @@ -22,7 +22,7 @@ class ColorValuetoRGBValue: RETURN_TYPES = ("INT", "INT", "INT") RETURN_NAMES = ("R", "G", "B") FUNCTION = 'color_value_to_rgb_value' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def color_value_to_rgb_value(self, color_value,): R, G, B = 0, 0, 0 diff --git a/py/data_nodes.py b/py/data_nodes.py index f69b914..eaafaf6 100644 --- a/py/data_nodes.py +++ b/py/data_nodes.py @@ -14,7 +14,7 @@ class SeedNode: RETURN_TYPES = ("INT",) RETURN_NAMES = ("seed",) FUNCTION = 'seed_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def seed_node(self, seed): return (seed,) @@ -35,7 +35,7 @@ class BooleanOperator: RETURN_TYPES = ("BOOLEAN",) RETURN_NAMES = ("output",) FUNCTION = 'bool_operator_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def bool_operator_node(self, a, b, operator): ret_value = False @@ -73,7 +73,7 @@ class NumberCalculator: RETURN_TYPES = ("INT", "FLOAT",) RETURN_NAMES = ("int", "float",) FUNCTION = 'number_calculator_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def number_calculator_node(self, a, b, operator): ret_value = 0 @@ -106,7 +106,7 @@ class TextBoxNode: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = 'text_box_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def text_box_node(self, text): return (text,) @@ -123,7 +123,7 @@ class IntegerNode: RETURN_TYPES = ("INT",) RETURN_NAMES = ("int",) FUNCTION = 'integer_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def integer_node(self, int_value): return (int_value,) @@ -140,7 +140,7 @@ class FloatNode: RETURN_TYPES = ("FLOAT",) RETURN_NAMES = ("float",) FUNCTION = 'float_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def float_node(self, float_value): return (float_value,) @@ -157,7 +157,7 @@ class BooleanNode: RETURN_TYPES = ("BOOLEAN",) RETURN_NAMES = ("boolean",) FUNCTION = 'boolean_node' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def boolean_node(self, bool_value): return (bool_value,) diff --git a/py/imagefunc.py b/py/imagefunc.py index 04ec519..7896101 100644 --- a/py/imagefunc.py +++ b/py/imagefunc.py @@ -1777,6 +1777,10 @@ def is_contain_chinese(check_str:str) -> bool: return True return False +# 提取字符串中的数字为列表 +def extract_numbers(string): + return [int(s) for s in re.findall(r'\d+', string)] + def tensor_info(tensor:object) -> str: value = '' if isinstance(tensor, torch.Tensor): diff --git a/py/loadpsd.py b/py/loadpsd.py index ae2010b..a677100 100644 --- a/py/loadpsd.py +++ b/py/loadpsd.py @@ -31,7 +31,7 @@ class LoadPSD(LoadImage): RETURN_TYPES = ("IMAGE", "IMAGE", "IMAGE",) RETURN_NAMES = ("flat_image", "layer_image", "all_layers",) FUNCTION = "load_psd" - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def load_psd(self, image, file_path, include_hidden_layer, layer_index, find_layer_by, layer_name,): diff --git a/py/mediapipe_facial_segment.py b/py/mediapipe_facial_segment.py new file mode 100644 index 0000000..0dcee97 --- /dev/null +++ b/py/mediapipe_facial_segment.py @@ -0,0 +1,109 @@ +import numpy as np +import mediapipe as mp +from .imagefunc import * + +NODE_NAME = 'MediapipeFacialSegment' + + +# 获取特征点的坐标 +def get_points(indices, face_landmarks, width, height): + return [(int(face_landmarks.landmark[i].x * width), int(face_landmarks.landmark[i].y * height)) + for i in indices] + +# 绘制面部特征的多边形 +def draw_feature(indices, mask, face_landmarks, width, height): + points = get_points(indices, face_landmarks, width, height) + points = np.array(points, dtype=np.int32) + cv2.fillPoly(mask, [points], 255) + +class FacialFeatureSegment: + + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(self): + + return { + "required": { + "image": ("IMAGE",), # + "left_eye": ("BOOLEAN", {"default": True}), + "left_eyebrow": ("BOOLEAN", {"default": True}), + "right_eye": ("BOOLEAN", {"default": True}), + "right_eyebrow": ("BOOLEAN", {"default": True}), + "lips": ("BOOLEAN", {"default": True}), + "tooth": ("BOOLEAN", {"default": True}), + }, + "optional": { + } + } + + RETURN_TYPES = ("IMAGE", "MASK",) + RETURN_NAMES = ("image", "mask",) + FUNCTION = 'facial_feature_segment' + CATEGORY = '😺dzNodes/LayerMask' + + def facial_feature_segment(self, image, + left_eye, left_eyebrow, right_eye, right_eyebrow, lips, tooth + ): + + # 定义面部特征索引 + left_eye_indices = [33, 7, 163, 144, 145, 153, 154, 155, 133, 173, 157, 158, 159, 160, 161, 246] + right_eye_indices = [263, 249, 390, 373, 374, 380, 381, 382, 362, 398, 384, 385, 386, 387, 388, 466] + left_eyebrow_indices = [70, 63, 105, 66, 107, 55, 65, 52, 53, 46] + right_eyebrow_indices = [336, 296, 334, 293, 300, 276, 283, 282, 295, 285] + # upper_lip_indices = [61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291, 308, 324, 318, 402, 317, 14, 87, 178, 88, 95, 78] + # lower_lip_indices = [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291, 308, 415, 310, 311, 312, 13, 82, 81, 80, 191, 78] + tooth_indices = [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308, 415, 310, 311, 312, 13, 82, 81, 80, 191, 78] + lips_indices = [61, 76, 62, 78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308, 324, 318, 402, 317, 14, 87, 178, + 88, 95, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291, 375, 321, 405, 314, 17, 84, 181, 91, 146, + 61] + + ret_images = [] + ret_masks = [] + scale_factor = 4 + + for i in image: + face_image = tensor2pil(i.unsqueeze(0)).convert('RGB') + width, height = face_image.size + width *= scale_factor + height *= scale_factor + cv2_image = pil2cv2(face_image) + mp_face_mesh = mp.solutions.face_mesh + fase_mesh = mp_face_mesh.FaceMesh(static_image_mode=True, max_num_faces=1, min_detection_confidence=0.5) + results = fase_mesh.process(cv2_image) + mask = np.zeros((height, width), dtype=np.uint8) + + + if results.multi_face_landmarks: + for face_landmarks in results.multi_face_landmarks: + # 绘制各个面部特征 + if left_eye: + draw_feature(left_eye_indices, mask, face_landmarks, width, height) + if right_eye: + draw_feature(right_eye_indices, mask, face_landmarks, width, height) + if left_eyebrow: + draw_feature(left_eyebrow_indices, mask, face_landmarks, width, height) + if right_eyebrow: + draw_feature(right_eyebrow_indices, mask, face_landmarks, width, height) + if lips: + draw_feature(lips_indices, mask, face_landmarks, width, height) + if tooth: + draw_feature(tooth_indices, mask, face_landmarks, width, height) + + mask = cv22pil(mask).convert('L') + mask = gaussian_blur(mask, 2) + mask = mask.resize(face_image.size, Image.BILINEAR) + ret_images.append(pil2tensor(RGB2RGBA(face_image, mask))) + ret_masks.append(image2mask(mask)) + + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') + return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) + +NODE_CLASS_MAPPINGS = { + "LayerMask: MediapipeFacialSegment": FacialFeatureSegment +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "LayerMask: MediapipeFacialSegment": "LayerMask: Mediapipe Facial Segment" +} \ No newline at end of file diff --git a/py/print_info.py b/py/print_info.py index f8c4843..db93d65 100644 --- a/py/print_info.py +++ b/py/print_info.py @@ -14,10 +14,10 @@ class PrintInfo: }, } - CATEGORY = '😺dzNodes/LayerUtility' RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = "print_info" + CATEGORY = '😺dzNodes/LayerUtility/Data' OUTPUT_NODE = True def print_info(self, anything=None): diff --git a/py/prompt_embellish.py b/py/prompt_embellish.py index 309db51..3849520 100644 --- a/py/prompt_embellish.py +++ b/py/prompt_embellish.py @@ -24,7 +24,7 @@ class PromptEmbellish: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = 'prompt_embellish' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Prompt' def prompt_embellish(self, api, token_limit, describe, image=None): if describe == "" and image is None: diff --git a/py/prompt_tagger.py b/py/prompt_tagger.py index 8aae8f7..6f198e2 100644 --- a/py/prompt_tagger.py +++ b/py/prompt_tagger.py @@ -26,7 +26,7 @@ class PromptTagger: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = 'prompt_tagger' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Prompt' def prompt_tagger(self, image, api, token_limit, exclude_word, replace_with_word): import google.generativeai as genai diff --git a/py/purge_vram.py b/py/purge_vram.py index 29bf9f9..7797d40 100644 --- a/py/purge_vram.py +++ b/py/purge_vram.py @@ -23,7 +23,7 @@ class PurgeVRAM: RETURN_TYPES = () FUNCTION = "purge_vram" - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' OUTPUT_NODE = True def purge_vram(self, anything, purge_cache, purge_models): diff --git a/py/qrcode.py b/py/qrcode.py index b4a7718..4bf8f4e 100644 --- a/py/qrcode.py +++ b/py/qrcode.py @@ -21,7 +21,7 @@ class CreateQRCode: RETURN_TYPES = ("IMAGE", ) RETURN_NAMES = ("image", ) FUNCTION = 'create_qrcode' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def create_qrcode(self, size, border, text): import qrcode @@ -58,7 +58,7 @@ class DecodeQRCode: RETURN_TYPES = ("STRING", ) RETURN_NAMES = ("string", ) FUNCTION = 'decode_qrcode' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def decode_qrcode(self, image, pre_blur): ret_texts = [] diff --git a/py/save_image_plus.py b/py/save_image_plus.py index 03730f9..2be61ca 100644 --- a/py/save_image_plus.py +++ b/py/save_image_plus.py @@ -33,7 +33,7 @@ class SaveImagePlus: RETURN_TYPES = () FUNCTION = "save_image_plus" OUTPUT_NODE = True - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def save_image_plus(self, images, custom_path, filename_prefix, timestamp, format, quality, meta_data, blind_watermark, preview, save_workflow_as_json, diff --git a/py/text_join.py b/py/text_join.py index 1d9ea4c..56c610a 100644 --- a/py/text_join.py +++ b/py/text_join.py @@ -24,7 +24,7 @@ class TextJoin: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("text",) FUNCTION = "text_join" - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def text_join(self, **kwargs): diff --git a/py/watermark.py b/py/watermark.py index dc70d64..85d908c 100644 --- a/py/watermark.py +++ b/py/watermark.py @@ -22,7 +22,7 @@ class EncodeBlindWaterMark: RETURN_TYPES = ("IMAGE",) RETURN_NAMES = ("image",) FUNCTION = 'watermark_encode' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def watermark_encode(self, image, watermark_image): @@ -77,7 +77,7 @@ class DecodeBlindWaterMark: RETURN_TYPES = ("IMAGE", ) RETURN_NAMES = ("watermark_image",) FUNCTION = 'watermark_decode' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' def watermark_decode(self, image): diff --git a/py/xy2percent.py b/py/xy2percent.py index 3711047..048d74b 100644 --- a/py/xy2percent.py +++ b/py/xy2percent.py @@ -22,7 +22,7 @@ class XYtoPercent: RETURN_TYPES = ("FLOAT", "FLOAT",) RETURN_NAMES = ("x_percent", "x_percent",) FUNCTION = 'xy_to_percent' - CATEGORY = '😺dzNodes/LayerUtility' + CATEGORY = '😺dzNodes/LayerUtility/Data' def xy_to_percent(self, background_image, layer_image, x, y,): diff --git a/pyproject.toml b/pyproject.toml index 48258ef..6bd68f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,8 @@ [project] name = "comfyui_layerstyle" description = "A set of nodes for ComfyUI it generate image like Adobe Photoshop's Layer Style. the Drop Shadow is first completed node, and follow-up work is in progress." -version = "1.0.2" -license = "LICENSE" +version = "1.0.3" +license = "MIT" dependencies = ["numpy", "pillow", "torch", "matplotlib", "Scipy", "scikit_image", "opencv-contrib-python", "pymatting", "segment_anything", "timm", "addict", "yapf", "colour-science", "wget", "mediapipe", "loguru", "typer_config", "fastapi", "rich", "google-generativeai", "diffusers", "omegaconf", "tqdm", "transformers", "kornia", "image-reward", "ultralytics", "blend_modes", "blind-watermark", "qrcode", "pyzbar", "psd-tools"] [project.urls]