【图像处理】用Prewitt方法检测边界
1、先处理图片。
2、再使用第一个Prewitt算子处理图片:pic=juanji(img,kernel1)
3、用第二个算子处理图片:pic=juanji(img,kernel2)
4、但是,如果要把两个算子结合起来,就需要重新写代码。u,v=img.shapep坡纠课柩ic=img*1for i in ra荏鱿胫协nge(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。
阅读量:26
阅读量:28
阅读量:50
阅读量:71
阅读量:44