짧은 책 비디오를 다운로드하는 방법은 무엇입니까? 비디오 및 오디오 다운로드 자습서를 얻는 방법

"
여기에 사진 설명 삽입
opencv의 이미지가 실제로 ndarray 배열이라는 것을 배우기 전에 ndarray 배열에서 작업하여 이미지에 대해 작업합니다. 먼저 우리가 사용하는 매우 일반적인 작업 인 슬라이스 검색을 살펴 보겠습니다.

(1) 1 차원 배열
의 슬라이싱 슬라이싱의 구문을 살펴 보겠습니다. 1 차원 배열의 경우 다음 작업을 통해 0 ~ 4 번째 요소를 얻을 수 있습니다.

array [0 : 5]
위에서 우리는 슬라이싱 작업이 왼쪽 닫힌 상태이고 오른쪽 열린 상태임을 알 수 있습니다. 위의 슬라이싱 작업을 축약 할 수 있습니다.

array [: 5]
첫 번째 값을 설정하지 않으면 처음부터 슬라이스를 의미합니다. 물론 다음 연산과 같이 마지막 요소를 가져 오는 두 번째 값을 생략 할 수도 있습니다.

array [3 :]
실제 예제를 사용하여 슬라이스 작업을 살펴 ​​보겠습니다.

numpy를 np로 가져 오기

데이터 [0, 1, 2, 3, 4, 5, 6, 7]로 1 차원 ndarray 배열을 만듭니다.

배열 = np.array ([0, 1, 2, 3, 4, 5, 6, 7])

0 ~ 4 개 요소 가져 오기

print (배열 [0 : 5])
print (배열 [: 5])

세 번째 요소를 마지막 요소로 가져갑니다.

print(array[3:])
输出内容如下:

[0 1 2 3 4]
[0 1 2 3 4]
[3 4 5 6 7]`

슬라이싱 작업을 다음과 같이 요약 할 수 있습니다.

왼쪽을 닫고 오른쪽을 엽니 다.

array[start: end-1]
0으로 시작하고 마지막으로 끝을 얻으면 해당 값을 생략 할 수 있습니다.

(2) 2 차원 배열의 분할
이미지 처리에서는 2 차원 배열의 분할에 더 많은주의를 기울입니다. 구문은 1 차원 배열과 매우 유사합니다. 이해를 돕기 위해 다음 그림과 같이 그림을 직접 사용하여 슬라이스합니다.

없는

2 차원 배열을 분할하는 구문은 다음과 같습니다.

array[start:end-1, start:end-1]

이제 우리는 명확해야합니다. 왼쪽 부분은 높이 가로 채기이고 오른쪽 부분은 너비 가로 채기입니다. 이제 다음과 같이 사진의 왼쪽 절반을 캡처하고 싶습니다.

import cv2

사진 읽기

img = cv2.imread('xyql.jpg')

그림의 너비를 구하고 2로 나눕니다.

width = img.shape[1]//2

사진을 자르고 왼쪽 절반을 찍습니다

left = img[:, :width]

이미지를 표시하는 3 단계

cv2.imshow('left', left)
cv2.waitKey(0)
cv2.destroyAllWindows()

슬라이싱 코드는 다음과 같습니다.

left = img[:, :width]

왼쪽에있는 것은 차단 높이이므로 모두 차단해야하므로 두 값을 모두 생략 할 수 있습니다. 오른쪽에서는 왼쪽 절반 만 가로 챌 필요가 있으므로 왼쪽의 값은 생략 할 수 있고 오른쪽의 값은 앞서 계산 한 너비입니다. 다음은 렌더링입니다.
여기에 사진 설명 삽입

(2) np.zeros
np.zeros는 요소의 내용이 0이라는 점을 제외하고는 위와 같은 차이가 없습니다. 간단히 살펴 보겠습니다.

import numpy as np
img = np.zeros((5, 5), dtype=np.uint8)
print(img)

보기의 편의를 위해 간단한 배열을 직접 생성하며 출력 결과는 다음과 같습니다.

[[0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]]

더 이상 자세히 설명하지 않겠습니다.

추천

출처blog.csdn.net/qq_45984336/article/details/110825114