• 机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)


    1.cv2.erode(src, kernel, iteration)

    参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数

    腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都是这种颜色

    代码:

    1.读取带有毛刺的图片

    2.使用cv2.erode进行腐蚀操作,比较不同的kernel对结果的影响

    3.读取圆的图片

    4.使用cv2.erode进行腐蚀操作,比较不同的迭代次数对结果的影响

    import cv2
    import numpy as np
    
    # 1.读取带有毛刺的图片
    img = cv2.imread('dige.png')
    cv2.imshow('img', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    # 2.比较不同的kernel最终的腐蚀效果
    kernel = np.ones((3, 3), np.uint8)
    erosion_1 = cv2.erode(img, kernel, iterations=1)
    kernel_1 = np.ones((6, 6), np.uint8)
    erosion_2 = cv2.erode(img, kernel_1, iterations=1)
    cv2.imshow('erosion', np.hstack((erosion_1, erosion_2)))
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    # 3.读取圆的图片
    pie = cv2.imread('pie.png')
    cv2.imshow('pie', pie)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    # 4.比较不同的迭代次数对最终结果的影响
    kernel = np.ones((20, 20), np.uint8)
    erosion_1 = cv2.erode(pie, kernel, iterations=1)
    erosion_2 = cv2.erode(pie, kernel, iterations=2)
    erosion_3 = cv2.erode(pie, kernel, iterations=3)
    imgs = np.hstack((erosion_1, erosion_2, erosion_3))
    cv2.imshow('pie', imgs)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

  • 相关阅读:
    Servlet再度学习
    JSP九大内置对象
    Java I/O学习
    Java内存管理
    数据库面试常问的一些基本概念
    JVM类加载原理学习笔记
    Ajax原理学习
    Java基础之泛型
    Java基础之集合
    java多线程快速入门(二)
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10394831.html
Copyright © 2020-2023  润新知