图像滤波的函数

增加图像对比度,过高过低放大噪声

    img = sensor.snapshot().histeq(adaptive=True, clip_limit=3)

 也是增加图像对比度,上面是自适应,这是直接增加,感觉有点暴力,图像对比度高

img = sensor.snapshot().histeq()

 用平滑卷积核去滤波,让照片更模糊

    img.gaussian(1)

 用核去做卷积操作进行一些滤波,上面只是特例感觉

    img.morph(kernel_size, kernel)

 消除图像中光线,把光线变黑

img = sensor.snapshot().binary([thresholds], invert=False, zero=True)

thresholds = (90, 100, -128, 127, -128, 127)

这是彩图的,下面是灰度图光线的阈值

thresholds = (220, 255)

图像二值化,将目标阈值的目标变为白色,其他阈值外的变为黑子

img.binary([red_threshold])

用拉普拉斯核去做卷积,留下边界边缘

    img.laplacian(1)

利用卷积核卷积加二值化检测边界

img.morph(kernel_size, kernel)
img.binary(thresholds)
img.erode(1, threshold = 2)

这是腐蚀函数,腐蚀边界上的白点,threshold越大腐蚀的越多,可能伤害目标,这是一个去噪声的函数

线性极坐标映射

img = sensor.snapshot().linpolar(reverse=False)

对数极坐标映射

 img = sensor.snapshot().logpolar(reverse=False)
腐蚀膨胀

腐蚀的去除噪声,可能损害边沿,让边沿也被腐蚀了,膨胀操作让边沿得以重生,膨胀出来。

达到去除噪声的效果。for i in range(20)是简单的延时操作还有

sensor.set_pixformat(sensor.GRAYSCALE)
    for i in range(20):
        img = sensor.snapshot()
        #先对图像进行分割,二值化,将在阈值内的区域变为白色,阈值外区域变为黑色
        img.binary([grayscale_thres])
        #对图像边缘进行侵蚀,侵蚀函数erode(size, threshold=Auto),size为
        #kernal的大小,去除边缘相邻处多余的点。threshold用来设置去除相邻点的个数,
        #threshold数值越大,被侵蚀掉的边缘点越多,边缘旁边白色杂点少;数值越小,
        #被侵蚀掉的边缘点越少,边缘旁边的白色杂点越多。
        img.erode(2)
    for i in range(20):
        img = sensor.snapshot()
        img.binary([grayscale_thres])
        img.dilate(2)

还有一些就之后再写把 

你可能感兴趣的:(openmv,计算机视觉,人工智能)