Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Gridler halinde olan resim captchalarını geçmek için bir otomasyon uygulaması

  • Konuyu başlatan Konuyu başlatan zaza1200
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 358

zaza1200

OPUCUK
TM Üye
Katılım
23 Ağu 2011
Konular
38
Mesajlar
290
Çözüm
1
Online süresi
1mo 6d
Reaksiyon Skoru
215
Altın Konu
1
Başarım Puanı
146
MmoLira
1,951
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhaba arkadaşlar, her hangi bir öğrenme veyahut örnek resim olmadan Gridler halinde olan resim captchalarının çözümünü yapan ve farklı olan gridi bulan bir uygulama paylaşacağım sizinle geliştirip farklı alanlarda kullanabilirsiniz. :)

Dikkat etmeniz gereken noktalar, ekran lokasyonuna göre captchanın x,y konumlarını düzenlemeniz ve spesifik olarak lokasyonu belirtmeniz gerekiyor,


[CODE title="CaptchaSolver"]class CaptchaSolver:
def solve_captcha_from_image(self, image):
height, width = image.shape[:2]
cell_height = height // 3
cell_width = width // 3

grid_cells = []
for i in range(3):
for j in range(3):
y_start = i * cell_height
y_end = (i + 1) * cell_height
x_start = j * cell_width
x_end = (j + 1) * cell_width
cell = image[y_start:y_end, x_start:x_end]
grid_cells.append(cell)

max_diff = 0
different_cell = (0, 0)

for i in range(9):
current_cell = grid_cells
total_diff = 0

for j in range(9):
if i != j:
other_cell = grid_cells[j]
diff = cv2.absdiff(current_cell, other_cell)
total_diff += np.mean(diff)

avg_diff = total_diff / 8

if avg_diff > max_diff:
max_diff = avg_diff
different_cell = (i // 3, i % 3)

return different_cell

def solve_captcha_from_screen(self, captcha_region=(1129, 236, 298, 296)):
with mss.mss() as sct:
monitor = {"top": captcha_region[1], "left": captcha_region[0],
"width": captcha_region[2], "height": captcha_region[3]}
screenshot = sct.grab(monitor)
img = Image.frombytes("RGB", screenshot.size, screenshot.bgra, "raw", "BGRX")
captcha_image = np.array(img)

result = self.solve_captcha_from_image(captcha_image)

if result:
row, col = result
height, width = captcha_image.shape[:2]
cell_height = height // 3
cell_width = width // 3

cell_center_x = col * cell_width + cell_width // 2
cell_center_y = row * cell_height + cell_height // 2

click_x = captcha_region[0] + cell_center_x
click_y = captcha_region[1] + cell_center_y

return {'result': result, 'click_position': (click_x, click_y)}
return None

solver = CaptchaSolver()
result = solver.solve_captcha_from_screen()
if result:
print(f"Sonuç: {result['result']}, Pozisyon: {result['click_position']}")[/CODE]
 
Paylaşım için teşekkürler. Bilmeyenler için importları ve örnek görselleri paylaşırsan daha faydalı olacaktır.
 
Paylaşım için teşekkürler. Bilmeyenler için importları ve örnek görselleri paylaşırsan daha faydalı olacaktır.
Haklısın teşekkür ederim uyarı için importlar:
[CODE title="İmports"]import cv2
import numpy as np
import pyautogui
import time
import os
from typing import List, Tuple, Optional
from PIL import Image
import mss[/CODE]
 
Eline sağlık teşekürler
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst