자동화

조회 수 425 추천 0 댓글 1

안녕하세요 파이썬 초보입니다 :)


이미지 서치 하는데 막히는 부분이 있어서 질문 드려요


저장된 이미지를 화면에서 찾는 코드를 만들고 싶은데요


사각형으로 된 이미지는 잘 찾습니다


하지만 이미지의 배경을 지우고 그 이미지를 불러와서 이미지 서치 하면 못찾습니다


이것저것 만져보다가 confidence 를 엄청 낮추면 인식을 하더라구요.


그래서 혹시...저장된 이미지는 배경이 없지만, 파이썬이 그 이미지를 사각형으로 된 이미지로 인식을 하고 있는게 아닐까...라는 생각을 해보는데 실제로 어쩐지 몰라서 질문해봅니다


그리고 어떤식으로 접근을 해야될지...도와주세요


ps.글 쓰면서 생각을 해 봤는데 찾고싶은 이미지를 불러 온 다음에 코드로 배경을 지운 다음, 이미지 서치를 하면 되는걸까요?

배우면 배울수록 어렵네요 :/



  • profile
    블루아 2023.04.01 10:51

    꽤 어려운 작업인거 같네요. 배경을 지워도 이미지는 사각형 형태이기 때문에 지운 부분이 다른 색으로 교체되서 오히려 더 못 찾을 수 있어요. 


    저장된 이미지에서 배경을 지운 후 이미지 서치를 하는 경우, 이미지의 특징이나 윤곽선 등이 사라지게 되어 이미지 서치의 정확도가 떨어질 수 있습니다. 이 경우 confidence 값을 매우 낮추면 이미지 서치가 가능하긴 하지만, 정확도가 떨어지므로 실제 사용할 때는 부적합할 수 있습니다. 따라서, 찾고자 하는 이미지를 불러온 후 배경을 지우고 다시 이미지를 저장하는 것이 좋습니다. 이를 위해서는 이미지 처리 라이브러리인 OpenCV 등을 이용하여 이미지에서 배경을 제거하는 작업이 필요합니다. OpenCV를 사용하여 이미지에서 배경을 제거하는 방법은 다음과 같습니다.

    
    
    python
    Copy code
    import cv2
    
    # 이미지 파일을 읽어옴
    img = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
    
    # 배경 제거를 위한 전처리 작업
    alpha_channel = cv2.split(img)[3]
    retval, alpha_channel = cv2.threshold(alpha_channel, 254, 255, cv2.THRESH_BINARY)
    bgr = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
    
    # 배경 제거
    result = cv2.bitwise_and(bgr, bgr, mask=alpha_channel)
    
    # 결과 이미지 저장
    cv2.imwrite('processed_image.png', result)
    
    

    위 코드에서는 cv2.imread 함수를 사용하여 이미지 파일을 읽어온 후, cv2.split 함수를 사용하여 알파 채널을 분리합니다. 이후 cv2.threshold 함수를 사용하여 배경을 구성하는 픽셀의 알파 값을 0으로 만들고, cv2.cvtColor 함수를 사용하여 BGRA 포맷에서 BGR 포맷으로 변환합니다. 마지막으로 cv2.bitwise_and 함수를 사용하여 배경을 제거한 이미지를 생성하고, cv2.imwrite 함수를 사용하여 결과 이미지를 저장합니다.


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 프로그래밍 게시판 소개 피카부 2023.04.01 0/0
질문 후리기님꺼 던파 저만 안되나요? 2 젓수가기 2022.05.19 0/0
질문 혹시 파이썬으로 매크로 만드는분 계신가요 SSiO2 2018.08.14 0/0
질문 혹시 앱플레이어를 최소화로 해서 돌리는건 뭘로하는건... 컴공부합시다 2018.08.04 0/0
질문 혹시 새양님 c# 예제 소스 가지고 계신분 있나요? 케록케록 2019.03.27 0/0
질문 혹시 classdd 아시는분 계시나요? 3 ddd1111 2022.02.20 0/0
질문 혹시 c# 새양 매크로라는 소스 공유해 주실 수 있는분 ... 2 윤봉길 2019.06.10 0/0
질문 하드웨어 메크로 만들어 봤습니다. 호블리 2019.06.12 0/0
질문 프로그램을 직접 개발 할 수 있는 능력을 가진다면 얼... 1 APM 2019.11.16 0/0
질문 프로그래밍 언어로 매크로를 만들어 보려고 합니다. 4 a34oh03 2018.09.21 0/0
질문 퍼플에서 매크로로 마우스 클릭 방법 아시는분? 4 wnlf 2021.01.18 0/0
질문 파이썬을 이용한 매크로가 게임 내에서 작동이 안됩니다. 1 솜털뭉치 2020.01.31 0/0
질문 파이썬은 따로 계시판이 없나보네요 1 지니블렉션 2023.05.16 0/0
질문 파이썬으로 오딘 매크로 만들어보신분? 4 또보겠지 2023.05.11 2/0
질문 파이썬으로 비활성 이미지서치 구현하신분 있으신가요? 2 솜털뭉치 2019.06.09 0/0
질문 파이썬으로 메이플 돌리면 탐지안되나요? 느낌송 2022.12.25 0/0
질문 파이썬으로 매크로같은거 만드는 중인데 3 현질하다털림 2019.12.04 0/0
질문 파이썬으로 매크로 만들어보려는데 2 그렇하군 2022.05.29 0/0
질문 파이썬으로 매크로 만들어도 결국 소프트웨어 입력이라... 3 beumguy 2020.08.09 0/0
질문 파이썬으로 만든 매크로 레코더 호블리 2019.05.16 0/0
Board Pagination Prev 1 2345678910 11 Next
/ 11

전체 최신 인기글

전체 주간 인기글