lo que se dijo antes
博主今天给大家带来人工智能的一个重要领域的入门操作,opencv包的使用和基本操作,希望大家可以从中学到一些东西!
prefacio
那么这里博主先安利一下一些干货满满的专栏啦!
手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014.3001.5482
这里包含了博主很多的数据结构学习上的总结,每一篇都是超级用心编写的,有兴趣的伙伴们都支持一下吧!算法专栏https://blog.csdn.net/yu_cblog/category_11464817.html
visualización de la imagen original
Hoy, el blogger usará esta imagen como ejemplo para mostrarle algunas operaciones de umbralización.
1. Función de procesamiento de umbral de imagen OpenCV
Prototipo de función:
ret,dst = threshold(src,thresh,maxval,type)
src: imagen de origen
umbral : umbral (127/128 es nuestro umbral de uso común)
maxval: El valor dado cuando el píxel supera el umbral (menor o igual al umbral), de lo contrario toma 0
ret: valor de retorno del umbral (cuál es el umbral establecido)
dst: imagen de salida
tipo: método de procesamiento
2. Procesamiento de binarización THRESH_BINARY e inversión de binarización THRESH_BINARY_INV
Binarización:
Método de procesamiento: maxval si el valor del píxel del canal supera el umbral y 0 si el valor del píxel del canal es inferior al umbral
def test1():
img = cv2.imread(r"C:\Users\Administrator\Desktop\test4.jpg", 1) # 图片路径
ret,img1=cv2.threshold(img,127,255,cv2.THRESH_BINARY) # 二值化
cv2.imshow('img1',img1)
cv2.waitKey(0)
test1()
resultado del proceso:
Cambio de binarización:
Método de procesamiento: opuesto a la binarización
def test1():
img = cv2.imread(r"C:\Users\Administrator\Desktop\test5.jpg", 1)
ret,img1=cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV) # 二值化翻转
cv2.imshow('img1',img1)
cv2.waitKey(0)
test1()
resultado del proceso:
3. Procesamiento THRESH_TRUNC
Trunc en realidad significa truncamiento
Método de procesamiento: si se supera el umbral, se toma el umbral, y si está por debajo del umbral, se toma el auto.
def test3():
img = cv2.imread(r"C:\Users\Administrator\Desktop\test.jpg", 0)
cv2.imshow('img',img)
# 3.THRESH_TRUNC 超过阈值取阈值,低于阈值取自身
ret,img1=cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
cv2.imshow('img1',img1)
cv2.waitKey(0)
test3()
resultado del proceso:
Imagen procesada:
Imagen original:
4. Procesamiento THRESH_TOZERO y THRESH_TOZERO_INV
Método de procesamiento:
THRESH_TOZERO: Si supera el umbral, permanecerá sin cambios, y si está por debajo del umbral, será 0
THRESH_TOZERO_INV: Si supera el umbral, será 0, y si está por debajo del umbral, permanecerá sin cambios.
def test4():
img = cv2.imread(r"C:\Users\Administrator\Desktop\test5.jpg", 1)
cv2.imshow('img',img)
# 4.THRESH_TOZERO 超过阈值不变,低于阈值取0
# 5.THRESH_TOZERO_INV 取反 -- 超过阈值取0,低于阈值取不变
ret,img1=cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,img1=cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
cv2.imshow('img1',img1)
cv2.waitKey(0)
print(ret)
test4()
resultado del proceso:
THRESH_TOZERO:
Imagen original:
THRESH_TOZERO_INV:
Imagen original:
Resumir
Al ver esto, creo que todos tienen una cierta comprensión de este contenido, ¿verdad? Si sientes que este artículo te es útil, espero que puedas seguir prestando atención, suscribirte a la columna, dar me gusta y coleccionar son las mayores motivaciones para mi creación.
(Indique el autor y la fuente al reimprimir. No lo use con fines comerciales sin permiso)
Para obtener más artículos, visite mi página de inicio
@Mochila https://blog.csdn.net/Yu_Cblog?spm=1000.2115.3001.5343