1、先处理图片。
2、再使用第一个Prewitt算子处理图片:pic=juanji(img,kernel1)
3、用第二个算子处理图片:pic=juanji(img,kernel2)
4、但是,如果要把两个算子结合起来,就需要重新写代码。u,v=img.shapepic=img*1for 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))