如果使用像素右下角的像素减去这个像素,来代替这个像素,或者用右上角的像素来减去这个像素来代替这个像素,也可以检测图像的边界。这两个方法,统称为Roberts边界检测法。
工具/原料
电脑
python
方法/步骤
1、给出如下图片,我们使用Roberts方法,来检测图形的边界。
2、先把图转为二值图:img=img[:,:,0]img=erzhihua(img,230)
3、检测二值图的边界,使用Roberts方法之一:u,v=img.sh瞢铍库祢ape[:2]pic=img*1f泠贾高框oriinrange(1,u-1):forjinrange(1,v-1):b=abs(img[i+1,j+1]-img[i,j])pic[i,j]=b
4、检测二值图的边界,使用Roberts方法之2:foriinr瞢铍库祢ange(1,u-1):for惺绅寨瞀jinrange(1,v-1):a=abs(img[i-1,j+1]-img[i,j])pic[i,j]=a
5、把两个方法结合起来:foriinrange(1,掼鸿乡羰u-1):forjinrange(1,v-1):a=abs(img[足毂忍珩i-1,j+1]-img[i,j])b=abs(img[i+1,j+1]-img[i,j])pic[i,j]=max(a,b)
新的例子
1、给图。img=io.imread('0.jpg')img=hui(img)img=erzhihua(img,170)
2、右下角检测:
3、右上角检测:
4、综合检测: