From 9042afd82ddfa4eb31fd576f78f2b22d947ab71b Mon Sep 17 00:00:00 2001 From: Brandon Rozek Date: Sun, 3 May 2020 16:32:09 -0400 Subject: [PATCH] Organized into python module --- .gitignore | 1 + main.py => bodypix-background/__main__.py | 13 +++++++++++-- .../__pycache__/__main__.cpython-38.pyc | Bin 0 -> 2432 bytes .../__pycache__/camera.cpython-38.pyc | Bin 0 -> 1484 bytes camera.py => bodypix-background/camera.py | 0 setup.py | 3 ++- 6 files changed, 14 insertions(+), 3 deletions(-) rename main.py => bodypix-background/__main__.py (83%) create mode 100644 bodypix-background/__pycache__/__main__.cpython-38.pyc create mode 100644 bodypix-background/__pycache__/camera.cpython-38.pyc rename camera.py => bodypix-background/camera.py (100%) diff --git a/.gitignore b/.gitignore index b5e8bca..e463adc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ package-lock.json .mypy_cache/ .vscode/ +*.egg-info diff --git a/main.py b/bodypix-background/__main__.py similarity index 83% rename from main.py rename to bodypix-background/__main__.py index 91ebb5e..8b61513 100644 --- a/main.py +++ b/bodypix-background/__main__.py @@ -3,6 +3,7 @@ import cv2 from pyfakewebcam import FakeWebcam import numpy as np from camera import Camera +from argparse import ArgumentParser from signal import signal, SIGINT def process_mask(m, shape): @@ -29,7 +30,7 @@ def get_background(uri=None): backdrop = None if uri is not None: backdrop = cv2.resize( - cv2.UMat(cv2.imread('/home/rozek/Pictures/IMG_20191013_181848.jpg')), + cv2.UMat(cv2.imread(uri)), (h, w) ).get().astype(np.uint8) else: @@ -43,6 +44,14 @@ def stop(signal_received, stack_frame): running = False print("Stopping...") +parser = ArgumentParser(description="Virtual Backgrounds with Bodypix") +parser.add_argument( + "--background", + type=str, + help="The background to use. If not specified, will be a blur of the initial frame." +) +args = vars(parser.parse_args()) + # Start Camera camera = Camera() @@ -56,7 +65,7 @@ if __name__ == "__main__": sock = ctx.socket(zmq.REQ) sock.connect('ipc:///tmp/bodypix') - background, (width, height) = get_background() + background, (width, height) = get_background(args['background']) fake = FakeWebcam('/dev/video20', height, width) running = True diff --git a/bodypix-background/__pycache__/__main__.cpython-38.pyc b/bodypix-background/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83ea09ef747b43f0544a8f4cb67f71cf47bd76db GIT binary patch literal 2432 zcmZWqTXP)674Gi2?Ck7nEz7cO*^WFm5qJTwi1Lz3QK=vWgeee27Pl^vt<*(fOFo9T>9`H*N5S8M6~FZStn+JBgqA z+)rD)1-dI5UlZOIo@he5AZ`g?w7#aiBidpCMy|-F=!h%NDPNR}M_0w7ToPBs(sQ^= zUXzQ}@{F8OeqA=s2zRAht;`6_+z{7}*|$_F>C2Y9a>ihcR5xdYugcZxmLx~FXO!QO zcd9>#}~!xDno$uZWvxuvXtUC%e@j;k5{j$ViJ*Wvs(P4?gh zJZA$mdi2(efp)L@6PyXReM_GJ-j7N5_BncFw@YjPz3^CmE)SwG1jAeb>30K zQ7SY2NvKMxx~z7~c$kGr?LL0A^JsTJVtB+wv7tr3ZbL1<0x<>KPuZ!Z$q}6rkWA3$ ztg@zTY6&*5X7rRy(Zl2$b|I~SwMr@*);c(=-KqiAn}WT7W$-+ z=l_GEfJmgv&exz(9`^m3Wd-*KDo+nagMn1FGm10)7v4~^JPZq2yJ3m@d1H{|q5kt` zZAIfvZXYBgRokC_6zbXJC!~YU>4Q}{x?I0H?Mf~jHK^PqmRX)nZ zM!%nian|qmij%rss63Ko2}9*EgaIi{R8WuJp=)%Bs_QToSs-2%#LtClFdRTf&?&n~ z5W^{;C>S#8ALL&joZ7!eZfYZPQ??AKzl`X`xV21f{03{Bd7C_0nIf9j?m6Ojj{XEU zJ1WeEQZ1t90ED@cbMtBsO%*CHcoRpBW!#IivFX(`GRVxuGHkD#QJxlg8Ec8BmFO7) z04&k>sk#mQ2=9GS(EJ8eWBvp>npAW~PU(~)dB8wy0R%>nSi&+eSjSDZuPvaBRXI>y zq|1y>foKCZV^w2DDo;0$e4vz_-O|=k3qZ1k1E2fczMPxdNX-H40!SK@&;8({yc_F7 zse+*j56S?#L7av|8I*;L;z2A$kgH$TB75eGq7meaOb3_j=$Tc9s%izy+XcdY53RZb z;vDhnGLA8phF@H?Uv}HI3xNp{S=&m6!gxisVJ&xo$niv~1*62NneKq1S}2fl3K_@S zJK?A-<1pKT$AL$!k&5|3oW(j0lm0;A@mF#65{gw6Nbr~3*nvRkUm9`)X3Lu(h~v=} zYJ*2@+M({xo@M{!I=83_VD4Ax0jY)6_!hY!Xh<|r8dIRK0C9VAZ%2iZ9E_6WBq()W z%yA5hB8j6=$9dL!Z_;`U6Gfa2d%YguS2xrs%RsH2LP2-~fLG>8s;^`u#m)I_Yr@(_?YaaBFep*77k%|j^*`)pO zr8F@4XdhT|iC3WWU{uOp@MsWZxxQr1n{Z~51P3w*17uE+59S1$`zA2H>4BLxW~$mg zlu1#0FOtk;DK4VFZftDmwAi>vMzw!=?WDaS(EQTM%Roix{ b$9(ErxYB3Kw9O#)7>v?I+O|4$iJ|;ItX^la literal 0 HcmV?d00001 diff --git a/bodypix-background/__pycache__/camera.cpython-38.pyc b/bodypix-background/__pycache__/camera.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45e9b254c543988a5f0d27fbddddd963cbef3ecf GIT binary patch literal 1484 zcmZ`(OK;RL5VjpBn@zX0KoPG>L0n;E~Jo{k8tpVz*A_~sGv9hK9IgYpEP z@;+>mNZKYHn$iwSS;tE~ir-k9r~EmQp5*&Paz*#N)R%0TB>oTh7fC!DtgLI5N$Wq| zR$XKHi(bCj%+Yvy0e~vlGY}L>sU#_rRI+`Nde!kMm%a=@_f;TkGTbM7G_9%HMkwnO zO-6DGJnFIm5T`Jmn&6hHTIsNKdlQj1t54$PN+S_|1)f5J>M3 zJVZ^RB{X&C5lI3ucylG8HjtU>^tu|)PNp=2mkos|x`h!!V{SHVfmW_7AOh(aS})&z zU>k1=sd`IU-wd>}T;y5b2BM`AHiEQ~lSLayJEE4Cs@*yw`aGC^&9C<4uwQ(-yPD;j zYq~e+%6qxXccDMjHE{9aDI2g6dX9$hYtVp>W-3w^Ciu>Ui@Kp7XUxG?d0R(9{0c#>p1RA!->Fdf1X)+?3KGaxzO)ph|5yo9r+ zK`JpOVWX)rHvIkvF0>!xx(SLTyHJw}Hjvm@_Ymt2U_GMEgzGx^TK+LBjP)It*3a82 z(??9tqKUT7fWrD9!=;-K%4r0&Mf4aP+RuQ)IF7U!gbBDW4S)jewM*ZUN8}}WMcz4R z`Vu$+0wh>t{`x9z81#f4eHqj%@RUd*VH^rLOGk|{MJ}1#@rGttC?CU^2L<_Y5U_hs zLBP&+5Hx!IH}(xMme_@ah4f6q$JKZU4wFihx3LljP=oib9)g1o6NEL{LN9hubG1Vt&ZOR!t@b=)v}S3P|ZBwN!8%2q1qsj6<`FS@L!2i;rXTG0gsn}vQKMPs_a z*i0gv$}Y@^5H=E`)02ZX$_*j523fnZxY5yb7#@Mxu&;Z4rOnVmvH`#}O6wRMPAcXk zY-){Dhpd%|6Q(W^*I{RZ$XAUps7 literal 0 HcmV?d00001 diff --git a/camera.py b/bodypix-background/camera.py similarity index 100% rename from camera.py rename to bodypix-background/camera.py diff --git a/setup.py b/setup.py index 1abefaf..1996b00 100644 --- a/setup.py +++ b/setup.py @@ -7,6 +7,7 @@ setup(name="bodypix-background", install_requires=[ "opencv-python~=4.2.0.34", "numpy~=1.18.3", - "pyzmq~=19.0.0" + "pyzmq~=19.0.0", + "pyfakewebcam==0.1.0" ] )