Function Repository Resource:

FindImageSubset

Source Notebook

Find an image contained within an image

Contributed by: Andy Hunt

ResourceFunction["FindImageSubset"][largeImage,subsetImage]

returns an Association of whether the subsetImage can be found in the largeImage and the coordinates if available.

Examples

Basic Examples

Find the subset image:

In[1]:=
img = \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
q2YS71u9iU5Kjk6PPe364sz5JyYPIp3MT94x833tFxAXEPvy1jPvm55+z549
fhDwwNcrLvxDxsfcrLfhMeFxJT3s4blp2bh4cGR5+8uKSCTe2l5e3NpamOEP
YhG9/fyZr6u8fgJnYnddBG3oJTGG5kakKNni8s/f/vifPyPeVYICQ6vKmlDd
WDIMTq14eD4OR8N87Ct9VluIFPscC3uYnlfVVmZmGeqoFfestras4t21O8/v
evlGv/4YHxIXcsvz+fUnD/3fBfp6v/Z9GhDwNuqxd0FVc0ZKWMLHpmoIDqlY
3v3xYGVn/2BnRrW6szonGsRiSQzp1PwXVi0Ui5YsTMtIggEyia+aQHFm1w6/
/f7nr5HvsgFP7QMiU7KycyuK8lIC7p29D0P3JjY13Ux5X8dJsox8hMLhu+ru
Xb1pY52YmF9d3dTlXFdf/T4jODnmdWz4k7OPnhg4+dxLvusZcyfqpVdS8HOP
kKBXD2PSiwpeZ0REFRVkgqjDswvrMztfP60vz00vzU/KeFweHascH0AI5ybG
pKpJ0SSfRoDjRGzV6ufDn/78/efoDwU90OLSVnhdbUVdecp919uu5/KySl9G
JnjdfZ5Slf48+XkfqKW8Iz3qsceDlncwNoJHfhnZiuzB9JB7OhFVuS/fxng5
3tW4avboqfltjyfhj++6+78MCwx88tDvQURUQk1TUmZ8RERyST5/dH7zcG/7
89TS0tzawfoYtxNCJY99Wd/eXBiZm5tS0oAw+tTU7o8//vXXr2/ScqpoBDJ7
fEY1NTM6WAOoff8sJ7Es6VV44PV7AcHRb175J0dFJLQXpEYXP2tJhMGIbHSh
OwTVC0H2YvE0GLguu6wqMvj6xdAQB0vd82GPQ+wfvkh5Fh3k7/Hw1eOA0Cf+
3uHxWXkZGXFZuRUIvkg4MrW8urB6+GVnR6Gak04c7qxtbq5Pz45wRidorSSR
Srr281+/R6UWNZE6qUP02ZXlhTlaPhzZ1UYCImuyM3pg3T0ILKoW1t5emtca
HxPiF976KLStHgiJ9G6mYwa6C/vxSFB7TTsQ0pbd6YcApcb6xmV9TMvPynqd
9D7W9a573MW7r1wfPVKz2e+up0dyQnzq+4iwlPTCytpOknx69nB96R8/zY3O
bh4cSoalPPniEIij3tqGP//1x9uU0tpmMnWYOju8O1CNFMFLva87P69hMrs+
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
ekJTw1D/xFEL72fvhohN3aQEreMnk3LzihqLenvKzqhTWR0NB4fLFxwd7O3P
2jnaetFnFlUo+5uuly9cvHj5iroM1P5etrtp6w9mcAb5NRcumNvdtXVyUCfj
2TOmhjYm+uY2gXUV2ZbmukZGpw111VOR2kJtIw39m+9tTriHOH8ItdM7pq1p
e9s/JCAyMq0EPTEhYrVGax5TV+pl37AkGq62C+utpWvQnxibmtdOQSRaOzhd
uHTp4vlzl9V/z1++dumCberw7PIk/MY9Pzf3G+43bl69etHO6fqti86uoezV
veWFUOub9haOFx0uXT1va2lhbnyxwMk2FtlLatUzszQ0P21mqH1KPQyePHFZ
XSzFIZoBj96GHzGzNjvudM/3SVxUckp6Pl01xyMJWvUNdY7peIf6ZwzAGqnU
m7raplw4kU4hDfTEOFy6cu3W7Tt37rhcu3H94hVXF7erBROLSxPwC9ddzl+8
euvqVcdzFx3Ou9y7dfP+x/Gt3a0DfzMXN9cbFy9fu6Z20dLczj3DJZM+rhBD
jYwsbBzNT5sa6WmpJxkb47+dt7S+E51k/8pfR+/yGcvL6h0rLCYu5m1y+4JC
oBDnntA3snV0fxaQi4agGUNOGkYGKEAfDtlPR0eY3Lhx87aHt4+P570H92/e
8vB8fL9hfmVOBXvqd/ey7QUnu4t2jlcuXrzheu3SndqVjfXdxUfnr131dnc6
d+HiuXMXL10w8U0+mwWD9lMhjjanLc5aqIFse9rAyPSUudUzV827qaORlzW1
dIzOnbE8rS6qx3e8buU/snkDBkkTT+kYeQW9CovIq24Q8WTuxqcM6HSlFA9D
w4Kt3W+73vHw9vZ6cP+Bp5u7z8MA3+7F5ckxsH+gx+3L3j6Pbjjfcr1x8+bF
s/Y3gCvra7uLD1zd7zx74nHp4jm1+ecdbNNqb9VQmOPUDnVlGqkrwN5RrcrQ
VM9C1+zug7AHr58anLc1P2JgaqKja2jqdzXYp8HziN1J5yD7o3pnnjwNiIrL
z2jcGp+XVppb0Jkr+/NiIvDhJW/Pe/c8vbwe3L1x7fq1u0/9nwVjFxcnJkBR
cYEPb/j4PPHy9nZ38/a6evaqO2Zld3dv7ea5u37PHqm3XedrLvfuup1NK7/Z
MbG+uQ40P2NqYWVrZWNzRj0QGak7qGlAQmp0Yozdq2sP3M7qmpuZWDhFP3gS
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
9jkRkgQEVBDMAxWTksBY2eCtbYqkBFV5QMANlJFHUEh8TlF+/vqb/bu7QBVt
y4CA4KTO8dKShsrq+mxtnCJOTZmgro8zG7//eM/NiXYx1dU20AfuqakqYrCq
+ua+hn6LG7MrPd6+bnb2lkZmmgRVDS01RawSFoWrWd474WajCboqqmaq2mr6
enBZuDQgzS6eRbR8SaBbMAqSknC4BNbRWQXj1aQkhVTRAEvB+KUU9Ryc/EKj
8/a/e334zNfQ0SPS2S9waLu0hEgqinUAmI7S0tVRUVdyX75/eLMS7m5kqK6i
ZWRiZKitpohT0TGzsVAPXdxfX++MiosMDQv08tHVUn8kPKBcGI2+3ePLG6K+
mbm2gYOWlYmBBtC1SDQKEZ7c3FEP6B0cCUcrAf2DJeioqzlEYbT5zXxRcJiI
NFTa0dTO39PfJZEy9DQIa2ztFBQdsrxdTMwqDdLH41WwSkYW1oZGmv6HDx/e
T1gbaCjpACelpq6sr6mqbmDt6Oxmlzu1tnfQmp6dlpgYFRTs6uZkoauuqaNF
wBuPLG9snadZ2ru6eHkaBXiZqwM6A8wpleL2hclOpKy8jKQEXBWnpquKU9cv
NFayLLdFaolKSCjIgaSCfRy8XHJVFLQETVHSanrKrt5+q3vZWVUFpjhFdTwC
p6Fv5+RuEXb8+sPHIWNTa8vY7CAzY2MdU31tfSs3v4BA37JO9uIWOS07IzU1
LjjE1cvL3khTTVVfQ9F1YnXv8CTKyjEwMtLJNDLCSRevgldFS6vm17FoPWgZ
BBoJGEhAZLCqmspWwaGW0WQEHyDLMEFeCVNXM0fr2hAnQ1+kkIKUqpppaBhn
uri6qsBIiaCNRuBVCSY2brZxh6/fv+02cfZ2TiuJsrM01QKkSdfIzifMJ3bq
7MW3D13JWVkZGbEBvqGRkYEeTlbG2moqcYsHl9fbXhaOvoGB5hZh0SF2yjic
Ihrhzlg4vW1HKOCVcYBRkwOshrIayq+QQql0ETSTV5CTlZeTllKzjHN3MndS
8ZYUUJUj6KHcdQ0sKUU5lS5aqnqqBEMTPX2ASInPPn95TtVzcvWKSwxwcXfQ
t7HQBw7EOTg6Z//N+8+3jZnE/Oz0MCcbFxd7SzNTXRV1NQ3iysHpyaa3R3BI
YKSPXUhcarAmBpiV6DD2yuXXeqyGgZYyWlEBjldC47V0wrqqiQxVRUnco4BI
KmC0zNMyncMjJIWRUliwqAY+UoNPpIFIJDtaGJs4+PiGR0SnpHpWXH18947k
5Ofl7xcV5eXubuVgqqfn5hQRHFn76vXdt/eN6eXlmZmFCTamYe7mNgZKSIyC
GmmJe3wzY2/jHhgX5+IUGBTrhsNhcUqqiXN7xy8oWD0jXW2cMlpZHQc4AOOM
9pnJOWsFtKwsYCnlkEq6FnHpofoSMEkeSQkevKm4noCYaTOJXGFqbKxrYu/o
7eUZEu9be/Pp4R3ZJyoqOjg42MvZyUHPWF/VxDGnLLn5xau7j3f1OYUFWdnE
nMTMPB8HH1drMx2CSevmIfcZy9jExDU8yScoMjzBT0tNSVdNM3169+m7IpSh
pbmJmjqeoKWsgkWYlffNTnRgJFGP/69DVk4BiXOLL++J5OHll4Croaz89HTs
NTXKiOQqB0NDE3s3J18fj4Aon8ZXX97flbgFh8QGOto5Wls4uLobSEkTIjPS
GTcv7t5fkoh5BSWFuUXksqIgv5gAdxcLffvufe7BVa9riG9EWLhlZHREXICR
pioBrVcys3X9Op9g7+5iq6uJVwHsGgZhxdi9fduD+N3QSUsrKEir+IUlNKXJ
iAtJC4oLYCx0dLy0sZ7OrrG2ijhTHy+/0Mj4pPjA7refHy5ynH18gr2MNMws
jcyd7dRQBJsnmfED18/vPp0URMdnFmTEPMlPz4kMjQzw87Ixcek9ODi4LdL1
9Y/z87WIiElIDDDV0tTE2daPzj+9zTb2CfBztzIhqGpqaOLx7uzzLz+zZNGy
SAxCShaDliI4RYYlDE10KPNCYKIaAWF2MmConqaOu5uJhWdMeERkQn5BUtTi
q/cP58XhsTEhgRZaNm42pk5WWuYOroHBYXN3N7df95IiUkoqC9MziOn50f6B
oVF+Hi5Bw1wu93kiysjS1dzBJSa1KC/MWtfIwTyc3j92eRtj6uMX4OftamFo
ZGRE0Iwcunj7typxRRQKi5RFqCjDtZyzCgs+/79fUyAYBFrV0jpdXljULepJ
dEpWQWpWbnpyWkFOXMzeu/cfLkg5eTlp8b7uYXFBLv5uRk52th7BkXsvn99+
WIlzDohLSoiNT0xMDfEJjAg2jYhKnz0+4l5m61rYWgJ2PzmHXBrramxp5Zg5
MrtwcRpiG+gX5B/k5WVtbmaiqpM8dfPwlwKsljoOD/gnNQLONiKb3PXDb/9p
lxSBSimo6/jqCYMNktJ8wuNSgp4UF5YUE9MTkg8/v39/Qq6oLCtNiEwrIKbH
BvjZBAYl5JSlnD1/8eLVXGZQaFxaRmpKWkSkn5+vl7N6eFLR0skZ9zDJ1j3A
2dfRIyOjsjA5zM7BzD1vdHXrbDPEOyE6LjI6IMDGxMRIxSBv9PrTn7I0CASC
MuCAVVSUnFPTSWP/+vtvfy5DiMnj9W1TsoTFREKN8brqOvqR1bkkcnF2XvGz
z/dvDijAKlwZHlFKLi3Myy2Iy05ODrDJPb94+fJmtjI1IaWoDLBu8VH+vg4W
zraecYULRxdHe6VPUtKCc2Nic1IK83IyfL2DYvMYE2snmwFBWZn5WTkJwTZA
k6pbVM+8+sPXRF2CnjZBWeURmHN2EYXzy6///m1FWlbdLjhzeZgHxpeKk8QQ
rIKrqmtLyJXZpJpXHz582Kum1lXW5WSWkarKi/ILsjNyUwKcG665ty8eBjKS
kjNZdbWt5DJiTl5mbIBniG/F6tbJxUpiZkJiUmV+IquyJjs3KzvU17dqcG7u
aC0wuZxYXv4kO9nB3sHG1r9h9frPnwJV1VV11TUMdLBojaCs0vqZv/34828N
wqr6HlFF3EZBQet8Xpyjq2k+qbSa1NbV2Np+9/Dwbqua2lBDzC4sz8vIJaZl
pacTS4qLOm8Ob1+8GShsaiprqaiur2ysLi7KT42JSIxpOTi6fLqcnvUkJTY1
Mjg7hURuJJUnJkRUDm9tn4x5RaXFZxWmFGV5uDg7OIY2b7/4450DXlVDXUNd
W1dZ2TQsp7xp4Z8//fJbi4iGuXdCxR5JQLTEVFPZOdwhJKm8pLKqiVw/+Pb+
/vUSiUqtzyskVedlFZaUlBXl5hSWVfbfHN+9eM6h1HZSWlo6msltjbVVxGgX
sydxNO7p5dUSiVRcmZEcFBATHBUeFZkcBwyD8bXlwwGH4LiIpIyY1HRvV1dH
59jOzfs/vbDXUFIlAJZEE4e1iCFWtq79/Msv/2kQ1LD3Tqk9LOaV89FTlVTR
dvMry6+hFJPKqxYe7t++nK5ppDZVlldXlZEolfn5hYXEMlLl5NOTu1cXPe1U
DpPZRyNT2tppXZ3k7LikJ8xt7uHFVCutpaOqJD6svrqktDApIcz7ScvM+spR
l3NUQlRKRkJKWnhwkLtbWs/2xx8urY3VNM1djAk6WKR1QmFV59avv/7yYxlE
2zMwt+U6mw/PYy3OJ2FfQxyht3e1Mjuadl6+e/dypLa+iVpTVlxUWE0pJ2YT
S0pq6krnTs5f3J900diDrDZWA6mvprqyuraOVF6QN7K5s3E4QKG1d9ZR86Ij
g52jc/OKiMEFjKXTi2dVJgFBfpFxcYlpyUkJfh75wydfvkxrmxtbewXZGZqp
KrsnFpEYu7/+/PO/M2CmwTHF9DfREA0zZWB0JzTn1LY3t7bROztO3jy8f9Xf
UNfUTCotKczKK6+sLy4pL64mZa4eP7t7OO7s6KQxGjqryjlMRntLa0tdZXHh
1Nr22vEAmd5Jb+mpz0t25uEXlcarmeT3r508u85WC4yOS44NDwqJjo72ciub
OvvyHcfE1cnZxdHIwFRFzTe5uJa1/8tPv/zoL2UTmlTc+coeZvjE3LCwOpDY
SadSymurya3nH969f9XXXE9trSsrKyfmV9RSCivqalraS/bOb58/HLW2dNKH
2xjVeWR6F7Oru7u1Jp84t76/eTncyurqoQ8wWqtDQTz8PPxgyZzprb2j4xDL
nEoypTA7MSIhMtLbizx7+vkfPe4hfi52ugRDYyUNv+TShr6Dn3/6z18M5ByC
s0toV6qSlkKqYNcyXGI7o5da1Uqpp5/e3z+86mlraG5rKS2qrq6qrW+taWN3
dndXnD57df1w2NxEbR9v72O20Dg99JbWjhZKSfn67vH20yEGi97XyWL0NiXw
CQjyC0DhZUv7Z892jFyKy0rLi2pqqmtz0yNCqHNXn/9GdQkN8/LU07S1UTcM
SSmnDhz+/NNv3+OQbuFlJPaZnJw93kQMbZoem5dYkp1TVFg29urTm4+3zO7+
oYn+tvZ2WgeZQq1s7WMO1tRdXV+/frvHbmrrGGR39tKbu1j93eRyEqmkZXpv
nftsks3u4QwM9HN6wngfP+0TxHRNLZyfnehmUsjVna1lFQVFBWVZiW2btx9/
LnEKCXN0sXL28NI0j8qoahw4/O2X327EVP3CC6uZXAElN4SbgHFQFZGUX5j2
JCkhnX35+sunk+qSsgpyS31TbX1nc2tDG2dwYKmDdnf7/NXdWi+rjz3KamYA
kFg9NAqlkZLTvHC6f3DQzWhroXczGQxWAA8YLCAgYMSaWD4/2jMpbSBVM2iU
xnpKeUVGYsfO8/u/lvjGRHv4WNs4+ls4RmRVNY+c/vrTb/NQjaAogPmLAgRv
NbhmZcdE70gfjU4FUMzff7l/OK0nVRQV5+QWpSTlpCbnVZAprf11Q89vbh/e
7C7sbHG6mutbGxuZXQxqTWMzidi5eLx/fDrU397UyaK3tTE9eMFQMD+vH2d0
+XR/za6lpaqGyWxqo7Y1t1cX9h3dv/+uMuZJlI+zsYGRm5V7dG5l28TTn/71
Wz2/QXhCeS2tD6Lj56DkxGL2dNBZ7d30bkbHzNXty7dPmd3M9g5qY3tdVUVm
ampSbHJBYeLE86vn7+4WBhdW2ym1dU1VFU3NzTVllIbSsp6VQ+7p6ehQWz2t
t7uT1u0IFoRBwbxxA6ML+4cLLu11pbVsdlsHmdrcUVPcx334/LkmJzUu0t3G
wsDGyCORCJzK9Y8//pYqYB6ZUt1AbxMz9PWMiRlk9nR39nQzuoZHB9bfvP9w
f9rJ7OkZHGH2DXDo5PoGKqWJ3pS/9fL6+sUho7iSWlBSVlhc1lhJaWkgUTsb
Swe2zi/PNtt7qJT2HnZXF9NSWEgEAuZN6R+f3Tif8WyqKqlns9tbGtpaO8jl
I2cvPrwmVeRlEdPCvW2czb1TCis7h5//+PN/AgWtwlOrG7tq4WbeDv4xjS3s
3g4GndbRy+lZfvHw/u0Zk9Pfw+ltoHbSqNXNzZNLCxurtMO727u3T4co9TUp
SQlRsbGpKVllFYXl9XUVI+vHV1db7QPdtC52N6OTbiAmJMQrwJ8/MLWw+mws
kNZU18qgNVQVN3T0djTNXLz49qa8piCvojDCwyHAOTClqJrRf/fTL/+0gdmG
pZU3sIk4G9+gJwUN3f0DQPuM9Q2Nju68fXjz6qJ/cpzTP0hn97C6Wtmk/rnZ
xaXOzau71w+vd2cWORW5aWnZCZFxMSnp8bGpWTUTq/vXNxvNdGYXrYPW0ULT
kYYJgsBQyvDcxvolJ6aPyaC1dzRXZ1U3dzVTxg7f/fksj1yYW5IZ4O4R6R6U
WVTD7nv1n5++1YA5xeaUNI7EKDkHBea0dw73dvWOTE5zhqbmTx/efn57xBgY
HhhjsceHB4bYA0NTiyuL0/Szq5cv7y435tdne/q66Wx6B7WqmpSfmkUkTW+f
vbwcysguJ1fXUNtaGDpwMWGQoAhjbIG7fdqdwuxi0trZ/YxuTlc7qXr29s2f
dlNrywvLs6KiY544BxALKZy+t7/9+AYF80wtLKXO+im5h4bH0wenxjg9PWzO
6FDv5Nm7D58f1jrpvaxe9uBQX9/wyMDk9MLk/Hj/1e2z1/fc2cW9ne2tza2t
zc2Z+TFGayetpX1p9fnpzUDzoxfLTsvMz4xydHYwNlLv2Tha53LJddV1tH4O
g86mtQ92tTUtPb3/fq2IXFpVnhkVlpfg+SS9gsIaff/rfyaEsAFJubVt05r6
PgkZFazhqYmxqbn5kdm5icWLh48P9+us3qE+Tk//4ODgQC9zdHJuYma4/+nV
01dvuTPzG2sbWxsrS8srmxszvazH561s3Jw8G+6k0xm05oZmOjnAytbB1Tec
ufl0e3Onfa6nb3xpaXxgYKybQW1k7Lz48P1aDauru6M4MTIz0jO9uKqhd+zT
v/9LE1IMTM4lt01pGvknZlMGR8fHpxbXN6dW1le2rx4+vnvYH52eGxsbGRwc
GRvq6xmZnJ+aGhx+dnn56s3B7NzK6tbe7sbK6sb68mhXF6ennbG6fX1yOQGc
bj+HSWcPt2ojEHCCptfAyvHR+VlNV3dXz/js5OjYwhCtqYK2en37fp46PsJu
JWclpvs7xufXUPvH//D3/xYIqwan5tV0TKibBSUl5E+MjQyPz8zPzy4ur3Fv
3398//5wZml5anphdGBsanJydmx2cX56aOb68unrVweLK+tr2wfc/Z3t7Y3V
CTZ7aIDOWNm7Pj2dHhmbmBof5Iwt9sPFYXzCPHpT89unt9fZJUV5BaTmzp6R
obH+XnLv5stvv5si0VnsvubS0tIo36QCcsvA+A9/+2+kmE5oRkENbUTVMjQ5
hTg9PjI2NT01MTsxNn/48sOHh/u9idm50YnZ4YGJ+fnFtcnHLzYbWbu5unnz
Yn99Z3djc2vvYG9zZXllpr9veKCrZ/34+pw7PTY7Ozs1OjK7OSYjLcEvDDID
yH68e5TPAgx+bnpicnYltZVOGdl/+frzBIVKbeqiFFaWxYamFte2Dk789Z//
dZM1CcsuITM4SnaRyfWM+enphZXlhbm5Yc7M42dXH9/tjs9Mj0yODI3OLi8v
Lk4vzq/Mju9d39y9vd3bOtjf3draPdjfWFxYWRwbmRhiju6cP7vYn52anZ6a
HBub3+wSlRDmEQS5cuaOuIvcgom1+alRVhO5jkQmkWvH9k/ffLfMYjE7BusK
qwrCw5IKa9tHZv7x8w9maNuIvMo6ZjfeOS51aGVrdXVrZ2NleWl0aOn8zYfP
Xx72JudmRqcn5wBKry7PLazMbyxMnwLKfv98d2t3c2d7Z/+QC/zk7m9u7S4N
Tu+cnl9y19c3VleAP7K6VSMuLcwvCArkTO3uLT/LZvaw+meWFhdX5yeH22nT
Z2evX7cTC6uqmI0l9WXxyTmVtZ3jS//67ZmqqmsEsaaR1Yn3SMyY3D3e393f
W1tYWJ2e3Lx68+Hrx7fbE7NTQ5Ob+3vrKxvrS2sbi9sri1fPn71493xnY3Np
ZX17j8s9PNwFTu3gcKl3ZvPo+Nnp0cn2+ura6uL8QqqwpBAYyhMyMLO3PX+T
1zMxODS/tbMDVH2XzRg4Prt729fJpJVWZsYW5cWl51WR6dPrP/62jtD0jCyg
UNmtij6p2XPc9f7V+eu9vY2NoYnd07fff3n3/mByYHhmaHd7Z31hfWd1fWlv
e2vp9d3J7fsX+9sHu/vrj99CuLV3unN8vHW83zO/e3x6tru6sb+7Ore+On8Y
LikhCAXxxYzt7OwebFYOjA+PLW7t7h4cHWyOUVdPnt6/GB0cGmZz6ik1+cnh
ZdWkjpmdf/2XjTcGdkEyZbJU2S8xZ+Fot53ZPje9vbM8P7V8/eXz/ee3Ew21
LaMLe5vbWytr6wsAkp3NhWen51d3l3uHF6fc3Z297ZX1vcMt7uHm4W7v2vHT
Z88ON7ePDrZWd7ZX9nzFH1EJpCwcco8utmqH+vonN7iH3MOjw50x6uLh0/d3
wwODw739jC5WS2VKVWVt++j+v/7bIG/uHVNUQ5kgqgem5K+crFU3kmtz8lML
y0pZt99+/OGPrxmZ6elV3bOTi9vbu9w9gCvr21svn1/e3V8uLwHvn3t8tD49
vbK7vre/vrfxP1Tc9U3uwc7W7t7Olh2ACsIDKdw45p7eLNVzWAOzW1wu9+jw
+GCCtnb+8tPd2OTUzPAgZ3C8tymrqrylk3P6798KkDZ+8UXV9RPpmoHJeRvn
o8npiSHO/n6hnpE9r969+/fHrzvza921zQ319KHh8cXVx+jb1t7dzfnt26uN
tZ2tte3jy6PNbYCOh4c7+xtDK4cXT58CqLb3dndWN4/W9IEKgnnBtfvHB+cv
hpt6BsYX1oG24AInPNS3f/v+8+3MY/Z1ZHBooq8ps6amg9539e9/JqjZ+z8p
rqZOx+sGJ+fvPL2oKS1MDg319jbxbQDGzNjCdCWxvqyYSm0B5ilzZBqg2OTS
we3LN6/ujpfm54Ynpxa39/dPb0/OLi9Ojren14H16uZs7xAAuT+1cDqnJCMp
KMAn0H56dnT1prONMz6/AUzN7d21tUXm8PHdu69XU+sra4sTo6PTg225wDLF
GHvz67de2o6BKWWkzvlQwMmX7F9vleeTGhpKkkty6zn9U/O9PQP1DV11lbXl
1Q3korIGankbpXNg9ejpyw+fz0Y4sysHGytra6s7p9xTYFfgrs9tn1/fPL84
Oju9vDgenbkYlJcTh/CD+dnnp8fXryo6BqfXuEfAMNja3lxizJy/fPfdxcj8
2PTs+NDI3ASDWE/t6F3/+N/XVgYuwRlV5O5Fb9vYzDLuzU1fPaWusbyooJxU
RaHTyMAOVldbWFRSWl1XVUxpbyqjU1raenqHlo5v9/sHdq4vjoCn7B6cbxwA
+rC7NLd7cXV1fXZ4fvn0/Gx07hlNTF4UDKxew+dnZ7cvMujjK3snJ0eHe5sH
B1uslWdvP/3pYnxpeHRiqJczOdqZW9fczdl6/tu5iYVHWC65rnfJyTEus/zw
+d3x+QV3c3y6d7ClmlpfUp7X0NpRX1SUV1xFLi9roddV9DTTO9l01gCnF9jY
2xtprInNw6Pz29V9Lvdkf3Xl8NnN1dXZ0cXZ6dHp+PLzZkE5GBgME5i4AkbU
62T2wv4xQMG93c097i5r7en9tz9cLe5PjY31sNnD/a05TTQWc379zxv6dt6R
BXX1nCVr96S86v8PUeRlIA==
"], {{0, 200}, {150, 0}}, {0, 255},
ColorFunction->GrayLevel],
BoxForm`ImageTag[
      "Byte", ColorSpace -> "Grayscale", Interleaving -> None],
Selectable->False],
BaseStyle->"ImageGraphics",
ImageSize->Magnification[1],
ImageSizeRaw->{150, 200},
PlotRange->{{0, 150}, {0, 200}}]\);
In[2]:=
subset = \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJwdj3lQE2cYxoWK5trs5r5Isslm2ZCEECQkQc5wi4QrgCAgGBFIlWLwKEhr
YCqXWi4PFIqEIIcih0a0XoiKOkpFEQW0lgE7tWrbccYZ+2+7+Mx7zHzP/OZ9
PomlNNXivmrVqnV4i/C+u7D4Yvrt/ZnP/73/68Pi8sKLvxfv3rvYP/rwStPB
9rZsiyV/8/bKS+evj9+4s/Tp0+LH36c+fHz38o83yzO/zhaV7d576Piu8t15
pbWZ1fbeU33nTrimXs8vvfk48+pz5tb0sHhzhikzK9u2vTChym6vSI5KTMqx
lteXVbmysnNy07KNcbGJscGpIbHZluKSggKbtdBizTXFbMrU+KXo/JNikvyS
0oI3pkUkmDdGhwaFBUXnp1lLCtOj4izBMkyXxZWmivU8U6q/KTLepNMZg6Mi
YsytNdaUSEGwfkuBWcvQGdKzgjaG+SSxUCMWH25OPz/YmL0nvKS85vJgmDg/
r9iaZ9vGM2SIFBs4ETnygQu9u7rtiXWVzoloj8wYW/nB5iq+MB0DChLr6qo6
z5wuOnIkYMfO+qvFwpzYnoGzbfWhmgAJXFRUUVNTvse+KacwMiR5x0FbsjW5
+0RjdattS1x4ROPXnT879hVVFWdtTvEPTTLn5WeZrFuyC1v2l+R9n9hY1Nk5
eP64s3ZvWXvnyXZHf09dZ0uLvbxpuyUtYXNTbHpzg19y7eXLbbucN4Yu3Zt4
OP3q3/dLT2YnRod7Ks3p23LXUons+APOb2v6XdcHri29Xlr+58HQGUdT80/H
7aVWTOvNJroX1rfWddx2jC3+9ue7x1W29h7X2NDYrWsjIhZH7iM2NhxtaL1+
cXx2dslVceJmW3SgTOytjindGiMXCHg+3/SM7GmZe/pseeCH7h+1q1mgB4VN
cIOyS08P2/ig6bir4bs7i+8ch4frI7l8KixhcYQcgENgRuYkhcqM30221d49
esrpKIhPLK6z1zZVmA1qMkAkENyLvNfrO0Zqmhyjzftsp4euXmzZXVQ5MjVO
JBJJFEBaJeGVXWk9eL2vYffR4dFdgQw3EolirAeoIC5Ba6XSd99A+9ljVY7u
gRChB4EKEj3ITJDOoEMgpbg3Ac697eg91Do8vpPiRmUzPNxJlNUACIEAxcNv
qFqz3nnG0XFuuF/MBwAyiUKlghDliyBS46nU+EbXydFLYyYCmUxcQ6TTCGso
VAqZAoBMj+YLtYe7xvuHJ48BTDcSxIAIHiQQogJ4Lhogmp7vdJ6bcA08spAZ
BJYbGSKTQMpXAO5CEMR8PD04MXmrd+RqBmctkUankvG7K9+BaBBIjPzlwZXJ
azedly7GEX3lZPyRTqeBKxyNRuMVLEzfeXj77v0Ho9GQXsPAPToNp0AQ5yH3
6rdTNx49fTI/5QyCDIEIi8nATfzgl007vLAw/+L57MJMr5HEZZM5LMaKCXmK
PLksJlOO6FO2HugYHjtmJAN8lMNm0nGGJoaFPDaLxqez8KQEfkRKIEwnA1wu
B0eYTBj25HF5ABYfw8C0iNnsxwCZYiV/RTwuF0NhESyD2QmFfJoQbSzzg9g8
DlvgKRSJhAKBApNKUIUnTy5GNlUL/KL0DAJXIhTipkjo6SnH5HLMy1/EZCky
qkPWo2wuzsEwLMYFwzJMpZZL1QK6oaS++0AYiyLFEBRFpBKJBJF5SWUKlTeC
SoQ5XX19xwKEItQT9UVwyVAvDEOkMnzCMG2D3V5eooIRMR32EUoRFJNjmBcq
haWoXKlW7Gx3drVoxEKJEPGWrIB4nhUYp9n8dUdvPJwc0Mi9FEoFXt6Ylxfm
rcBpVIZg0kjXzNxUDxpgUCtVKrWvCpPJMKVa6aNQr/NRSkvuP1uY7tKGJgQG
a4O1ARqNCpH767T+Kl+DPlCz//Hc/OMupb9eodLoNBrMW+Wl0IdGhAXowo1x
YYeev5yd6tyYEKKWKuWICsF8VSqtIcIYGBwdkxR/cm5h+tEpU0r4enVUdKzW
T2fQBgSo/gcTgfls
"], {{0, 50}, {30, 0}}, {0, 255},
ColorFunction->GrayLevel],
BoxForm`ImageTag[
      "Byte", ColorSpace -> "Grayscale", Interleaving -> None],
Selectable->False],
BaseStyle->"ImageGraphics",
ImageSize->{56.6484375, Automatic},
ImageSizeRaw->{30, 50},
PlotRange->{{0, 30}, {0, 50}}]\);
In[3]:=
subResult = ResourceFunction["FindImageSubset"][img, subset]
Out[3]=
In[4]:=
HighlightImage[img,
 With[{vals = #}, Rectangle[vals - ImageDimensions[subset]/2, vals + ImageDimensions[subset]/2]] & /@ subResult["Values"]]
Out[4]=

Find a random subset image:

In[5]:=
img = ExampleData[{"TestImage", "Mandrill"}];
{w, h} = ImageDimensions[img];
size = 25;
In[6]:=
hLocation = With[{h = RandomInteger[{1, h - size}]}, {h, h + size}];
wLocation = With[{w = RandomInteger[{1, w - size}]}, {w, w + size}];
In[7]:=
subset = ImageTake[img, hLocation, wLocation]
Out[7]=
In[8]:=
subResult = ResourceFunction["FindImageSubset"][img, subset]
Out[8]=
In[9]:=
HighlightImage[img,
 With[{vals = #}, Rectangle[vals - ImageDimensions[subset]/2, vals + ImageDimensions[subset]/2]] & /@ subResult["Values"]]
Out[9]=

Publisher

Andy Hunt

Requirements

Wolfram Language 13.0 (December 2021) or above

Version History

  • 1.0.0 – 22 April 2024

Related Resources

License Information