편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.09.29

    파이썬 opencv 질문 (엄청 초보자)


    import numpy as np
    import cv2
    src = cv2.imread('lena.png')
    def point_processing(src,type='original'):
        dst = np.zeros(src.shape,dtype=np.unit8)
    
        if type =='original':
            dst = src.copy()
    
        elif type =='darken':
            dst[:,:,3]=cv2.subtract(src[:,:,3],128)
    
        elif type == 'lower_contract':
            calc = np.full((dst.shape),2,dtype=np.unit8)
            dst = cv2.divide(src,calc)
    
        elif type=='non_linear_lower_contrast':
            for channel in range(3):
                x = src[:,:,channel]
    
                dst[:,:,3]=((x/255)**(1/3)*255).astype(np.unit8)
    
        elif type=='invert':
            dst[:, :, 3] = cv2.add(128,src[:, :, 3])
    
        elif type=='lighten':
            dst[:, :, 3] = cv2.subtract(src[:, :, 3], 128)
    
        elif type == 'raise_contrast':
            dst[:, :, 3] = cv2.pow(src[:, :, 3], 2)
    
        elif type == 'non_linear_raise_contrast':
            for channel in range(3):
                x = src[:,:,channel]
    
                dst[:,:,3]=((x/255)**2*255).astype(np.unit8)
    
        return dst
    
        if __name__ =='__main__':
        src = cv2.imread('../image/baby.jpg')
        dst = point_processing(src,'darken')
        cv2.imshow('original',src)
        cv2.imshow('point processing',dst)
        cv2.imwrite('./results/darken.png',dst)
        cv2.waitKey()
        cv2.destroyAllWindows()
    

    이거 왜 안되는지 알 수 있을까요?

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.09.29

    파이썬 질문(엄청 초보자)


    import numpy as np import cv2 src = cv2.imread('lena.png') def point_processing(src,type='original'): dst = np.zeros(src.shape,dtype=np.unit8)

    if type =='original':
        dst = src.copy()
    
    elif type =='darken':
        dst[:,:,3]=cv2.subtract(src[:,:,3],128)
    
    elif type == 'lower_contract':
        calc = np.full((dst.shape),2,dtype=np.unit8)
        dst = cv2.divide(src,calc)
    
    elif type=='non_linear_lower_contrast':
        for channel in range(3):
            x = src[:,:,channel]
    
            dst[:,:,3]=((x/255)**(1/3)*255).astype(np.unit8)
    
    elif type=='invert':
        dst[:, :, 3] = cv2.add(128,src[:, :, 3])
    
    elif type=='lighten':
        dst[:, :, 3] = cv2.subtract(src[:, :, 3], 128)
    
    elif type == 'raise_contrast':
        dst[:, :, 3] = cv2.pow(src[:, :, 3], 2)
    
    elif type == 'non_linear_raise_contrast':
        for channel in range(3):
            x = src[:,:,channel]
    
            dst[:,:,3]=((x/255)**2*255).astype(np.unit8)
    
    return dst
    
    if __name__ =='__main__':
    src = cv2.imread('../image/baby.jpg')
    dst = point_processing(src,'darken')
    cv2.imshow('original',src)
    cv2.imshow('point processing',dst)
    cv2.imwrite('./results/darken.png',dst)
    cv2.waitKey()
    cv2.destroyAllWindows()
    

    이거 왜 안되는지 알수잇을까요?