Project 1: Enhance It! – Anish Krishnan

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>
view raw gistfile1.txt hosted with ❤ by GitHub

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>
view raw gistfile1.txt hosted with ❤ by GitHub