图像的边界检测基本方法

2020/06/19 01:39

本文介绍边界检测的方法。

对图片的像素,用这个像素的邻域像素与这个像素的差值,来代替这个像素,得到的新的图像,就会呈现类似于【简笔画】的效果。

这个过程,可以保留图形中物体的边界,而忽略其它的细节。

给出灰度图。

用像素右边的像素减去这个像素,差值代替这个像素。

img=io.imread('0.jpg')[:,:,0]

pic=img*1

u,v=img.shape

for i in range(u):

for j in range(v):

if i <u-1:

pic[i,j]=img[i+1,j]-img[i,j]

用像素下边的像素减去这个像素,差值代替这个像素。

for i in range(u):

for j in range(v):

if j<v-1:

pic[i,j]=img[i,j+1]-img[i,j]

用像素右边的像素和下边的像素的和,减去这个像素的二倍,来代替这个像素:

for i in range(u):

for j in range(v):

if i<u-1 and j<v-1:

pic[i,j]=int(img[i,j+1]+img[i+1,j]-2*img[i,j])

用像素上下左右四个像素的和,减去这个像素的四倍,来代替这个像素:

for i in range(1,u):

for j in range(1,v):

if i<u-1 and j<v-1:

pic[i,j]=int(img[i,j+1]+img[i+1,j]+img[i,j-1]+img[i-1,j]-4*img[i,j])

这相当于使用下面的卷积内核进行的卷积处理:

kernel=[0,1,0,1,-4,1,0,1,0]

pic=juanji(img,kernel)

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司