As I make a lot of videos and short films in my free time, anything related to processing videos excites me, so I really wanted to learn how to use the computer vision object built into Max. For this project I used the cv.jit.faces object to be able to alter a face in a movie by either blurring it or placing a virtual spotlight on it. First, I downscale the image to 1/5th of its original size, then convert it to greyscale, and run it through the cv.jit.faces object. I use the output matrix to determine the positions of the face and accordingly place a blurred image with an alpha layer that I made on top of the face or add a spotlight. I hope you like my project!
Original Image:
Blurred Face:
Enhanced Face/Spotlight
Google Drive Link to Code AND Necessary Media:
https://drive.google.com/drive/folders/0B_T97VaALHA0U1Z6bVllU0MzWEE?usp=sharing
The code:
<pre><code> | |
----------begin_max5_patcher---------- | |
2626.3oc6bszjiaaD97r+JPTkCINi0P7h.bOs65D6xI0V4PryEWaMEDEFMbG | |
JRERp4QbY+a23AoD0HJJLRDRSb1spkRCAIazeciOznQS8yu4hQSxeTVNB7Vv | |
OAt3he9MWbg4T5SbQ8eewn4hGiSEklKaTb974xrpQWZaqR9Xk47e3o2BdeVR | |
4sf+Qg5XlHq4RVHphuMIa10Ex3JqnnzvwAWBnQ5iPZf9Cj5H3SM2SgrTIEQU | |
Rdl9Vf0mur5oToQdMO8rkySxRkUksuL0IyWV0b1fNdns5LDloaPBGS6tyjL0 | |
Hw7Ie9qwrQ5y8Ku4M5CWdjX1eK6VQVrD78U+gd.KX.xz+LcLL2fb3PG.qaxy | |
pJS9uF7Bqu60hONOMuv93MO11GBYqdxdAtw0VcCNiC1RcZA2H1nV5RlXtsy7 | |
gjYf+d9sYCos3atMOuTBlmeehDTkCVjJdpGiBR4svwXHV04ouF7h4zUcHdvt | |
5PsgV7PhdeWg3oxXQpDbSdAXQQdrrrTgXf+TwrInzkyE+4l6IMISFmuLybin | |
tTptuhssADDesQf2Rmw3yEUBesaAC2hOYidTKq.kNjVg+YQxrjLQJ3iZu3d7 | |
d4LiqwqBGWDi+x7bwGjm6mSpFu3gjro4OzKWajkOx9As9HcuHiC3.xceGXfg | |
kGFQFSfggLj56b3XUqpl6DSBZTJq.qdZgz9XUVJ0+AeZHoJ+2.kLUcbPUgH9 | |
tRvMB0vcfnPMlcJP.LDASAJjNCburnTomf7a.U2JA4MdnIyEyjcRIPNJJArw | |
yIB1xOJ7b4YGxIF4y0DAHDpOh.TjOBr3aUFl2B99r3BoPM4VZxraqzrx0lJs | |
cCHTeYpn3NYFXhxZNyzTmVF7wXYXTioASHsLMD1YxzPQDauIzZaH8ZaBGRay | |
GRWVnsAZaSOLQjPaeBxdUPRy4VpPrKgVfND7JS9f5l2BtTtiURPlghoO3hZ6 | |
fglQYL67anV8u8fJndoraqbPOvztCcelPo5PPvdbSn5EGXrHTxvn2vs06ncq | |
1GjJOWEfXqo.Vqyxp8ZrQHiaHwtjnPr2TZ9.qz6vNWARAS5QewATsQFqbq0e | |
D7R0WnqN2jd8smHxlcX5siAeAUrLpPbvLhRKsygiBrA1GQaotGlxEhNcib0J | |
rHcwshIoR07quad9TYuiiUQ7Yiuyn61XEfX+QiEh2IXn56WOWTUj73gCK6Zz | |
MrGHHhiVY8QPqm.MRQpE3sw2TzoY.9h7zm90lkE225xvnwp38C4Lk0mELV8U | |
Sv+b5VPvAN6O9PVZBOfspagszscziZubjHOLTyMRDdDq0bCHTjkEwkLBb7qg | |
qIrRdzNEd6wfmV9H4iKJ.uybLI6mB9zWo7u9KpuA0eizGjFZnhaXjqQ11orS | |
mcN8j1sijrc1GgzwQHLCRG5fw5L8fuuHQjdVn2llLWwjyCLG5eMTcLKe8pVs | |
ImodARQdf0CQNQwxofi9hpwtBGHwLJg4OVdBdf0WCSTp3ozjxp9TP6veyJLC | |
pmQG4PtjhSSVbqTuVcS9PvFt2P9wDqGtedKloSBqC6vtVOHNrUesM4N20wVW | |
pcAh0xRT7znUOqohJQM5VCuVcd09P0pA8X6DULTMisu5GKkEkWIz6zzc0azz | |
U+073k50ZWd027we7pe3AkYQN8ekLKSjVpZT8wzenX47EW8Qwcx2OWVjDK9t | |
Bon58yDIYWMWNMQnZq3twyyuuV4Zj7cpIbrN45bppOSqKHMOeQKNOihnXhTc | |
kqKUfrrQKaqOFXawxJcHg0w90fLMsdci5pfzkXFNHH.GQFswkoGaYu6Ke1CX | |
Zg3gp70N3sZRrrJW0wJp5RvE0cX04WOHz50jWlz3jZ1vnMZ897ztuMylLsVM | |
GIJlMYy9iF+Z0e171Wlk7eVJ6pEK.dslmYYQmWg9AuHOIqp1mRuwVahDSEK5 | |
DElVVsdbg91tbaD9lBk8oPtHu6NtV3RqWyyaR0ijEK5pkpj4xcc9qKkwkcC9 | |
xrYpoWZ.36uYS7csO6t7FTiVSh6D8KkaBEOu0xh3c05lM0MFVa71zUmSLt5n | |
s8RdFZ2zng319kKOWDGOnY9mlOC8pj8H.YfT5WXO9B6wuuYOPLpwUG++TrGp | |
6QErW134KHGB2AzibGz.VWzweg63KbG+di6Hpl6H3P3NpOo8LdIoVgbnMoV7 | |
clSb+kTKDGMFEACogqyrkcWI2Ylsvgms7+Qr6MDkYwn.XS1JOxcO.SeEu6AT | |
rYmgpS5oO22.LwqIV6k.HPG7BPPuCHnyAfbuIMt+wDH3q.zwf2oK4FQwdgET | |
jIs8j5swOjOL6jXG4bicZ1XEsiQhZhsd0ZbPfYzAzTQdjngQowaqz6oz.NXm | |
fIKqpx6qdpwbSl6rlU6dPnON3VUztIA8+lCayJdsmqs93HAmjY.CipmLIrIA | |
8Qp+wo6qp7PAmt4LhuerFHMkNwXcf38gkg1Bd2fkQTuk3cHyEtwglOnohi2K | |
.TWkmLr2pmBH+bL4PaWg86EXqbH6.J+.BQdEDbj9vVKlq3O3ayebfZ2IdWbs | |
vE3clkQ1aPgHJyVUiq1NGuYgomC2b8JyzQC1+tLhrSMhrkEvKuv.cdtQH4zD | |
xy5P+t5EE5WMNXKPRXnGAB7oAHrUFpaVeakXXqiAurL.H5bPCjjcS990dn8C | |
F0elb3opPIm.RAo8R5YKp.aQRRB7Wr9A8GJ7k9OUGn10OQcJYfQmlPha+V67 | |
xeaU7vXkEhLY5ddkS0EOKz9ZdhrSJp+37TP812Jj5ij5WFxlxrqyWUrUyuzj | |
X6FAqb2r8ODa8a44rBwTXSlaI3HDLT+xcxHQAH8WTCTp+FgrRb5aB4zMgwsf | |
sbcFRqAMUSQ9v7wfFyGF9Jw7YKEahovYnA1YSUyuzi8K7vseXHKjvLubtqr. | |
Q5SAMFPb2Fv9uqSsE7qwQlJgh9pv.FFtd3GxtDn8L76+ysdn52yjWSVO8ANg | |
s0K4W6TvvOb6FK.FEZsQPZH2PEx4gHFsO6V+2kq1MyUYJczm8qyfw1jVuyaq | |
Mlk4KKhalEs980Y8diMZprrJISrdqTWUl1M6o0V9KtJHtCBBNDBh4ffzxAdj | |
xQ+pQrWAoeYRNZMhLp0dStCAwGH4rWSz.HGrKNcOCdyKlJM+RTDb7hdeXo90 | |
83ncObRIwjtUR3IPzntEM53DM2USKbvMstHZxN7pH9WzXR2Z8I.vwntEM9DH | |
5tw6P+K4cnyP+KY8Z96RooGmncgdVWQEGO+LxEIQ8B0ExQK6fOy.B5XbCGK5 | |
5hFNDVQnKyBP7ATBcYRVD7ToiPlO7TgNw9E3E78kDK8.q0tDcMJXHLsTWTRt | |
OBhwMQy7w7KtI5Pu3U4T3+zgvz5xJmZ5NGmjbgrso6bbRB55BoQCtgyEQiHd | |
wc0EQC8xJMdVPV8.3C9JMbRzHuDejQzvSxfzfM7U2gjFjIwc.MYaIGaluDKV | |
T+SGlQHZQLZt3y1ezJYWZ9yjL6eZ1ctQEx6SZtdyugXiDEw2lTIiaJU+QOxs | |
4f2jKvhrkI01Mkj+k27a.z6GU0B | |
-----------end_max5_patcher----------- | |
</code></pre> |
The helper patch “process”:
<pre><code> | |
----------begin_max5_patcher---------- | |
947.3oc0X10aZCCEF9Z3WgUDWlFh+Hesqlz1sSZZa8pooJCwhZVvAEaZopp6 | |
29bbR.ZKDRKNfJUMM4Tm9lmWe7wmzGGNvYR9ZlzA7IvuACF73vACLgJCLn95 | |
ANKnqmlQklg4HX2mOYtia0uRwVqLgyWo.nlnR0CYLS3lHhUK3hLlx72.tMn9 | |
1Zh5WGcIUM8VtX1MEroppmLX.xy2EDjP7B0ehibA3nxHHcbvepuQdZ0Sxj4W | |
g7cJi8zvgkGb6HZKXRIcF6UrcErifg1KXM3VER8vRVEUNNadz2Cy3nXOnF1f | |
PM3w9FZS7BNLyvDax7EAYb7l42tgb36A4CjAKYY5mDf+IAN5PfOgJl43dDC. | |
El3g0eHDsAPpNOp7bTaI6PhEcA0sb4x7rG9G.dRqlOnQvEpRen7GsYEvnPyR | |
9cRIBiayERrnITVLC1WEyRhdIXsWKK1hfwE.7Iw06agMDBKID6u83gnMxtzh | |
t.zFBMyrgjtQ76pF1jUJUtnefyTpp05zvHORRRRXhKHNzTflXHjreBC9vQHA | |
h2PX8rWqDRr4VuRlhlkA7q95RrOLAuo0CjtmKXccpnj1xiwPatMDXxkJ4dW3 | |
CR1.ecBvgZ3LxlY.oRUJegTQKTfQPvHjKnJDSjBFgAiHWfrBBJbiwfIaaNEl | |
z59xX76wYlyUdKumKRyu2FMcbzNuvAXSQ6RfH58iafiX5BgP7B16rtM2atD4 | |
ETUAeMf.ldKs.Dg7Me+4URV07ee0TlV6apztCNUzFmBmr8bDr0pCnvOBoAAA | |
3sK3gHCbQnlJeIGn5OB2KoAW9o5cdETn98wf0tQPPqyzHK5FY4zzxpj.9hk4 | |
EpE42wYfwWKYExwTAWd6eKzGDTw3ulOckt9nRN9Ke65w+5dtTwR+IelflIG+ | |
8h74ZrfiWvR4zwyJnO7Cp9rLj2xx2K6r2i3tMXT0BUP6kQQP61XL7B.M5s0X | |
7yH1L.mLt3k+2pL5TF+41fLeUwzlmpp2OzErUlTlTwETEW2h41wf7qFzdc52 | |
hPviHj9U1Ocgh5BQgVPnvNHTfEzInC577ow7hTVgIgr2EVWVauJ6eRJS5hxP | |
K3s51vNSYKX34RITWVAfsg6g5xRf39H0rSJih6ibyWjwe.oi1uznyfzg8hg2 | |
Iow8hgCeC0gNIkL6+bzMoRrkRGiInMpFzEyqoJ3qZrftb4c5dJqGsQCcmTyy | |
MypQtlK4hpKwlKKX2waFOwDgVna3Qo61YUQUCUqiCcpt0bc9gXEuN6Tq7SC+ | |
O3jI9.G | |
-----------end_max5_patcher----------- | |
</code></pre> |