ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Machine Learning 실습 (21)
    Machine Learning 2022. 7. 19. 17:34
    • cv2.threshold(img, threshold_value, value, flag)
      • img : Grayscale 이미지
      • threshold_value : 픽셀 문턱값 (0과 1로 나누기 위한 기준값)
      • value : 문턱값보다 클 때 적용되는 값
      • flag : 문턱값 적용 방법
        • cv2.THRESH_BINARY : 픽셀값이 문턱값보다 크면 value, 아니면 0을 할당
        • cv2.THRESH_BINARY_INV : 픽셀값이 문턱값보다 크면 0, 아니면 value를 할당
        • cv2.THRESH_TRUNC : 픽셀값이 문턱값보다 크면 문턱값, 아니면 픽셀값을 그대로 할당
        • cv2.THRESH_TOZERO : 픽셀값이 문턱값보다 크면 픽셀값, 아니면 0을 할당
        • cv2.THRESH_TOZERO_INV : 픽셀값이 문턱값보다 크면 0, 아니면 픽셀값을 할당

    이미지 처리 방법

      1. 픽셀기반 처리 : 픽셀 단위로 처리
      1. 블록기반 처리 : 블록(픽셀을 그룹화한 것) 단위로 처리 - 필터
      1. 주파수 기반 처리 : 주파수 영역으로 변환하여 처리 - FFT, DCT, WT 등

    이미지 속성

    • OPENCV 이미지를 불러왔을때는 BGR의 형태로 변환하여 가져온다는 것이고, Matplotlib으로 불러올때는 rgb의 형태로 이미지를 가져온다. 이미지를 처리할시 이점을 항상 주의해야함!!
    import cv2
    # 색감 설정값 cv2.IMREAD_COLOR
    img = cv2.imread('data/lenna.png')
    print(img.shape) # 이미지 크기
    print(img.size) # 이미지 픽셀 개수
    print(img.dtype) # 데이터 타입 # 정수 인트
    
    # 색상공간 변형
    
    plt.imshow(img)

     

    #  픽셀 단위로 데이터 확인
    b,g,r = img[100, 200]
    # 배열[행,열]
    print('b:', b)
    print('g:', g)
    print('r:', r)

     

    import cv2
    # 색감 설정값 cv2.IMREAD_COLOR
    img = cv2.imread('data/lenna.png')
    
    # 색상공간 변형 bgr -> rgb
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    #  픽셀 단위로 데이터 확인
    color = img[100, 200]
    # 배열[행,열]
    print(color)
    
    plt.imshow(img)

     

    픽셀값 변경해보기

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread('data/ryan.png')
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # 블록 단위로 데이터 변경 -> 검은색 표현
    img[400:450,300:350] = [0,0,0]  # 배열 인덱싱 방법 [행(y),열(x)]
    
    plt.imshow(img)
    plt.show()

     

    ROI(Region of Image) : 관심영역

    • 이미지 처리시 필요한 부분에 접근하는 것(얼굴, 손, 눈, 코, 입, 귀..)
    # img 라이언 얼굴 영역 잘라보기
    img_cut = img[100:520,200:700]
    
    plt.imshow(img_cut)
    plt.show()

    'Machine Learning' 카테고리의 다른 글

    Machine Learning 실습 (22)  (0) 2022.07.19
    Machine Learning 실습 (20)  (0) 2022.07.19
    Machine Learning 실습 (19)  (0) 2022.07.19
    Machine Learning 실습 (18)  (0) 2022.07.19
    Machine Learning 실습 (17)  (0) 2022.07.18

    댓글

Designed by Tistory.