【图像处理】用Prewitt方法检测边界
1、先处理图片。


2、再使用第一个Prewitt算子处理图片:
pic=juanji(img,kernel1)

3、用第二个算子处理图片:
pic=juanji(img,kernel2)

4、但是,如果要把两个算子结合起来,就需要重新写代码。
u,v=img.shape
pic=img*1
for i in range(1,u-1):
for j in range(1,v-1):
z=np.reshape(img[i-1:i+2,j-1:j+2],(1,-1))[0]
x=abs(np.dot(z,k1))
y=abs(np.dot(z,k2))
pic[i,j]=max(x,y)
这样检测的结果比较完整。

5、如果改为:
pic[i,j]=int((x**2+y**2)**(0.5))
那么检测的边界是一串虚线。

6、改为:pic[i,j]=int((x*y)**(0.5))

7、改为:pic[i,j]=int((x+y)*(0.5))

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