python opencv 목표 영역 재단 기능 구현

이 임 무 는 자신 이 프로젝트 에서 데 이 터 를 처리 하 는 일부분 입 니 다.처리 해 야 할 그림 은 다음 과 같 습 니 다.
18CMASK.jpg
나 는 목표 구역 을 재단 해 야 한다.그렇지 않 으 면 후기 에 네트워크 를 훈련 할 때 전체 그림 이 너무 크 고 목표 구역 이 너무 작 아서 결과 가 좋 지 않 으 면 계 산 량 을 증가 시 킬 것 이다.인터넷 에서 각 사내 들 의 블 로 그 를 찾 아 보 았 지만 적당 한 것 을 찾 지 못 하고 스스로 쓰기 시작 했다.그리고 자신의 작은 역 을 막 세 워 자신의 생각 을 기록 했다.
사고의 방향
대상 구역 의 맨 왼쪽,맨 오른쪽,맨 위 와 맨 아래 픽 셀 점 을 찾 아 좌표 정 보 를 가 져 온 후 CV2 로 재단 하면 됩 니 다.
어 려 운 점
데 이 터 는 총 11952 장의 그림 입 니 다.한 장의 그림 은 1024*768 크기 입 니 다.순서대로 옮 겨 다 니 면 시간 이 너무 걸 릴 까 봐 걱정 입 니 다.결 과 는 괜 찮 습 니 다.그림 속 검은색 픽 셀 점 수 는 0 이 고 계 산 량 은 생각 보다 적 습 니 다.
\#코드

import cv2

"""
      OpenCV    
"""
def search(path):
    left = 1024
    right = 0
    upper = 768
    lower = 0
    img = cv2.imread(path)[:,:,0]
    # print(img.shape)
    for i in range(768):
        for j in range(1024):
            if img[i,j] != 0 :
                # print(img[i,j])
                left = min(j,left)
                right = max(j,right)
                lower = max(i,lower)
                upper =  min(i,upper)
    return (left,upper,right,lower)

def image_cut_save(path, left, upper, right, lower, save_path):
    """
                
    :param path:     
    :param left:                     
    :param upper:                    
    :param right:                    
    :param lower:                    
         :lower > upper、right > left
    :param save_path:         
    """
    img = cv2.imread(path)  #     
    cropped = img[upper:lower, left:right]
    #        
    cv2.imwrite(save_path, cropped)


if __name__ == '__main__':
    root_path = r'      '
    save_path = r'           '
    images = os.listdir(root_path)
    for image in images:
        # print(image)
        pic_path = os.path.join(root_path,image)
        # print(pic_path)
        pic_save_dir_path = os.path.join(save_path,image)
        print(pic_save_dir_path)
        left, upper, right, lower = search(pic_path)
        # show_cut(pic_path, left, upper, right, lower)
        image_cut_save(pic_path, left, upper, right, lower, pic_save_dir_path)
결실
재단 한 그림 은 다음 과 같 습 니 다.
18CMASK.jpg
python opencv 가 목표 지역 의 재단 기능 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python opencv 지역 의 재단 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기