【图像处理】图像的边界检测基本方法

2025-11-04 00:53:30

1、给出灰度图。

【图像处理】图像的边界检测基本方法

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

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]

【图像处理】图像的边界检测基本方法

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

for i in range(u):

    for j in range(v):

        if j<v-1:

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

【图像处理】图像的边界检测基本方法

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

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])

【图像处理】图像的边界检测基本方法

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

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])

【图像处理】图像的边界检测基本方法

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

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

pic=juanji(img,kernel)

【图像处理】图像的边界检测基本方法

1、给定RGB图片。

img=io.imread('0.jpg')

【图像处理】图像的边界检测基本方法

2、把图片转化为灰度图。

img=hui(img)

【图像处理】图像的边界检测基本方法

3、把灰度图二值化,用Otsu方法:

img=otsu(img)

【图像处理】图像的边界检测基本方法

4、用[0, 1, 0, 1, -4, 1, 0, 1, 0]作为卷积模版进行卷积变换,就相当于检测边界。

import imageio as io

from Zft import *

img=io.imread('0.jpg')

img=hui(img)

img=otsu(img)

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

img=juanji(img,kernel)

io.imsave('00.png',img)

【图像处理】图像的边界检测基本方法

5、换个模版,只检测竖向边界:

import imageio as io

from Zft import *

img=io.imread('0.jpg')

img=hui(img)

img=otsu(img)

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

img=juanji(img,kernel)

io.imsave('00.png',img)

【图像处理】图像的边界检测基本方法

6、只检测横向边界:

import imageio as io

from Zft import *

img=io.imread('0.jpg')

img=hui(img)

img=otsu(img)

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

img=juanji(img,kernel)

io.imsave('00.png',img)

【图像处理】图像的边界检测基本方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢