# Fast multitemplate matching with support for different sizes using numexpr / cupy / fftw / scipy / multiprocessing
## pip install tmplmatching
### Advantages:
- Uses a tuned match_template algorithm from scipy (numexpr instead of numpy / different fftconvolve algorithms)
- very fast fftconvolve function using pyfftw (alternatively cupy and scipy.signal.fftconvolve)
- Multiprocessing using RawArray to speed it up / save memory
- Template matching with multiple sizes
- Results as a pandas DataFrame for further filtering
- Adjustable accepted R, G, B difference
- Finding the best matches among multiple matches
### Tested against Windows 10 / Python 3.10 / Anaconda - should work on MacOS / Linux
## Selecting
![pic1](https://github.com/hansalemaos/screenshots/blob/main/multitemplate/tag.png?raw=true)
## Locating
![pic2](https://github.com/hansalemaos/screenshots/blob/main/multitemplate/results.png?raw=true)
```python
import cv2
from tmplmatching import TemplateMatching
if __name__ == "__main__": # important - since it uses multiprocessing, this line is mandatory!
############################################################
# Step 1:
# Initialize TemplateMatching
self = TemplateMatching(screenshot_buffer=10, use_cupy=False)
############################################################
# Step 2:
# Create a class list in ALPHABETICAL order, put one class per line and save the file:
# Here is an example:
"""
# social_media_icons.txt
facebookicon
tiktokicon
whatsappicon
youtubeicon
"""
# and save it as a TXT file
############################################################
# Step 3:
# Start annotation tool (https://github.com/drainingsun/ybat - included in this package) which captures a screenshot, and shows the path to the screenshot (has to be done only once)
self.start_annotation_tool()
############################################################
# Step 4:
# open the text file and the screenshot (or any other image) in the annotation tool, and select the items you want to find
############################################################
# Step 5:
# Click on "Save COCO" when you are done
# Copy the path of the downloaded zip file and the path of the image
# "C:\Users\hansc\Downloads\bboxes_coco.zip"
############################################################
# Step 6:
# Once the annotation is done, extract and resize items based on annotations (has to be done only once)
self.extract_images_from_annotations(
folder=r"c:\socialmediaicons_different_sizes", # The folder to save extracted templates
zipfile=r"C:\Users\hansc\Downloads\bboxes_coco.zip", # Path to saved annotations
screenshot=r"C:\Users\hansc\AppData\Local\Temp\tmp1ak8brdw.png", # The picture that you used in self.start_annotation_tool()
min_percentage=10, # Defines variations for each template
max_percentage=200,
interpolation=cv2.INTER_LANCZOS4 # recommended for the best results
)
############################################################
# Step 7:
# Load template images with specified size ranges
self.load_needle_images(
folder=r"c:\socialmediaicons_different_sizes",
min_percentage=25,
max_percentage=35,
)
############################################################
# Step 8:
df = self.take_screenshot_and_find_needles(
minimum_match=0.60, # Minimum threshold for template matching - the lower you go, the longer the calculations takes
monitor=1, # 0 for all monitors
percent=30, # Resize screenshots before matching (results are recalculated to the original size)
processes=5, # Number of CPUs used for multiprocessing
interpolation=cv2.INTER_LANCZOS4, # Interpolation method for resizing the screenshot - Use cv2.INTER_LANCZOS4 for the best results (but a little slower than cv2.INTER_AREA)
max_diff_r=80, # Maximal accepted RGB difference filter to reduce false positives
max_diff_g=80,
max_diff_b=80,
max_color_difference_factor=2,
)
ima = self.draw_results(df) # Pass the DataFrame to draw the results
cv2.imwrite(r"c:\socialmediaiconsmatching.png", ima)
# --------------------------------------
# If you don't want to take a screenshot and want to pass an existing picture, use:
df2 = self.find_needles(
haystack=r"C:\Users\hansc\AppData\Local\Temp\tmp1ak8brdw.png", # accepts almost all image formats (base64, file path, urls, PIL, numpy, bytes ...)
percent=30,
minimum_match=0.7,
processes=4,
max_diff_r=30,
max_diff_g=30,
max_diff_b=30,
max_color_difference_factor=2,
interpolation=cv2.INTER_LANCZOS4,
)
ima2 = self.draw_results(
df2, haystack=r"C:\Users\hansc\AppData\Local\Temp\tmp1ak8brdw.png"
) # Pass the DataFrame to draw the last results
cv2.imwrite("c:\\socialmediaiconsmatching2.png", ima2)
aa_intersecting aa_r0 aa_g0 aa_b0
0 0.963882 1323 316 1403 393 3 1323 316 80 76 237 155 69 c:\socialmediaicons_different_sizes\facebookicon___0___000021___030.png facebookicon 0 21 30 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (315, 99, 334, 117), (315, 100, 334, 118), (314, 98, 334, 117), (314, 99, 334, 118), (314, 100, 334, 119), (314, 98, 334, 118), (314, 99, 334, 119), (265, 153, 283, 170), (265, 152, 283, 170), (265, 153, 283, 171), (291, 153, 309, 171), (494, 258, 512, 276), (494, 259, 512, 277), (264, 152, 283, 171), (290, 152, 309, 171), (264, 153, 283, 172), (289, 153, 308, 172), (290, 153, 309, 172), (493, 257, 512, 276), (493, 258, 512, 277), (263, 152, 283, 172), (289, 152, 309, 172), (290, 152, 310, 172), (289, 153, 309, 173), (459, 95, 480, 116), (486, 95, 507, 116), (486, 96, 507, 117), (263, 151, 284, 172), (289, 151, 310, 172), (289, 152, 310, 173), (458, 94, 480, 115), (458, 95, 480, 116), (485, 95, 507, 116), (486, 95, 508, 116), (485, 96, 507, 117), (486, 96, 508, 117), (457, 94, 479, 116), (458, 94, 480, 116), (486, 94, 508, 116), (458, 95, 480, 117), (485, 95, 507, 117), (486, 95, 508, 117), (487, 95, 509, 117), (485, 96, 507, 118), (486, 96, 508, 118), (456, 94, 479, 117), (457, 94, 480, 117), (485, 94, 508, 117), (486, 94, 509, 117), (457, 95, 480, 118), (484, 95, 507, 118), (485, 95, 508, 118), (486, 95, 509, 118), (456, 93, 480, 117), (484, 93, 508, 117), (485, 93, 509, 117), (455, 94, 479, 118), (456, 94, 480, 118), (484, 94, 508, 118), (485, 94, 509, 118), (484, 95, 508, 119), (485, 95, 509, 119), (427, 123, 451, 147), (455, 93, 480, 117), (484, 93, 509, 117), (455, 94, 480, 118), (483, 94, 508, 118), (484, 94, 509, 118), (485, 94, 510, 118), ...) 237 161 78
1 0.763606 1053 330 1110 386 2 1053 330 56 56 237 155 69 c:\socialmediaicons_different_sizes\facebookicon___0___000013___022.png facebookicon 0 13 22 ((518, 285, 530, 296), (295, 152, 307, 164), (517, 280, 530, 293), (517, 279, 531, 293), (517, 280, 531, 294), (516, 279, 531, 293), (516, 280, 531, 294), (516, 279, 532, 294), (516, 278, 532, 294), (516, 279, 532, 295), (515, 278, 532, 295), (399, 98, 418, 116), (400, 98, 419, 116), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (398, 98, 418, 117), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (398, 98, 418, 118), (399, 98, 419, 118), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), (395, 95, 421, 120), (396, 95, 422, 120), (395, 92, 422, 118), (395, 93, 422, 119), (395, 94, 422, 120), (395, 95, 422, 121), (395, 92, 423, 119), (395, 93, 423, 120), (265, 153, 283, 170), (265, 152, 283, 170), (265, 153, 283, 171), (291, 153, 309, 171), (494, 258, 512, 276), (494, 259, 512, 277), (264, 152, 283, 171), (290, 152, 309, 171), (264, 153, 283, 172), (289, 153, 308, 172), (290, 153, 309, 172), (493, 257, 512, 276), (493, 258, 512, 277), (263, 152, 283, 172), (289, 152, 309, 172), (290, 152, 310, 172), (289, 153, 309, 173), (459, 95, 480, 116), ...) 218 149 98
2 0.666532 1720 930 1773 980 2 1056 333 53 50 237 154 66 c:\socialmediaicons_different_sizes\facebookicon___0___000011___020.png facebookicon 0 11 20 ((319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (316, 99, 333, 116), (316, 100, 333, 117), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), (395, 95, 421, 120), (396, 95, 422, 120), (395, 92, 422, 118), (395, 93, 422, 119), (395, 94, 422, 120), (395, 95, 422, 121), (395, 92, 423, 119), (395, 93, 423, 120), (265, 153, 283, 170), ...) 160 116 96
3 0.897434 1616 313 1696 393 2 1616 313 80 80 68 60 73 c:\socialmediaicons_different_sizes\tiktokicon___0___000022___031.png tiktokicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 79 71 82
4 0.765243 966 509 1030 573 2 966 509 63 63 67 59 68 c:\socialmediaicons_different_sizes\tiktokicon___0___000016___025.png tiktokicon 0 16 25 ((518, 285, 530, 296), (319, 102, 331, 114), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), ...) 83 83 83
5 0.922466 1516 409 1596 490 3 1516 409 80 80 112 220 85 c:\socialmediaicons_different_sizes\whatsappicon___0___000022___031.png whatsappicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 123 221 99
6 0.715838 873 416 943 486 2 873 416 70 70 111 219 84 c:\socialmediaicons_different_sizes\whatsappicon___0___000018___027.png whatsappicon 0 18 27 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 96 169 103
7 0.951082 1420 409 1503 490 3 1420 409 83 80 81 81 249 c:\socialmediaicons_different_sizes\youtubeicon___0___000022___031.png youtubeicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 88 89 249
8 0.918379 963 333 1030 400 3 963 333 66 66 79 80 249 c:\socialmediaicons_different_sizes\youtubeicon___0___000016___025.png youtubeicon 0 16 25 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 100 100 223
9 0.852620 1573 856 1643 923 2 960 333 70 66 79 79 249 c:\socialmediaicons_different_sizes\youtubeicon___0___000017___026.png youtubeicon 0 17 26 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 133 131 223
10 0.777062 1576 860 1639 923 2 1576 860 63 63 76 76 250 c:\socialmediaicons_different_sizes\youtubeicon___0___000015___024.png youtubeicon 0 15 24 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 120 119 220
11 0.697920 1380 840 1423 883 2 1380 840 43 43 72 72 251 c:\socialmediaicons_different_sizes\youtubeicon___0___000008___017.png youtubeicon 0 8 17 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 135 126 245
12 0.675960 1573 856 1646 926 2 960 330 73 70 81 81 249 c:\socialmediaicons_different_sizes\youtubeicon___0___000018___027.png youtubeicon 0 18 27 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 135 134 223
13 0.674136 1576 860 1636 919 2 969 336 60 60 79 80 250 c:\socialmediaicons_different_sizes\youtubeicon___0___000014___023.png youtubeicon 0 14 23 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 126 125 221
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/tmplmatching",
"name": "tmplmatching",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "template,matching",
"author": "Johannes Fischer",
"author_email": "aulasparticularesdealemaosp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/02/4f/55795f97269c64bb1bb8c04eebfec74f513c534fee066a48e26b558ba9a0/tmplmatching-0.12.tar.gz",
"platform": null,
"description": "\r\n# Fast multitemplate matching with support for different sizes using numexpr / cupy / fftw / scipy / multiprocessing\r\n\r\n## pip install tmplmatching\r\n\r\n### Advantages:\r\n\r\n- Uses a tuned match_template algorithm from scipy (numexpr instead of numpy / different fftconvolve algorithms)\r\n- very fast fftconvolve function using pyfftw (alternatively cupy and scipy.signal.fftconvolve)\r\n- Multiprocessing using RawArray to speed it up / save memory \r\n- Template matching with multiple sizes \r\n- Results as a pandas DataFrame for further filtering\r\n- Adjustable accepted R, G, B difference \r\n- Finding the best matches among multiple matches \r\n\r\n\r\n### Tested against Windows 10 / Python 3.10 / Anaconda - should work on MacOS / Linux\r\n\r\n## Selecting \r\n\r\n![pic1](https://github.com/hansalemaos/screenshots/blob/main/multitemplate/tag.png?raw=true)\r\n\r\n## Locating \r\n\r\n![pic2](https://github.com/hansalemaos/screenshots/blob/main/multitemplate/results.png?raw=true)\r\n\r\n```python\r\nimport cv2\r\nfrom tmplmatching import TemplateMatching\r\n\r\nif __name__ == \"__main__\": # important - since it uses multiprocessing, this line is mandatory!\r\n ############################################################\r\n # Step 1:\r\n # Initialize TemplateMatching\r\n self = TemplateMatching(screenshot_buffer=10, use_cupy=False)\r\n\r\n ############################################################\r\n # Step 2:\r\n # Create a class list in ALPHABETICAL order, put one class per line and save the file:\r\n # Here is an example:\r\n \"\"\"\r\n # social_media_icons.txt\r\n facebookicon\r\n tiktokicon\r\n whatsappicon\r\n youtubeicon\r\n \"\"\"\r\n # and save it as a TXT file\r\n ############################################################\r\n # Step 3:\r\n # Start annotation tool (https://github.com/drainingsun/ybat - included in this package) which captures a screenshot, and shows the path to the screenshot (has to be done only once)\r\n self.start_annotation_tool()\r\n ############################################################\r\n # Step 4:\r\n # open the text file and the screenshot (or any other image) in the annotation tool, and select the items you want to find\r\n ############################################################\r\n # Step 5:\r\n # Click on \"Save COCO\" when you are done\r\n # Copy the path of the downloaded zip file and the path of the image\r\n # \"C:\\Users\\hansc\\Downloads\\bboxes_coco.zip\"\r\n ############################################################\r\n # Step 6:\r\n # Once the annotation is done, extract and resize items based on annotations (has to be done only once)\r\n self.extract_images_from_annotations(\r\n folder=r\"c:\\socialmediaicons_different_sizes\", # The folder to save extracted templates\r\n zipfile=r\"C:\\Users\\hansc\\Downloads\\bboxes_coco.zip\", # Path to saved annotations\r\n screenshot=r\"C:\\Users\\hansc\\AppData\\Local\\Temp\\tmp1ak8brdw.png\", # The picture that you used in self.start_annotation_tool()\r\n min_percentage=10, # Defines variations for each template\r\n max_percentage=200,\r\n interpolation=cv2.INTER_LANCZOS4 # recommended for the best results\r\n )\r\n ############################################################\r\n # Step 7: \r\n # Load template images with specified size ranges\r\n self.load_needle_images(\r\n folder=r\"c:\\socialmediaicons_different_sizes\",\r\n min_percentage=25,\r\n max_percentage=35,\r\n )\r\n ############################################################\r\n # Step 8: \r\n df = self.take_screenshot_and_find_needles(\r\n minimum_match=0.60, # Minimum threshold for template matching - the lower you go, the longer the calculations takes\r\n monitor=1, # 0 for all monitors\r\n percent=30, # Resize screenshots before matching (results are recalculated to the original size)\r\n processes=5, # Number of CPUs used for multiprocessing\r\n interpolation=cv2.INTER_LANCZOS4, # Interpolation method for resizing the screenshot - Use cv2.INTER_LANCZOS4 for the best results (but a little slower than cv2.INTER_AREA)\r\n max_diff_r=80, # Maximal accepted RGB difference filter to reduce false positives\r\n max_diff_g=80,\r\n max_diff_b=80,\r\n max_color_difference_factor=2, \r\n\r\n )\r\n \r\n ima = self.draw_results(df) # Pass the DataFrame to draw the results\r\n cv2.imwrite(r\"c:\\socialmediaiconsmatching.png\", ima)\r\n # --------------------------------------\r\n # If you don't want to take a screenshot and want to pass an existing picture, use: \r\n df2 = self.find_needles(\r\n haystack=r\"C:\\Users\\hansc\\AppData\\Local\\Temp\\tmp1ak8brdw.png\", # accepts almost all image formats (base64, file path, urls, PIL, numpy, bytes ...)\r\n percent=30,\r\n minimum_match=0.7,\r\n processes=4,\r\n max_diff_r=30,\r\n max_diff_g=30,\r\n max_diff_b=30,\r\n max_color_difference_factor=2,\r\n interpolation=cv2.INTER_LANCZOS4,\r\n )\r\n ima2 = self.draw_results(\r\n df2, haystack=r\"C:\\Users\\hansc\\AppData\\Local\\Temp\\tmp1ak8brdw.png\"\r\n ) # Pass the DataFrame to draw the last results\r\n cv2.imwrite(\"c:\\\\socialmediaiconsmatching2.png\", ima2)\r\n \r\n aa_intersecting aa_r0 aa_g0 aa_b0\r\n0 0.963882 1323 316 1403 393 3 1323 316 80 76 237 155 69 c:\\socialmediaicons_different_sizes\\facebookicon___0___000021___030.png facebookicon 0 21 30 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (315, 99, 334, 117), (315, 100, 334, 118), (314, 98, 334, 117), (314, 99, 334, 118), (314, 100, 334, 119), (314, 98, 334, 118), (314, 99, 334, 119), (265, 153, 283, 170), (265, 152, 283, 170), (265, 153, 283, 171), (291, 153, 309, 171), (494, 258, 512, 276), (494, 259, 512, 277), (264, 152, 283, 171), (290, 152, 309, 171), (264, 153, 283, 172), (289, 153, 308, 172), (290, 153, 309, 172), (493, 257, 512, 276), (493, 258, 512, 277), (263, 152, 283, 172), (289, 152, 309, 172), (290, 152, 310, 172), (289, 153, 309, 173), (459, 95, 480, 116), (486, 95, 507, 116), (486, 96, 507, 117), (263, 151, 284, 172), (289, 151, 310, 172), (289, 152, 310, 173), (458, 94, 480, 115), (458, 95, 480, 116), (485, 95, 507, 116), (486, 95, 508, 116), (485, 96, 507, 117), (486, 96, 508, 117), (457, 94, 479, 116), (458, 94, 480, 116), (486, 94, 508, 116), (458, 95, 480, 117), (485, 95, 507, 117), (486, 95, 508, 117), (487, 95, 509, 117), (485, 96, 507, 118), (486, 96, 508, 118), (456, 94, 479, 117), (457, 94, 480, 117), (485, 94, 508, 117), (486, 94, 509, 117), (457, 95, 480, 118), (484, 95, 507, 118), (485, 95, 508, 118), (486, 95, 509, 118), (456, 93, 480, 117), (484, 93, 508, 117), (485, 93, 509, 117), (455, 94, 479, 118), (456, 94, 480, 118), (484, 94, 508, 118), (485, 94, 509, 118), (484, 95, 508, 119), (485, 95, 509, 119), (427, 123, 451, 147), (455, 93, 480, 117), (484, 93, 509, 117), (455, 94, 480, 118), (483, 94, 508, 118), (484, 94, 509, 118), (485, 94, 510, 118), ...) 237 161 78\r\n1 0.763606 1053 330 1110 386 2 1053 330 56 56 237 155 69 c:\\socialmediaicons_different_sizes\\facebookicon___0___000013___022.png facebookicon 0 13 22 ((518, 285, 530, 296), (295, 152, 307, 164), (517, 280, 530, 293), (517, 279, 531, 293), (517, 280, 531, 294), (516, 279, 531, 293), (516, 280, 531, 294), (516, 279, 532, 294), (516, 278, 532, 294), (516, 279, 532, 295), (515, 278, 532, 295), (399, 98, 418, 116), (400, 98, 419, 116), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (398, 98, 418, 117), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (398, 98, 418, 118), (399, 98, 419, 118), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), (395, 95, 421, 120), (396, 95, 422, 120), (395, 92, 422, 118), (395, 93, 422, 119), (395, 94, 422, 120), (395, 95, 422, 121), (395, 92, 423, 119), (395, 93, 423, 120), (265, 153, 283, 170), (265, 152, 283, 170), (265, 153, 283, 171), (291, 153, 309, 171), (494, 258, 512, 276), (494, 259, 512, 277), (264, 152, 283, 171), (290, 152, 309, 171), (264, 153, 283, 172), (289, 153, 308, 172), (290, 153, 309, 172), (493, 257, 512, 276), (493, 258, 512, 277), (263, 152, 283, 172), (289, 152, 309, 172), (290, 152, 310, 172), (289, 153, 309, 173), (459, 95, 480, 116), ...) 218 149 98\r\n2 0.666532 1720 930 1773 980 2 1056 333 53 50 237 154 66 c:\\socialmediaicons_different_sizes\\facebookicon___0___000011___020.png facebookicon 0 11 20 ((319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (316, 99, 333, 116), (316, 100, 333, 117), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), (395, 95, 421, 120), (396, 95, 422, 120), (395, 92, 422, 118), (395, 93, 422, 119), (395, 94, 422, 120), (395, 95, 422, 121), (395, 92, 423, 119), (395, 93, 423, 120), (265, 153, 283, 170), ...) 160 116 96\r\n3 0.897434 1616 313 1696 393 2 1616 313 80 80 68 60 73 c:\\socialmediaicons_different_sizes\\tiktokicon___0___000022___031.png tiktokicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 79 71 82\r\n4 0.765243 966 509 1030 573 2 966 509 63 63 67 59 68 c:\\socialmediaicons_different_sizes\\tiktokicon___0___000016___025.png tiktokicon 0 16 25 ((518, 285, 530, 296), (319, 102, 331, 114), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), (396, 94, 422, 119), ...) 83 83 83\r\n5 0.922466 1516 409 1596 490 3 1516 409 80 80 112 220 85 c:\\socialmediaicons_different_sizes\\whatsappicon___0___000022___031.png whatsappicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 123 221 99\r\n6 0.715838 873 416 943 486 2 873 416 70 70 111 219 84 c:\\socialmediaicons_different_sizes\\whatsappicon___0___000018___027.png whatsappicon 0 18 27 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 96 169 103\r\n7 0.951082 1420 409 1503 490 3 1420 409 83 80 81 81 249 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000022___031.png youtubeicon 0 22 31 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 88 89 249\r\n8 0.918379 963 333 1030 400 3 963 333 66 66 79 80 249 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000016___025.png youtubeicon 0 16 25 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 100 100 223\r\n9 0.852620 1573 856 1643 923 2 960 333 70 66 79 79 249 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000017___026.png youtubeicon 0 17 26 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 133 131 223\r\n10 0.777062 1576 860 1639 923 2 1576 860 63 63 76 76 250 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000015___024.png youtubeicon 0 15 24 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 120 119 220\r\n11 0.697920 1380 840 1423 883 2 1380 840 43 43 72 72 251 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000008___017.png youtubeicon 0 8 17 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 135 126 245\r\n12 0.675960 1573 856 1646 926 2 960 330 73 70 81 81 249 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000018___027.png youtubeicon 0 18 27 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 135 134 223\r\n13 0.674136 1576 860 1636 919 2 969 336 60 60 79 80 250 c:\\socialmediaicons_different_sizes\\youtubeicon___0___000014___023.png youtubeicon 0 14 23 ((518, 285, 530, 296), (319, 102, 331, 114), (295, 152, 307, 164), (318, 101, 331, 114), (517, 280, 530, 293), (318, 100, 332, 114), (317, 101, 331, 115), (318, 101, 332, 115), (517, 279, 531, 293), (517, 280, 531, 294), (317, 100, 332, 114), (316, 101, 331, 115), (317, 101, 332, 115), (516, 279, 531, 293), (516, 280, 531, 294), (316, 100, 332, 115), (317, 100, 333, 115), (316, 101, 332, 116), (516, 279, 532, 294), (317, 99, 333, 115), (316, 100, 332, 116), (317, 100, 333, 116), (316, 101, 332, 117), (516, 278, 532, 294), (516, 279, 532, 295), (316, 99, 333, 116), (316, 100, 333, 117), (515, 278, 532, 295), (315, 99, 333, 116), (316, 99, 334, 116), (315, 100, 333, 117), (399, 98, 418, 116), (400, 98, 419, 116), (315, 99, 334, 117), (315, 100, 334, 118), (399, 96, 419, 115), (398, 97, 418, 116), (399, 97, 419, 116), (314, 98, 334, 117), (398, 98, 418, 117), (314, 99, 334, 118), (314, 100, 334, 119), (398, 96, 418, 116), (399, 96, 419, 116), (398, 97, 418, 117), (399, 97, 419, 117), (314, 98, 334, 118), (398, 98, 418, 118), (399, 98, 419, 118), (314, 99, 334, 119), (398, 95, 419, 116), (399, 95, 420, 116), (397, 96, 418, 117), (398, 96, 419, 117), (399, 96, 420, 117), (398, 97, 419, 118), (399, 97, 420, 118), (397, 95, 419, 116), (398, 95, 420, 116), (397, 96, 419, 117), (398, 96, 420, 117), (397, 97, 419, 118), (398, 97, 420, 118), (397, 94, 420, 116), (398, 94, 421, 116), (396, 95, 419, 117), (397, 95, 420, 117), (398, 95, 421, 117), (396, 96, 419, 118), (397, 96, 420, 118), (398, 96, 421, 118), (397, 97, 420, 119), (397, 93, 421, 116), (396, 94, 420, 117), (397, 94, 421, 117), (396, 95, 420, 118), (397, 95, 421, 118), (398, 95, 422, 118), (396, 96, 420, 119), (397, 96, 421, 119), (396, 93, 420, 117), (397, 93, 421, 117), (396, 94, 420, 118), (397, 94, 421, 118), (396, 95, 420, 119), (397, 95, 421, 119), (396, 96, 420, 120), (397, 96, 421, 120), (396, 93, 421, 117), (395, 94, 420, 118), (396, 94, 421, 118), (397, 94, 422, 118), (395, 95, 420, 119), (396, 95, 421, 119), (397, 95, 422, 119), (396, 96, 421, 120), (396, 92, 422, 117), (395, 93, 421, 118), (396, 93, 422, 118), (395, 94, 421, 119), ...) 126 125 221 \r\n```\r\n \r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fast multitemplate matching with support for different sizes using numexpr / cupy / fftw / scipy / multiprocessing",
"version": "0.12",
"project_urls": {
"Homepage": "https://github.com/hansalemaos/tmplmatching"
},
"split_keywords": [
"template",
"matching"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d7d7178edd1d1f0d5cc15525083996b571b61753590939ee2183c3f4bf4d59d",
"md5": "bdbe56eb140f2ca4b5b7dd37dc14f85c",
"sha256": "44f776956443489a5f115c8e10967b9088e6c13c970d987ecb55d1d8bd4c16d1"
},
"downloads": -1,
"filename": "tmplmatching-0.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bdbe56eb140f2ca4b5b7dd37dc14f85c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 136965,
"upload_time": "2023-08-30T04:03:53",
"upload_time_iso_8601": "2023-08-30T04:03:53.624128Z",
"url": "https://files.pythonhosted.org/packages/8d/7d/7178edd1d1f0d5cc15525083996b571b61753590939ee2183c3f4bf4d59d/tmplmatching-0.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "024f55795f97269c64bb1bb8c04eebfec74f513c534fee066a48e26b558ba9a0",
"md5": "dc062094606c83ece8316d586791de66",
"sha256": "ca3081ede44361688302ff1d0589d04058d84bb94066f2089bb940d1e4154d70"
},
"downloads": -1,
"filename": "tmplmatching-0.12.tar.gz",
"has_sig": false,
"md5_digest": "dc062094606c83ece8316d586791de66",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 143330,
"upload_time": "2023-08-30T04:03:57",
"upload_time_iso_8601": "2023-08-30T04:03:57.128316Z",
"url": "https://files.pythonhosted.org/packages/02/4f/55795f97269c64bb1bb8c04eebfec74f513c534fee066a48e26b558ba9a0/tmplmatching-0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-30 04:03:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hansalemaos",
"github_project": "tmplmatching",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "tmplmatching"
}