visión artificial séptima prueba
En primer lugar, el propósito del experimento
Los experimentos llevados a cabo por el séptimo OpenCV, la detección de defectos de imagen.
En segundo lugar, el contenido experimental
La medición de defectos de imagen.
En tercer lugar, el proceso experimental
Estoy usando un lenguaje + OPENCV la detección de defectos función de imagen pitón. Experimento tenemos que tener bibliotecas de importación cv2 importación; de importación PIL Imagen, ImageDraw, ImageFont;
1) para leer la imagen en escala de grises
Se utilizó un bucle para leer todas las imágenes para ser detectados, a continuación, en escala de grises utilizando la función imread () para leer las imágenes,
Ejemplos de código:
img = cv2.imread ( "0.bmp")
gris = cv2.cvtColor (img, cv2.COLOR_RGB2GRAY)
para i en el rango de (1, 6):
t1 = cv2.cvtColor (cv2.imread (str (i) + "BMP"), cv2.COLOR_RGB2GRAY)
Figura 3.1 agrisado fotos
2) imagen cálculo histograma
función Uso calcHist () se calcula:
Código de ejemplo:
# Calcule el histograma de la imagen
hist = cv2.calcHist ([gris], [0], Ninguna, [256], [0.0,255.0])
cv2.calcHist h1 = ([t1], [0], Ninguna, [256], [0.0,255.0])
3) la fuente de imagen, tamaño de la fuente
Introducir el código:
# Contraste similitud Imagen
resultar = suma (hist - h1) [0]
# Abra la imagen creada PIL
im = Image.open (str (i) + ".bmp")
# Crear un objeto operación
dibujar = ImageDraw.Draw (im)
# Fuente objeto SimSun, tamaño de la palabra es de 30,
int = ImageFont.truetype (R'C: \ Windows \ Fuentes \ simsun.ttc', 30)
4) determinar la elegibilidad Imágenes
Utilizar una sentencia if, si el original similitud contraste de la imagen de menos de 10, se clasificó, de lo contrario no calificado.
Código de ejemplo:
si el resultado <10:
draw.text ((5, 10), u '合格', relleno = 'rojo', font = FNT)
más:
draw.text ((5, 10), u 'fracaso', relleno = 'rojo', font = FNT)
5) mostrar imágenes
Código de ejemplo:
im.show ( "número" + str (i) + "png")
La figura 3.2 muestra si las imágenes o no cualificados
En cuarto lugar, los errores experimentales
El experimento no se encontró con el gran problema.
En quinto lugar, el resumen experimental
Aprendizaje OpenCV tecnología de detección de defectos, mejorar su capacidad.