locate-pixelcolor-cython-multi-auto-compile


Namelocate-pixelcolor-cython-multi-auto-compile JSON
Version 0.10 PyPI version JSON
download
home_pagehttps://github.com/hansalemaos/locate_pixelcolor_cython_multi_auto_compile
SummaryDetects colors in images 8 x faster than Numpy / Uses Cython - returns a dict
upload_time2023-09-19 22:01:11
maintainer
docs_urlNone
authorJohannes Fischer
requires_python
licenseMIT
keywords cython compile automatic rgb color search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Detects colors in images 8 x faster than Numpy / Uses Cython - returns a dict

## Tested against Windows 10 / Python 3.11 / Anaconda

### pip install locate-pixelcolor-cython-multi-auto-compile


Very fast RGB color search in pictures. 

I wrote a couple of variations of this function. All of them can be used in Python.

Cython, detects colors in images 2-3 x faster than Numpy # pre-compiled for Python 3.10
https://github.com/hansalemaos/locate_pixelcolor_cythonsingle

Cython, but with multiple processors (5-10x faster than Numpy) # pre-compiled for Python 3.10
https://github.com/hansalemaos/locate_pixelcolor_cythonmulti

Cupy, using the GPU (up to 8x faster than Numpy)
https://github.com/hansalemaos/locate_pixelcolor_cupy

C - shared library (10x faster than Numpy)
https://github.com/hansalemaos/locate_pixelcolor_c

C++ - parallel_for - shared library (up to 10x faster than Numpy)
https://github.com/hansalemaos/locate_pixelcolor_cpp_parallelfor

C++ - pragma omp - shared library (20x faster than Numpy)
https://github.com/hansalemaos/locate_pixelcolor_cpppragma

Numba - compiled - ahead of time (2-3x faster than numpy)
https://github.com/hansalemaos/locate_pixelcolor_numba

Numba Cuda - compiled - ahead of time (10x faster than numpy)
https://github.com/hansalemaos/locate_pixelcolor_numbacuda


```python
import numpy as np
import cv2
from locate_pixelcolor_cython_multi_auto_compile import search_colors

# 4525 x 6623 x 3 picture https://www.pexels.com/pt-br/foto/foto-da-raposa-sentada-no-chao-2295744/
picx = r"C:\Users\hansc\Downloads\pexels-alex-andrews-2295744.jpg"
pic = cv2.imread(picx)
colors0 = np.array([[255, 255, 255]],dtype=np.uint8)
resus0 = search_colors(pic=pic, colors=colors0)
colors1=np.array([(66,  71,  69),(62,  67,  65),(144, 155, 153),(52,  57,  55),(127, 138, 136),(53,  58,  56),(51,  56,  54),(32,  27,  18),(24,  17,   8),],dtype=np.uint8)
resus1 =  search_colors(pic=pic, colors=colors1)

# b,g,r = pic[...,0],pic[...,1],pic[...,2]
# %timeit resus0=search_colors(pic,colors0)
# %timeit np.where(((b==255)&(g==255)&(r==255)))
# %timeit resus1=search_colors(pic, colors1)
# %timeit np.where(((b==66)&(g==71)&(r==69))|((b==62)&(g==67)&(r==65))|((b==144)&(g==155)&(r==153))|((b==52)&(g==57)&(r==55))|((b==127)&(g==138)&(r==136))|((b==53)&(g==58)&(r==56))|((b==51)&(g==56)&(r==54))|((b==32)&(g==27)&(r==18))|((b==24)&(g==17)&(r==8)))
# 22.9 ms ± 63.9 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
# 161 ms ± 1.96 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
# 131 ms ± 400 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
# 939 ms ± 6.95 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

# resus1
# Out[5]:
# defaultdict(list,
#             {(66, 71, 69): array([[   0, 4522],
#                     [   3, 4522],
#                     [   3, 4523],
#                     ...,
#                     [5895,  852],
#                     [6043, 2871],
#                     [6063, 2897]], dtype=int32),
#              (51,
#               56,
#               54): array([[   2, 4522],
#                     [  15, 4523],
#                     [  48, 4035],
#                     ...,
#                     [5898, 1961],
#                     [5898, 1962],
#                     [5903, 1975]], dtype=int32),
#              (127,
#               138,
#               136): array([[   0,   38],
#                     [   2,    0],
#                     [   3,   19],
#                     [   5,   13],
#                     [   6,   10],
#                     [   8,    9],
#                     [   8,   42],
#                     [   9,   34],
#                     [   9,   46],
#                     [  11,    1],
#                     [  11,    8],
#                     [  11,    9],
#                     [  11,   25],
#                     [  13,    0],
#                     [  14,   36],
#                     [  15,   21],
#                     [  15,   22],
#                     [  15,   33],
#                     [  15,   40],
#                     [  49,   56],
#                     [ 562, 3300],
#                     [ 615, 1746],
#                     [ 616, 1738],
#                     [ 662,   15],
#                     [ 663,   11],
#                     [ 894, 3218],
#                     [ 897, 3249],
#                     [ 907, 2166],
#                     [ 937, 1673],
#                     [1241, 3230],
#                     [1245, 1691],
#                     [1246, 1693],
#                     [1318, 1705],
#                     [1319, 1651],
#                     [1366, 1590],
#                     [1371, 1536],
#                     [1372, 1541],
#                     [1379, 1586],
#                     [1379, 1623],
#                     [1382, 1589],
#                     [1383, 1594],
#                     [1384, 1623],
#                     [1386, 1564],
#                     [1391, 1584],
#                     [1394, 1569],
#                     [1394, 1571],
#                     [1394, 1573],
#                     [1398, 1591],
#                     [1400, 1569],
#                     [1404, 1551],
#                     [1404, 1571],
#                     [1405, 1555],
#                     [1406, 1566],
#                     [1412, 1585],
#                     [1414, 1550],
#                     [1414, 1560],
#                     [1414, 1567],
#                     [1415, 1538],
#                     [1416, 1568],
#                     [1420, 1562],
#                     [1420, 1573],
#                     [1421, 1575],
#                     [1423, 1554],
#                     [1438, 1518],
#                     [1479, 3069],
#                     [2295, 2404],
#                     [2310, 2346],
#                     [2312, 2371],
#                     [2323, 2353],
#                     [2323, 2714],
#                     [2391, 2672],
#                     [2642, 3440],
#                     [2851, 2706],
#                     [2863, 2625],
#                     [2921, 2383],
#                     [2926, 2633],
#                     [2932, 2651],
#                     [2951, 2685],
#                     [2953, 2688],
#                     [2972, 2464],
#                     [3148, 2606],
#                     [3295, 2509],
#                     [3311, 2617],
#                     [3314, 2622],
#                     [3320, 2623],
#                     [3325, 2368],
#                     [3331, 2613],
#                     [3332, 2614],
#                     [3337, 2310],
#                     [3343, 2615],
#                     [3372, 2300],
#                     [3375, 2595],
#                     [3382, 2597],
#                     [4208, 2576],
#                     [4227, 2577],
#                     [4268,  289],
#                     [4347,  433],
#                     [4564,  811],
#                     [4686,  884],
#                     [4752,  860],
#                     [4995,  856],
#                     [5013, 2974],
#                     [5050,  460],
#                     [5093, 3457],
#                     [5094, 2925],
#                     [5130, 2849],
#                     [5131, 2850],
#                     [5136,  666],
#                     [5169, 3548],
#                     [5180, 3337],
#                     [5247, 3101],
#                     [5256, 2947],
#                     [5257, 3232],
#                     [5265, 3250],
#                     [5275, 2935],
#                     [5298, 2866],
#                     [5314, 3369],
#                     [5321, 3859],
#                     [5363, 2916],
#                     [5364, 3182],
#                     [5394, 2728],
#                     [5399, 3344],
#                     [5434, 2579],
#                     [5448, 3321],
#                     [5452, 3678],
#                     [5476, 3328],
#                     [5509, 2973]], dtype=int32),
#              (144,
#               155,
#               153): array([[   1,    1],
#                     [   1,   40],
#                     [   2,   21],
#                     [   6,    5],
#                     [   6,   22],
#                     [   6,   25],
#                     [   6,   69],
#                     [   8,   22],
#                     [   9,    1],
#                     [   9,   38],
#                     [   9,   66],
#                     [   9,   75],
#                     [  10,   38],
#                     [  11,   17],
#                     [  11,   22],
#                     [  12,   17],
#                     [  13,   37],
#                     [  16,    4],
#                     [  16,   91],
#                     [  17,   81],
#                     [  17,   94],
#                     [  19,   14],
#                     [  20,    0],
#                     [  21,    2],
#                     [  48,   60],
#                     [  63,   57],
#                     [ 877, 3035],
#                     [ 969, 2294],
#                     [1018, 2260],
#                     [1258, 3185],
#                     [1258, 3189],
#                     [1262, 3218],
#                     [1262, 3219],
#                     [1263, 1673],
#                     [1277, 3212],
#                     [1303, 1717],
#                     [1312, 1660],
#                     [1337, 1641],
#                     [1340, 1642],
#                     [1360, 1583],
#                     [1363, 3163],
#                     [1366, 1573],
#                     [1369, 1596],
#                     [1370, 1591],
#                     [1372, 1573],
#                     [1381, 1620],
#                     [1382, 1594],
#                     [1393, 1599],
#                     [1395, 1592],
#                     [1397, 1596],
#                     [1400, 1563],
#                     [1400, 1592],
#                     [1402, 1561],
#                     [1403, 1544],
#                     [1403, 1554],
#                     [1404, 1560],
#                     [1405, 1603],
#                     [1407, 1586],
#                     [1409, 1563],
#                     [1409, 1590],
#                     [1409, 1596],
#                     [1410, 1597],
#                     [1411, 1556],
#                     [1411, 1599],
#                     [1420, 1577],
#                     [1797, 2667],
#                     [2151, 2318],
#                     [2293, 2347],
#                     [2297, 2351],
#                     [2297, 2368],
#                     [2301, 2335],
#                     [2301, 2381],
#                     [2306, 2371],
#                     [2306, 2376],
#                     [2309, 2416],
#                     [2309, 2424],
#                     [2317, 2363],
#                     [2318, 2371],
#                     [2319, 2412],
#                     [2321, 2425],
#                     [2326, 2366],
#                     [2329, 2401],
#                     [2383, 2601],
#                     [2687, 2636],
#                     [2710, 2731],
#                     [2718, 2689],
#                     [2810, 2597],
#                     [2968, 2457],
#                     [2970, 2442],
#                     [3004, 2684],
#                     [3010, 2413],
#                     [3070, 2515],
#                     [3075, 2524],
#                     [3087, 2669],
#                     [3209, 2529],
#                     [3300, 2524],
#                     [3330, 2613],
#                     [3331, 2514],
#                     [3347, 2381],
#                     [3465, 2568],
#                     [3888, 2430],
#                     [3942, 1891],
#                     [3942, 1893],
#                     [3950, 1890],
#                     [4227, 2576],
#                     [4321,   98],
#                     [4420,  497],
#                     [4420,  500],
#                     [4421,  500],
#                     [4496,  619],
#                     [4530,  814],
#                     [4721,  859],
#                     [4723,  858],
#                     [4770,  952],
#                     [4822, 3101],
#                     [4864, 3195],
#                     [4923,  155],
#                     [4941,  548],
#                     [4942,  549],
#                     [4978, 2675],
#                     [4993,  882],
#                     [5112, 3145],
#                     [5141,  625],
#                     [5149,  736],
#                     [5185,  643],
#                     [5217, 3420],
#                     [5225, 3391],
#                     [5226, 3386],
#                     [5227, 3673],
#                     [5237, 3260],
#                     [5299, 4207],
#                     [5308, 3709],
#                     [5320, 3857],
#                     [5328, 3750],
#                     [5359, 2744],
#                     [5365, 2847],
#                     [5372, 2779],
#                     [5388, 2603],
#                     [5389, 3079],
#                     [5392, 2871],
#                     [5399, 2879],
#                     [5416, 2895],
#                     [5424, 3085],
#                     [5428, 3107],
#                     [5435, 2580],
#                     [5457, 3375],
#                     [5461, 3093],
#                     [5466, 3252],
#                     [5466, 3254],
#                     [5472, 3356],
#                     [5478,  671],
#                     [5483, 3150],
#                     [5485, 3670],
#                     [5487, 3672],
#                     [5510, 3433],
#                     [5513, 3107],
#                     [5537, 3010],
#                     [5537, 3012],
#                     [5579, 2977],
#                     [5755, 1061]], dtype=int32),
#              (32,
#               27,
#               18): array([[   3, 3240],
#                     [   3, 3241],
#                     [  12, 3349],
#                     ...,
#                     [6622, 2844],
#                     [6622, 2854],
#                     [6622, 2865]], dtype=int32),
#              (24,
#               17,
#               8): array([[ 669, 1723],
#                     [ 670, 1722],
#                     [ 781, 3120],
#                     ...,
#                     [6622, 4522],
#                     [6622, 4523],
#                     [6622, 4524]], dtype=int32),
#              (53,
#               58,
#               56): array([[   2, 4523],
#                     [   2, 4524],
#                     [   4, 4522],
#                     ...,
#                     [5906, 1969],
#                     [5908, 1246],
#                     [6057, 2862]], dtype=int32),
#              (52,
#               57,
#               55): array([[   1, 4524],
#                     [  49, 4035],
#                     [  52, 4030],
#                     ...,
#                     [6040, 2868],
#                     [6049, 2868],
#                     [6058, 2863]], dtype=int32),
#              (62,
#               67,
#               65): array([[   0, 4523],
#                     [  50, 4037],
#                     [  52, 4033],
#                     ...,
#                     [5903, 1973],
#                     [5904, 1952],
#                     [6041, 2868]], dtype=int32)})


```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hansalemaos/locate_pixelcolor_cython_multi_auto_compile",
    "name": "locate-pixelcolor-cython-multi-auto-compile",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "cython,compile,automatic,rgb,color,search",
    "author": "Johannes Fischer",
    "author_email": "aulasparticularesdealemaosp@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/96/a7/bb3848f94de00e6edd1f14db0b5e9b57538a2ee165cc94dfe15776430a04/locate_pixelcolor_cython_multi_auto_compile-0.10.tar.gz",
    "platform": null,
    "description": "\r\n# Detects colors in images 8 x faster than Numpy / Uses Cython - returns a dict\r\n\r\n## Tested against Windows 10 / Python 3.11 / Anaconda\r\n\r\n### pip install locate-pixelcolor-cython-multi-auto-compile\r\n\r\n\r\nVery fast RGB color search in pictures. \r\n\r\nI wrote a couple of variations of this function. All of them can be used in Python.\r\n\r\nCython, detects colors in images 2-3 x faster than Numpy # pre-compiled for Python 3.10\r\nhttps://github.com/hansalemaos/locate_pixelcolor_cythonsingle\r\n\r\nCython, but with multiple processors (5-10x faster than Numpy) # pre-compiled for Python 3.10\r\nhttps://github.com/hansalemaos/locate_pixelcolor_cythonmulti\r\n\r\nCupy, using the GPU (up to 8x faster than Numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_cupy\r\n\r\nC - shared library (10x faster than Numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_c\r\n\r\nC++ - parallel_for - shared library (up to 10x faster than Numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_cpp_parallelfor\r\n\r\nC++ - pragma omp - shared library (20x faster than Numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_cpppragma\r\n\r\nNumba - compiled - ahead of time (2-3x faster than numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_numba\r\n\r\nNumba Cuda - compiled - ahead of time (10x faster than numpy)\r\nhttps://github.com/hansalemaos/locate_pixelcolor_numbacuda\r\n\r\n\r\n```python\r\nimport numpy as np\r\nimport cv2\r\nfrom locate_pixelcolor_cython_multi_auto_compile import search_colors\r\n\r\n# 4525 x 6623 x 3 picture https://www.pexels.com/pt-br/foto/foto-da-raposa-sentada-no-chao-2295744/\r\npicx = r\"C:\\Users\\hansc\\Downloads\\pexels-alex-andrews-2295744.jpg\"\r\npic = cv2.imread(picx)\r\ncolors0 = np.array([[255, 255, 255]],dtype=np.uint8)\r\nresus0 = search_colors(pic=pic, colors=colors0)\r\ncolors1=np.array([(66,  71,  69),(62,  67,  65),(144, 155, 153),(52,  57,  55),(127, 138, 136),(53,  58,  56),(51,  56,  54),(32,  27,  18),(24,  17,   8),],dtype=np.uint8)\r\nresus1 =  search_colors(pic=pic, colors=colors1)\r\n\r\n# b,g,r = pic[...,0],pic[...,1],pic[...,2]\r\n# %timeit resus0=search_colors(pic,colors0)\r\n# %timeit np.where(((b==255)&(g==255)&(r==255)))\r\n# %timeit resus1=search_colors(pic, colors1)\r\n# %timeit np.where(((b==66)&(g==71)&(r==69))|((b==62)&(g==67)&(r==65))|((b==144)&(g==155)&(r==153))|((b==52)&(g==57)&(r==55))|((b==127)&(g==138)&(r==136))|((b==53)&(g==58)&(r==56))|((b==51)&(g==56)&(r==54))|((b==32)&(g==27)&(r==18))|((b==24)&(g==17)&(r==8)))\r\n# 22.9 ms \u00b1 63.9 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 10 loops each)\r\n# 161 ms \u00b1 1.96 ms per loop (mean \u00b1 std. dev. of 7 runs, 10 loops each)\r\n# 131 ms \u00b1 400 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 10 loops each)\r\n# 939 ms \u00b1 6.95 ms per loop (mean \u00b1 std. dev. of 7 runs, 1 loop each)\r\n\r\n# resus1\r\n# Out[5]:\r\n# defaultdict(list,\r\n#             {(66, 71, 69): array([[   0, 4522],\r\n#                     [   3, 4522],\r\n#                     [   3, 4523],\r\n#                     ...,\r\n#                     [5895,  852],\r\n#                     [6043, 2871],\r\n#                     [6063, 2897]], dtype=int32),\r\n#              (51,\r\n#               56,\r\n#               54): array([[   2, 4522],\r\n#                     [  15, 4523],\r\n#                     [  48, 4035],\r\n#                     ...,\r\n#                     [5898, 1961],\r\n#                     [5898, 1962],\r\n#                     [5903, 1975]], dtype=int32),\r\n#              (127,\r\n#               138,\r\n#               136): array([[   0,   38],\r\n#                     [   2,    0],\r\n#                     [   3,   19],\r\n#                     [   5,   13],\r\n#                     [   6,   10],\r\n#                     [   8,    9],\r\n#                     [   8,   42],\r\n#                     [   9,   34],\r\n#                     [   9,   46],\r\n#                     [  11,    1],\r\n#                     [  11,    8],\r\n#                     [  11,    9],\r\n#                     [  11,   25],\r\n#                     [  13,    0],\r\n#                     [  14,   36],\r\n#                     [  15,   21],\r\n#                     [  15,   22],\r\n#                     [  15,   33],\r\n#                     [  15,   40],\r\n#                     [  49,   56],\r\n#                     [ 562, 3300],\r\n#                     [ 615, 1746],\r\n#                     [ 616, 1738],\r\n#                     [ 662,   15],\r\n#                     [ 663,   11],\r\n#                     [ 894, 3218],\r\n#                     [ 897, 3249],\r\n#                     [ 907, 2166],\r\n#                     [ 937, 1673],\r\n#                     [1241, 3230],\r\n#                     [1245, 1691],\r\n#                     [1246, 1693],\r\n#                     [1318, 1705],\r\n#                     [1319, 1651],\r\n#                     [1366, 1590],\r\n#                     [1371, 1536],\r\n#                     [1372, 1541],\r\n#                     [1379, 1586],\r\n#                     [1379, 1623],\r\n#                     [1382, 1589],\r\n#                     [1383, 1594],\r\n#                     [1384, 1623],\r\n#                     [1386, 1564],\r\n#                     [1391, 1584],\r\n#                     [1394, 1569],\r\n#                     [1394, 1571],\r\n#                     [1394, 1573],\r\n#                     [1398, 1591],\r\n#                     [1400, 1569],\r\n#                     [1404, 1551],\r\n#                     [1404, 1571],\r\n#                     [1405, 1555],\r\n#                     [1406, 1566],\r\n#                     [1412, 1585],\r\n#                     [1414, 1550],\r\n#                     [1414, 1560],\r\n#                     [1414, 1567],\r\n#                     [1415, 1538],\r\n#                     [1416, 1568],\r\n#                     [1420, 1562],\r\n#                     [1420, 1573],\r\n#                     [1421, 1575],\r\n#                     [1423, 1554],\r\n#                     [1438, 1518],\r\n#                     [1479, 3069],\r\n#                     [2295, 2404],\r\n#                     [2310, 2346],\r\n#                     [2312, 2371],\r\n#                     [2323, 2353],\r\n#                     [2323, 2714],\r\n#                     [2391, 2672],\r\n#                     [2642, 3440],\r\n#                     [2851, 2706],\r\n#                     [2863, 2625],\r\n#                     [2921, 2383],\r\n#                     [2926, 2633],\r\n#                     [2932, 2651],\r\n#                     [2951, 2685],\r\n#                     [2953, 2688],\r\n#                     [2972, 2464],\r\n#                     [3148, 2606],\r\n#                     [3295, 2509],\r\n#                     [3311, 2617],\r\n#                     [3314, 2622],\r\n#                     [3320, 2623],\r\n#                     [3325, 2368],\r\n#                     [3331, 2613],\r\n#                     [3332, 2614],\r\n#                     [3337, 2310],\r\n#                     [3343, 2615],\r\n#                     [3372, 2300],\r\n#                     [3375, 2595],\r\n#                     [3382, 2597],\r\n#                     [4208, 2576],\r\n#                     [4227, 2577],\r\n#                     [4268,  289],\r\n#                     [4347,  433],\r\n#                     [4564,  811],\r\n#                     [4686,  884],\r\n#                     [4752,  860],\r\n#                     [4995,  856],\r\n#                     [5013, 2974],\r\n#                     [5050,  460],\r\n#                     [5093, 3457],\r\n#                     [5094, 2925],\r\n#                     [5130, 2849],\r\n#                     [5131, 2850],\r\n#                     [5136,  666],\r\n#                     [5169, 3548],\r\n#                     [5180, 3337],\r\n#                     [5247, 3101],\r\n#                     [5256, 2947],\r\n#                     [5257, 3232],\r\n#                     [5265, 3250],\r\n#                     [5275, 2935],\r\n#                     [5298, 2866],\r\n#                     [5314, 3369],\r\n#                     [5321, 3859],\r\n#                     [5363, 2916],\r\n#                     [5364, 3182],\r\n#                     [5394, 2728],\r\n#                     [5399, 3344],\r\n#                     [5434, 2579],\r\n#                     [5448, 3321],\r\n#                     [5452, 3678],\r\n#                     [5476, 3328],\r\n#                     [5509, 2973]], dtype=int32),\r\n#              (144,\r\n#               155,\r\n#               153): array([[   1,    1],\r\n#                     [   1,   40],\r\n#                     [   2,   21],\r\n#                     [   6,    5],\r\n#                     [   6,   22],\r\n#                     [   6,   25],\r\n#                     [   6,   69],\r\n#                     [   8,   22],\r\n#                     [   9,    1],\r\n#                     [   9,   38],\r\n#                     [   9,   66],\r\n#                     [   9,   75],\r\n#                     [  10,   38],\r\n#                     [  11,   17],\r\n#                     [  11,   22],\r\n#                     [  12,   17],\r\n#                     [  13,   37],\r\n#                     [  16,    4],\r\n#                     [  16,   91],\r\n#                     [  17,   81],\r\n#                     [  17,   94],\r\n#                     [  19,   14],\r\n#                     [  20,    0],\r\n#                     [  21,    2],\r\n#                     [  48,   60],\r\n#                     [  63,   57],\r\n#                     [ 877, 3035],\r\n#                     [ 969, 2294],\r\n#                     [1018, 2260],\r\n#                     [1258, 3185],\r\n#                     [1258, 3189],\r\n#                     [1262, 3218],\r\n#                     [1262, 3219],\r\n#                     [1263, 1673],\r\n#                     [1277, 3212],\r\n#                     [1303, 1717],\r\n#                     [1312, 1660],\r\n#                     [1337, 1641],\r\n#                     [1340, 1642],\r\n#                     [1360, 1583],\r\n#                     [1363, 3163],\r\n#                     [1366, 1573],\r\n#                     [1369, 1596],\r\n#                     [1370, 1591],\r\n#                     [1372, 1573],\r\n#                     [1381, 1620],\r\n#                     [1382, 1594],\r\n#                     [1393, 1599],\r\n#                     [1395, 1592],\r\n#                     [1397, 1596],\r\n#                     [1400, 1563],\r\n#                     [1400, 1592],\r\n#                     [1402, 1561],\r\n#                     [1403, 1544],\r\n#                     [1403, 1554],\r\n#                     [1404, 1560],\r\n#                     [1405, 1603],\r\n#                     [1407, 1586],\r\n#                     [1409, 1563],\r\n#                     [1409, 1590],\r\n#                     [1409, 1596],\r\n#                     [1410, 1597],\r\n#                     [1411, 1556],\r\n#                     [1411, 1599],\r\n#                     [1420, 1577],\r\n#                     [1797, 2667],\r\n#                     [2151, 2318],\r\n#                     [2293, 2347],\r\n#                     [2297, 2351],\r\n#                     [2297, 2368],\r\n#                     [2301, 2335],\r\n#                     [2301, 2381],\r\n#                     [2306, 2371],\r\n#                     [2306, 2376],\r\n#                     [2309, 2416],\r\n#                     [2309, 2424],\r\n#                     [2317, 2363],\r\n#                     [2318, 2371],\r\n#                     [2319, 2412],\r\n#                     [2321, 2425],\r\n#                     [2326, 2366],\r\n#                     [2329, 2401],\r\n#                     [2383, 2601],\r\n#                     [2687, 2636],\r\n#                     [2710, 2731],\r\n#                     [2718, 2689],\r\n#                     [2810, 2597],\r\n#                     [2968, 2457],\r\n#                     [2970, 2442],\r\n#                     [3004, 2684],\r\n#                     [3010, 2413],\r\n#                     [3070, 2515],\r\n#                     [3075, 2524],\r\n#                     [3087, 2669],\r\n#                     [3209, 2529],\r\n#                     [3300, 2524],\r\n#                     [3330, 2613],\r\n#                     [3331, 2514],\r\n#                     [3347, 2381],\r\n#                     [3465, 2568],\r\n#                     [3888, 2430],\r\n#                     [3942, 1891],\r\n#                     [3942, 1893],\r\n#                     [3950, 1890],\r\n#                     [4227, 2576],\r\n#                     [4321,   98],\r\n#                     [4420,  497],\r\n#                     [4420,  500],\r\n#                     [4421,  500],\r\n#                     [4496,  619],\r\n#                     [4530,  814],\r\n#                     [4721,  859],\r\n#                     [4723,  858],\r\n#                     [4770,  952],\r\n#                     [4822, 3101],\r\n#                     [4864, 3195],\r\n#                     [4923,  155],\r\n#                     [4941,  548],\r\n#                     [4942,  549],\r\n#                     [4978, 2675],\r\n#                     [4993,  882],\r\n#                     [5112, 3145],\r\n#                     [5141,  625],\r\n#                     [5149,  736],\r\n#                     [5185,  643],\r\n#                     [5217, 3420],\r\n#                     [5225, 3391],\r\n#                     [5226, 3386],\r\n#                     [5227, 3673],\r\n#                     [5237, 3260],\r\n#                     [5299, 4207],\r\n#                     [5308, 3709],\r\n#                     [5320, 3857],\r\n#                     [5328, 3750],\r\n#                     [5359, 2744],\r\n#                     [5365, 2847],\r\n#                     [5372, 2779],\r\n#                     [5388, 2603],\r\n#                     [5389, 3079],\r\n#                     [5392, 2871],\r\n#                     [5399, 2879],\r\n#                     [5416, 2895],\r\n#                     [5424, 3085],\r\n#                     [5428, 3107],\r\n#                     [5435, 2580],\r\n#                     [5457, 3375],\r\n#                     [5461, 3093],\r\n#                     [5466, 3252],\r\n#                     [5466, 3254],\r\n#                     [5472, 3356],\r\n#                     [5478,  671],\r\n#                     [5483, 3150],\r\n#                     [5485, 3670],\r\n#                     [5487, 3672],\r\n#                     [5510, 3433],\r\n#                     [5513, 3107],\r\n#                     [5537, 3010],\r\n#                     [5537, 3012],\r\n#                     [5579, 2977],\r\n#                     [5755, 1061]], dtype=int32),\r\n#              (32,\r\n#               27,\r\n#               18): array([[   3, 3240],\r\n#                     [   3, 3241],\r\n#                     [  12, 3349],\r\n#                     ...,\r\n#                     [6622, 2844],\r\n#                     [6622, 2854],\r\n#                     [6622, 2865]], dtype=int32),\r\n#              (24,\r\n#               17,\r\n#               8): array([[ 669, 1723],\r\n#                     [ 670, 1722],\r\n#                     [ 781, 3120],\r\n#                     ...,\r\n#                     [6622, 4522],\r\n#                     [6622, 4523],\r\n#                     [6622, 4524]], dtype=int32),\r\n#              (53,\r\n#               58,\r\n#               56): array([[   2, 4523],\r\n#                     [   2, 4524],\r\n#                     [   4, 4522],\r\n#                     ...,\r\n#                     [5906, 1969],\r\n#                     [5908, 1246],\r\n#                     [6057, 2862]], dtype=int32),\r\n#              (52,\r\n#               57,\r\n#               55): array([[   1, 4524],\r\n#                     [  49, 4035],\r\n#                     [  52, 4030],\r\n#                     ...,\r\n#                     [6040, 2868],\r\n#                     [6049, 2868],\r\n#                     [6058, 2863]], dtype=int32),\r\n#              (62,\r\n#               67,\r\n#               65): array([[   0, 4523],\r\n#                     [  50, 4037],\r\n#                     [  52, 4033],\r\n#                     ...,\r\n#                     [5903, 1973],\r\n#                     [5904, 1952],\r\n#                     [6041, 2868]], dtype=int32)})\r\n\r\n\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Detects colors in images 8 x faster than Numpy / Uses Cython - returns a dict",
    "version": "0.10",
    "project_urls": {
        "Homepage": "https://github.com/hansalemaos/locate_pixelcolor_cython_multi_auto_compile"
    },
    "split_keywords": [
        "cython",
        "compile",
        "automatic",
        "rgb",
        "color",
        "search"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7040aa720fa51a7393528a3de531b789ac5305564e94a70b0a3bcf979ffe45f6",
                "md5": "b45015c08426ab793440d5fce722cca7",
                "sha256": "423adca4eb605815f9e477e6ab21f9509f9f0b19015778475e5bc81f70fd2405"
            },
            "downloads": -1,
            "filename": "locate_pixelcolor_cython_multi_auto_compile-0.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b45015c08426ab793440d5fce722cca7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 27346,
            "upload_time": "2023-09-19T22:01:09",
            "upload_time_iso_8601": "2023-09-19T22:01:09.021613Z",
            "url": "https://files.pythonhosted.org/packages/70/40/aa720fa51a7393528a3de531b789ac5305564e94a70b0a3bcf979ffe45f6/locate_pixelcolor_cython_multi_auto_compile-0.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96a7bb3848f94de00e6edd1f14db0b5e9b57538a2ee165cc94dfe15776430a04",
                "md5": "2b61b4623401717c8f09233759251b67",
                "sha256": "d216120c78d1a184a448c422658d58ec70bda6003b90339bcc36c1cf4060f538"
            },
            "downloads": -1,
            "filename": "locate_pixelcolor_cython_multi_auto_compile-0.10.tar.gz",
            "has_sig": false,
            "md5_digest": "2b61b4623401717c8f09233759251b67",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 27632,
            "upload_time": "2023-09-19T22:01:11",
            "upload_time_iso_8601": "2023-09-19T22:01:11.253121Z",
            "url": "https://files.pythonhosted.org/packages/96/a7/bb3848f94de00e6edd1f14db0b5e9b57538a2ee165cc94dfe15776430a04/locate_pixelcolor_cython_multi_auto_compile-0.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-19 22:01:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hansalemaos",
    "github_project": "locate_pixelcolor_cython_multi_auto_compile",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "locate-pixelcolor-cython-multi-auto-compile"
}
        
Elapsed time: 0.11679s