¿Cómo descargar videos de libros cortos? Un truco para obtener el tutorial de descarga de video y audio

"
Inserte la descripción de la imagen aquí
Antes aprendíamos que la imagen en opencv es en realidad una matriz ndarray, y operamos en la matriz ndarray para operar en la imagen. Veamos primero la búsqueda de cortes, que es una operación muy común que usamos.

(1) Corte de matrices unidimensionales
Echemos un vistazo a la sintaxis de la división. Para matrices unidimensionales, podemos obtener los elementos 0 al 4 mediante las siguientes operaciones:

array [0: 5]
Por lo anterior, podemos saber que nuestra operación de corte se deja cerrada y se abre a la derecha. Podemos abreviar la operación de corte anterior:

array [: 5]
Si no establecemos el primer valor, significa cortar desde el principio. Por supuesto, también podemos omitir el segundo valor, lo que significa obtener el último elemento, como la siguiente operación:

array [3:]
Usemos un ejemplo práctico para ver la operación de corte:

importar numpy como np

Cree una matriz ndarray unidimensional con datos [0, 1, 2, 3, 4, 5, 6, 7]

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

Toma de 0 a 4 elementos

imprimir (matriz [0: 5])
imprimir (matriz [: 5])

Lleva del 3 al último elemento

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

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

Podemos resumir la operación de corte como:

Cerrar a la izquierda y abrir a la derecha

array[start: end-1]
Cuando comenzamos con el 0 y terminamos con el último, se puede omitir el valor correspondiente.

(2) Corte de matrices bidimensionales
En el procesamiento de imágenes, prestamos más atención al corte de matrices bidimensionales. Su sintaxis es muy similar a las matrices unidimensionales. Para facilitar la comprensión, utilizamos directamente imágenes para cortar, como la siguiente imagen:

nulo

La sintaxis para cortar una matriz bidimensional es la siguiente:

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

Ahora debemos ser claros, la parte izquierda es la interceptación de la altura y la parte derecha es la intercepción de la anchura. Así que ahora quiero capturar la mitad izquierda de la imagen de la siguiente manera:

import cv2

Leer imagen

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

Obtenga el ancho de la imagen y divídalo por 2

width = img.shape[1]//2

Corta la imagen y toma la mitad izquierda

left = img[:, :width]

Tres pasos para mostrar imágenes

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

El código para cortar es:

left = img[:, :width]

El de la izquierda es la altura de intercepción, necesitamos interceptar todos, por lo que ambos valores se pueden omitir. A la derecha, solo necesitamos interceptar la mitad izquierda, por lo que el valor de la izquierda se puede omitir, y el valor de la derecha es el ancho que calculamos anteriormente. La siguiente es la representación:
Inserte la descripción de la imagen aquí

(2) np.zeros
np.zeros no tiene la diferencia anterior de unos, excepto que el contenido de su elemento es 0. Echemos un breve vistazo:

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

Para la comodidad de visualización, generamos directamente una matriz simple, el resultado de salida es el siguiente:

[[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]]

No entraré más en detalles.

Supongo que te gusta

Origin blog.csdn.net/qq_45984336/article/details/110825114
Recomendado
Clasificación