OpenCV의-python- 연구는 육 (이미지의 기본 동작을) 노트

산술 연산자

개요

우리는 두 영상에서 함수 (cv.add ()) 또는 단순 연산 NumPy와 (입술을 img1 = + IMG2) OpenCV의 동작을 할 수있다. 두 개의 깊이 이미지와 형태가 동일해야하거나 화상만을 제 스칼라 값일 수있다 (각각의 이미지를 저장하기 위해 사용되는 비트 수는, 화상 농도의 각각의 픽셀은 컬러 화상 색의 수있을 수 있다고 판단).

그러나 OpenCV의 추가 및 NumPy와 추가 차이가있다. OpenCV의 가산 동작 NumPy와 가산은 모듈로 연산이다 포화된다.

예를 들면 :

오기 CV AS CV2가
 가져 오기 NP AS NumPy와 


X = np.uint8 ([250 ]) # 부호없는 8 비트 정수는 [0, 255]의 범위의 정수를 나타내고, 
Y = np.uint8 ([10 ])
 이 전단 (CV있다. 추가 (X, Y))   # 250 = + 10 = 260> [255] 

인쇄 (X + Y)           # 250 = 10 + 256 = 260 .. 4 % => [. 4]

이미지 연산

정의 :

SRC1 : 첫번째 이미지

SRC2 : 두 번째 이미지

DST : 목적지, 목적지 이미지, 사전에 공간을 할당 할 필요가 생략 될 수있다

마스크 : 8 비트 단일 채널 어레이 소자는 출력 배열의 변화를 지정한다.

규모 : 확장 비율

DTYPE : 출력 배열의 깊이는 기본적으로 동일하다 -1

DST = cv.add (SRC1, SRC2 [DST [마스크 [DTYPE]])

DST = cv2.subtract (SRC1, SRC2, DST, 마스크 DTYPE)

DST = cv2.multiply (SRC1, SRC2, DST, 스케일 DTYPE) DST = 스케일 *의 * SRC1, SRC2

DST = cv2.divide (SRC1, SRC2, DST, 스케일 DTYPE) DST = * 스케일의 SRC1 / SRC2

예를 들면 :

오기 CV AS CV2
 오기 NP AS NumPy와 


IMG1 = cv.imread ( ' 1.JPG ' )   #의 화상. 1 
IMG2 cv.imread = ( ' 2.JPG ' )   #의 이미지 2 

추가 = cv.add (IMG1, IMG2)   # 두 화상 가산 
감산 = cv.subtract (IMG1, IMG2)   # 두 화상 감산 
곱하기 = cv.multiply (IMG1, IMG2)   # 1 개의 화상을 곱한 
= cv.divide (IMG1, IMG2)에 나누어   # 두 이미지 분할 

cv.imshow ( " 테스트 " , 추가)

 

이미지 혼합

이것은 또한 추가 된 이미지입니다,하지만 서로 다른 무게의 이미지에, 그래서 사람들 혼합 또는 투명의 느낌을 준다. 공식 다음과 같은 이미지를 추가합니다 :

D S t = 내가 해요 g 1 + B I m의 g 2 + C

 

DST = cv.addWeighted (SRC1, α, SRC2, β-, γ- [DST [DTYPE])

매개 변수 :

SRC1 : 첫 번째 이미지

appha : 첫 번째 배열 요소 무게를 차지

SRC2 : 제 화상

베타 : 두 번째 배열 요소 무게를 차지

감마 : 스칼라 및 각 추가

DST는 : 입력과 출력 어레이 배열은 채널과 동일한 크기와 개수를

DTYPE :

 

가져올 순이익으로 NumPy와
 수입 이력서로 CV2 


데프 아무것도 (X) :
     전달되지 


# 블랙 화상, 윈도우 생성 
을 img1 = np.zeros ((300, 528, 3 ) np.uint8) 
IMG2 = cv.imread를 ( " 2. JPG " ) 

cv.namedWindow ( ' ' )
 # 1 색 변경 용 trackbars 생성 
cv.createTrackbar ( ' 변경 ' , ' ' , 0, 1 , 아무것도)
 동안 (1 ) 
    K = cv.waitKey (1)은 0xFF
     만약 K의 == 27:
         휴식 
    #이 네 trackbars의 현재 위치를 얻을 
    (=의 cv.getTrackbarPos 변경 ' 변화 ' , ' 이미지 ' ) 
    DST = cv.addWeighted (img1로, 변경, IMG2, 1 변화, 0) 
    cv.imshow ( " 이미지 " , DST ) 
cv.destroyAllWindows ()

       

 

논리 연산자 (이후 업데이트)

 

추천

출처www.cnblogs.com/blog-xyy/p/11184095.html