zoukankan      html  css  js  c++  java
  • python图片处理(一)

    在matlab中有相应的图像进行二值化处理,并且标记连通区域

    L = bwlabel(BW,n)

    返回一个和BW大小相同的L矩阵,包含了标记连BW中每个连通区域的类别标签,标签的值是1、2、num(连通区域的个数)n的值是4或者8,和算法中的搜索相同表示连通的方向,表示方向,4表示只有上下左右四个方向,8表示上下左右还有对角线。4连通或者8连通,默认为8连通。

    [L,num] = bwlabel(BW,n)

    num表示的是BW中连通区域的个数。

    举例说明:
    BW =
        1     1     1     0     0     0     0     0
        1     1     1     0     1     1     0     0
        1     1     1     0     1     1     0     0
        1     1     1     0     0     0     1     0
        1     1     1     0     0     0     1     0
        1     1     1     0     0     0     1     0
        1     1     1     0     0     1     1     0
        1     1     1     0     0     0     0     0

    按4连通计算,方形的区域,和翻转的L形区域,有用是对角连接,不属于连通,所以分开标记,连通区域个数为3

    1. L = bwlabel(BW,4)

    复制代码结果如下:
    L =
        1     1     1     0     0     0     0     0
        1     1     1     0     2     2     0     0
        1     1     1     0     2     2     0     0
        1     1     1     0     0     0     3     0
        1     1     1     0     0     0     3     0
        1     1     1     0     0     0     3     0
        1     1     1     0     0     3     3     0
        1     1     1     0     0     0     0     0

    而8连通标记,它们是连通的:

    1. [L, num] = bwlabel(BW,8)

    复制代码L =
        1     1     1     0     0     0     0     0
        1     1     1     0     2     2     0     0
        1     1     1     0     2     2     0     0
        1     1     1     0     0     0     2     0
        1     1     1     0     0     0     2     0
        1     1     1     0     0     0     2     0
        1     1     1     0     0     2     2     0
        1     1     1     0     0     0     0     0
    这里
    num = 2
     

    在python中可以用skimage模块进行图像的二值化和图像连通,图像中

    from PIL import Image
    import matplotlib.image as mpimg
    import numpy as np
    
    path = '20150919131753_XcGPz.thumb.700_0.jpeg'
    img=io.imread(path,as_grey=False)
    img_gray=color.rgb2gray(img)
    from skimage import io,data,color
    rows,cols=img_gray.shape
    for i in range(rows):    
        for j in range(cols):
            if (img_gray[i,j]<=0.5):
                img_gray[i,j]=0
            else:
                img_gray[i,j]=1
  • 相关阅读:
    Matplotlib绘图双纵坐标轴设置及控制设置时间格式
    https://www.cnblogs.com/xubing-613/p/5895948.html
    Python科学计算技巧积累四——双y轴图像绘制
    卡尔曼滤波(Kalman Filter)
    python os.path模块常用方法详解 ZZ
    C/C++跨平台的的预编译宏
    WEB版一次选择多个图片进行批量上传(WebUploader)的解决方案
    WEB版一次选择多个文件进行批量上传(WebUploader)的解决方案
    学习ASP.NET MVC(十一)——分页
    学习ASP.NET MVC(十)——排序
  • 原文地址:https://www.cnblogs.com/chenyang920/p/8232887.html
Copyright © 2011-2022 走看看