zoukankan      html  css  js  c++  java
  • 形态学转换

    1、腐蚀  cv2.erode()

    就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但是前景仍然
    是白色)。这是怎么做到的呢?卷积核沿着图像滑动,如果与卷积核对应的原图
    像的所有像素值都是 1,那么中心元素就保持原来的像素值,否则就变为零。
    这回产生什么影响呢?根据卷积核的大小靠近前景的所有像素都会被腐蚀
    掉(变为 0),所以前景物体会变小,整幅图像的白色区域会减少。这对于去除
    白噪声很有用,也可以用来断开两个连在一块的物体等。
     
     
    2、膨胀  cv2.dilate()
    与腐蚀相反,与卷积核对应的原图像的像素值中只要有一个是 1,中心元
    素的像素值就是 1。所以这个操作会增加图像中的白色区域(前景)。一般在去
    噪声时先用腐蚀再用膨胀。因为腐蚀在去掉白噪声的同时,也会使前景对象变
    小。所以我们再对他进行膨胀。这时噪声已经被去除了,不会再回来了,但是
    前景还在并会增加。膨胀也可以用来连接两个分开的物体。
     
    3、开运算先进行腐蚀运算再进行膨胀就叫做开运算,
    被用作去除噪声,cv2.morphologhEx()
     
    opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
     
    4、闭运算,先膨胀再腐蚀,它经常被用来填充前景物体中的小洞,或者前景物体上的
    小黑点。
    closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
     
    5、形态学梯度,其实就是一幅图像膨胀与腐蚀的差别。结果看上去就像前景物体的轮廓。
    gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)
     
    6、礼帽
    原始图像与进行开运算之后得到的图像的差。下面的例子是用一个 9x9 的
    核进行礼帽操作的结果。
    tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
     
     
    7、黑帽
    进行闭运算之后得到的图像与原始图像的差。
    blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)
  • 相关阅读:
    枚举Android系统的进程,任务和服务的信息
    android Gallery可循环显示图片
    android获取正在运行的进程
    Android Textview控件
    android中使用代码混淆出现Conversion to Dalvik format failed with error 1错误的解决办法
    Android断点续传
    vim常用快捷键
    V型开发过程
    CentOS 5.5 中文乱码问题解决方案
    使用yum来安装或卸载CentOS图形界面包 [linux技术]
  • 原文地址:https://www.cnblogs.com/h694879357/p/12272914.html
Copyright © 2011-2022 走看看