1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Cần giúp đỡ về nhận diện Captcha (Đã được em tách nền)

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Thiendy, 7/12/18.

  1. Thiendy

    Thiendy Thành viên mới
    • 3/6

    Tham gia ngày:
    22/11/18
    Bài viết:
    14
    Đã được thích:
    2
    em đã bỏ nền captcha và chuyển sang trắng đen.
    có hướng dẫn nào để nhận diện captcha thành txt không các Pro

    [​IMG]
    [​IMG]

    [​IMG]
    [​IMG]

    [​IMG]
    [​IMG]
     
    huchieu thích bài này.
  2. longtu

    longtu Thành viên
    • 18/23

    Tham gia ngày:
    9/8/17
    Bài viết:
    55
    Đã được thích:
    30
    tí tui inbox cho bác code tui làm, hàng này k share công cộng đc hihi
     
    Thiendy thích bài này.
  3. quochoa

    quochoa Thành viên mới
    • 3/6

    Tham gia ngày:
    18/2/17
    Bài viết:
    8
    Đã được thích:
    2
    Bác longtu ơi cho em xin code với.
     
  4. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    13
    Đã được thích:
    0
    chi em cai tach nen voi thym
     
  5. Thiendy

    Thiendy Thành viên mới
    • 3/6

    Tham gia ngày:
    22/11/18
    Bài viết:
    14
    Đã được thích:
    2

    Đây là ví dụ bác longtu gửi cho mình, bác tham khảo
    https://www.autoitscript.com/autoit3/docs/libfunctions/_WinAPI_CreateColorAdjustment.htm

    còn dưới là code mình bóc tách ra
    Mã (AutoIt):

    #include <GDIPlus.au3>
    #include <SendMessage.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    Global $g_aDefault[11] = [10000, 10000, 10000, 0, 10000, 100, 0, -100, 0, 0, 0]  ; chỉnh thông số tách nền)
    Global $g_aAdjust = $g_aDefault
    Local $hObj, $hSrc, $W, $H, $sData
    _GDIPlus_Startup()

    $sData = @DesktopDir & "\1.jpg"                            ; load image
        $hObj = _GDIPlus_ImageLoadFromFile($sData)
        $hSrc = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hObj)
        $W = _GDIPlus_ImageGetWidth($hObj)
        $H = _GDIPlus_ImageGetHeight($hObj)
        _GDIPlus_ImageDispose($hObj)

    Local $hForm = GUICreate('', $W, $H)
    GUICtrlCreatePic('', 0, 0, $W, $H)


    Local $hPic = GUICtrlGetHandle(-1)
    Global $g_hTool = GUICreate('Adjustments', 303, 484, -1, -1, BitOR($WS_CAPTION, $WS_POPUP), 0, $hForm)
    Global $g_aidSlider[9][6] = [[0, 0, 'Red', 25, 650, 100], [0, 0, 'Green', 25, 650, 100], [0, 0, 'Blue', 25, 650, 100], [0, 0, 'Black', 0, 400, 10], [0, 0, 'White', 600, 1000, 10], [0, 0, 'Contrast', -100, 100, 1], [0, 0, 'Brightness', -100, 100, 1], [0, 0, 'Colorfulness', -100, 100, 1], [0, 0, 'Tint', -100, 100, 1]]

    _SetBitmapAdjust($hPic, $hSrc, $g_aAdjust)

    $sData = @DesktopDir & "\2.jpg"                                    ;save image
                $a = _SendMessage($hPic, $STM_GETIMAGE)
                $hObj = _GDIPlus_BitmapCreateFromHBITMAP($a)
                _GDIPlus_ImageSaveToFile($hObj, $sData)
                _GDIPlus_ImageDispose($hObj)

    Func _SetBitmapAdjust($hWnd, $hBitmap, $aAdjust = 0)
        If Not IsHWnd($hWnd) Then
            $hWnd = GUICtrlGetHandle($hWnd)
        EndIf
        If IsArray($aAdjust) Then
            $tAdjust = _WinAPI_CreateColorAdjustment($aAdjust[9], $aAdjust[10], $aAdjust[0], $aAdjust[1], $aAdjust[2], $aAdjust[3], $aAdjust[4], $aAdjust[5], $aAdjust[6], $aAdjust[7], $aAdjust[8])
        EndIf
        $hBitmap = _WinAPI_AdjustBitmap($hBitmap, -1, -1, $HALFTONE, $tAdjust)
        Local $hPrev = _SendMessage($hWnd, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap)
        If $hPrev Then
            _WinAPI_DeleteObject($hPrev)
        EndIf
        $hPrev = _SendMessage($hWnd, $STM_GETIMAGE)
        If $hPrev <> $hBitmap Then
            _WinAPI_DeleteObject($hBitmap)
        EndIf

    EndFunc   ;==>_SetBitmapAdjust
     
    CanTrungSo1 thích bài này.
  6. ThienNhi

    ThienNhi Thành viên mới
    • 1/6

    Tham gia ngày:
    16/4/19
    Bài viết:
    3
    Đã được thích:
    0
    sao mình thử làm mãi ko được nhỉ, hay cái captcha của mình khó hơn nhỉ?
     
  7. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoang Vũ IT
    • 28/34

    Tham gia ngày:
    21/11/16
    Bài viết:
    145
    Đã được thích:
    33
    Nơi ở:
    Quận 12 TP. Hồ Chí Minh
    Có thể cho mình xin soure để phát triển không ?
     
  8. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoang Vũ IT
    • 28/34

    Tham gia ngày:
    21/11/16
    Bài viết:
    145
    Đã được thích:
    33
    Nơi ở:
    Quận 12 TP. Hồ Chí Minh
    Sau khi xử lí màu xong bác phải tách từng kí tự ra rồi mới nhận diện.
    nhưng mà mình hỏi tí. Bác có tính sử dụng phần mềm bên thứ 3 k.
    Nếu có thì bác cứ cắt ảnh ra. Sau đó ghép ảnh lại với size = nhau + khoảnh cách giữa ảnh.
    Sau đó chỉ việc OCR là ok ngay.
    Còn code k dùng phần mềm thứ 3 thì hiện tại mình vẫn chưa nghĩ ra ý tưởng :(. (Dùng Imagesearch với độ lệch thì quá tốn time)
     
  9. ThienNhi

    ThienNhi Thành viên mới
    • 1/6

    Tham gia ngày:
    16/4/19
    Bài viết:
    3
    Đã được thích:
    0
    giúp mình với bạn nha
     
  10. ThienNhi

    ThienNhi Thành viên mới
    • 1/6

    Tham gia ngày:
    16/4/19
    Bài viết:
    3
    Đã được thích:
    0
    [​IMG]
    captcha của mình nó kiểu này nè
     
  11. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoang Vũ IT
    • 28/34

    Tham gia ngày:
    21/11/16
    Bài viết:
    145
    Đã được thích:
    33
    Nơi ở:
    Quận 12 TP. Hồ Chí Minh
    Mình có nhờ ông a test hộ thì chỉ đc như này.
    [​IMG]
    [​IMG]
    và dùng thử OCR thì kết quả như này.
    [​IMG]
    Mình thấy k khả thi.
    1. mỗi a có 1 param lấy ảnh khác nhau.
    2. sau khi chuyển nền đen trắng phải xử lí 1 lần nữa nếu muốn OCR được
     

Chia sẻ trang này

Đang tải...