>

이것은 약간 순진한 질문이지만 데이터 과학에 익숙하지 않기 때문에 질문입니다. 2D 이미지를 읽고 다음 작업을 수행하는 과정을 따르고 있습니다.

image = mpimg.imread('test.jpg')
duplicate = np.copy(image)
red_threshold = green_threshold = blue_threshold = 0
rgb_threshold = [red_threshold, green_threshold, blue_threshold]

특히이 줄

thresholds = (image[:,:,0] < rgb_threshold[0]) | (image[:,:,1] < rgb_threshold[1]) | (image[:,:,2] < rgb_threshold[2])
duplicate[thresholds] = [0,0,0]

이 코드 줄에 대한 설명은

The result, duplicate, is an image in which pixels that were above the threshold have been retained, and pixels below the threshold have been blacked out.

어떻게 이해가 안되나요? 누군가이 문제를 조금 풀어서 무슨 일이 일어나고 있는지 이해하도록 도와 줄 수 있습니까?

  • 답변 # 1

    위의 표현

    thresholds = (image[:,:,0] < rgb_threshold[0]) | (image[:,:,1] < rgb_threshold[1]) | (image[:,:,2] < rgb_threshold[2])
    
    

    펼침 :

    image[:,:,0]
    
    

    여기서 세 번째 색인 인 0은RGB의 이미지 채널이므로 image[:,:,0], image[:,:,1], image[:,:,2]  RGB 채널의 픽셀입니다.

    image[:,:,0] < rgb_threshold[0])
    
    

    즉, 픽셀 만 있으면 실제 채널의임계 값값 (여기서는 0) 미만입니다.

    이 경우 우리는 비트 단위 또는 연산자 | 를 사용하여 임계 색상 채널 값의 numpy 배열의 합을 얻습니다.  예를 들어 :

    import numpy as np
    a = np.array([26,0,46,])
    b = np.array([0,55,1,])
    print(a | b)
    
    

    아웃 :

    [26 55 47]
    
    

  • 이전 windows - 가상 시나리오 - 향후 머신 호환성을위한 python 독립형 실행 파일
  • 다음 rust-openssl을 사용하여`-starttls smtp`와 동일한 연결을 작성하는 방법은 무엇입니까?