Problème avec scan OCR sur VM en pyton
Diablo76 Messages postés 244 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous expose mon problème :
J'ai fais un programme en Python qui fais un scan OCR et qui clique à l'endroit ou il trouve l'image que je cherche. Ce code fonctionne parfaitement bien sur mon pc sous windows 10 mais ne fonctionne pas sur ma VM et je ne comprend pas pourquoi.
Voici la base du code :
import time import os import random from pymemuc import PyMemuc import pyautogui import pyperclip import cv2 def save_screenshot(file_path): screen_shot = pyautogui.screenshot() screen_shot.save(file_path) def find_word_coordinates(image_path, word): image = cv2.imread(image_path) gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) template = cv2.imread(f'C:\\Users\\Damien\\Pictures\\bouton_{num_bouton}.png', 0) width, height = template.shape[::-1] result = cv2.matchTemplate(gray_image, template, cv2.TM_CCOEFF_NORMED) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result) if max_val > 0.8: x, y = max_loc return x + width / 2, y + height / 2 else: return None screenshot_file = 'C:\\Users\\'+ username +'\\Pictures\\screenshot.png' save_screenshot(screenshot_file) screenshot_file = 'C:\\Users\\'+ username +'\\Pictures\\screenshot.png' save_screenshot(screenshot_file) num_bouton = num_bouton + 1 #1 word = 'bouton_1' coordinates = find_word_coordinates(screenshot_file, word) if coordinates is not None: pyautogui.click(coordinates[0], coordinates[1]) time.sleep(5) else: print(f"'{word}' n'a pas été trouvé dans l'image.") time.sleep(5) screenshot_file = 'C:\\Users\\'+ username +'\\Pictures\\screenshot.png' save_screenshot(screenshot_file) num_bouton = num_bouton + 1 #2 word = 'bouton_2' coordinates = find_word_coordinates(screenshot_file, word) if coordinates is not None: pyautogui.click(coordinates[0], coordinates[1]) time.sleep(5) else: print(f"'{word}' n'a pas été trouvé dans l'image.") time.sleep(5)
Cette partie la du code se répète donc plusieurs fois en rajoutant +1 à la variable "num_bouton" pour tomber à chaque fois sur l'image suivante (dans mon dossier C/users/damien/pictures les images sont appelés "bouton_1.png", "bouton_2.png", "bouton_3.png", etc.....
La ou je me questionne c'est que ce code fonctionne parfaitement sur mon pc, mais si j'essaye de l'exécuter sur une machine virtuelle (sous w10 22h2), le premier bouton fonctionne, mais ensuite le programme va sur la partie "else" des boucles "if coordinates" ce qui me renvoie "{word}' n'a pas été trouvé dans l'image." ('{word}' étant le numéro du bouton).
J'ai donc l'impression qu'il ne les trouve pas sur les screen qu'il fais, alors qu'après avoir vérifier manuellement les screens, les boutons sont bien présent mais le scan OCR ne les détectent visiblement pas, alors qu'il détecte bien le premier bouton et que sur mon windows physique je n'est aucune problème le programme s'éxecute en entier sans entrer dans aucune boucle "else".
Merci pour votre lecture et merci d'avance si vous me trouvez une solution !
- Problème avec scan OCR sur VM en pyton
- Free ocr - Télécharger - Divers Bureautique
- Scan qr code pc - Guide
- Vm windows - Guide
- Scan now - Guide
- Simple ocr - Télécharger - Bureautique