![](http://static.javashuo.com/static/loading.gif)
以上用了銳化,只需將如下代碼的
cov=np.ones([3,3])/5000
# cov[1,1]=1
改爲
cov=(-1)*np.ones([3,3])
cov[1,1]=9
cov=cov/800
如下爲簡單卷積代碼,代碼很簡單,仔細看將會明白其中含義。我簡單說一下,代碼思路:讀取一幅圖,以3通道顏色讀取,便獲得維度爲(300,533,3)的三維矩陣,隨後使用3*3的卷積矩陣,依次滑動,即可獲得新的(300,533,3)維的新矩陣,而後將其矩陣爲圖像輸出,便獲得以上相似先後的圖像。import cv2 as cvimport numpy as npv_a=np.zeros([1,533])img=cv.imread('C:\\Users\\HHQ\\Desktop\\tangjun\\3.jpg' ,cv.IMREAD_COLOR)print(img.shape)print(type(img))img=np.array(img)cv.imshow('display image',img)cv.waitKey(0)img0=np.vstack((v_a,img[:,:,0],v_a))img1=np.vstack((v_a,img[:,:,1],v_a))img2=np.vstack((v_a,img[:,:,2],v_a))h_a=np.zeros([302,1])img0=np.hstack((h_a,img0,h_a))img1=np.hstack((h_a,img1,h_a))img2=np.hstack((h_a,img2,h_a))cov=np.ones([3,3])/5000# cov[1,1]=1img_cov0=np.zeros([300,533])img_cov1=np.zeros([300,533])img_cov2=np.zeros([300,533])for i in range(300): for j in range(533): img_cov0[i, j] = cov[0, 0] * img0[i + 0, j + 0] + cov[0, 1] * img0[i + 0, j + 1] + cov[0, 2] * img0[ i + 0, j + 2] + cov[1, 0] * img0[i + 1, j + 0] + cov[1, 1] * img0[i + 1, j + 1] + cov[1, 2] * img0[ i + 1, j + 2] + cov[2, 0] * img0[i + 2, j + 0] + cov[2, 1] * img0[i + 2, j + 1] + cov[ 2, 2] * img0[i + 2, j + 2] img_cov1[i, j] = cov[0, 0] * img1[i + 0, j + 0] + cov[0, 1] * img1[i + 0, j + 1] + cov[0, 2] * img1[ i + 0, j + 2] + cov[1, 0] * img1[i + 1, j + 0] + cov[1, 1] * img1[i + 1, j + 1] + cov[1, 2] * img1[ i + 1, j + 2] + cov[2, 0] * img1[i + 2, j + 0] + cov[2, 1] * img1[i + 2, j + 1] + cov[ 2, 2] * img1[i + 2, j + 2] img_cov2[i, j] = cov[0, 0] * img2[i + 0, j + 0] + cov[0, 1] * img2[i + 0, j + 1] + cov[0, 2] * img2[ i + 0, j + 2] + cov[1, 0] * img2[i + 1, j + 0] + cov[1, 1] * img2[i + 1, j + 1] + cov[1, 2] * img2[ i + 1, j + 2] + cov[2, 0] * img2[i + 2, j + 0] + cov[2, 1] * img2[i + 2, j + 1] + cov[ 2, 2] * img2[i + 2, j + 2]img_cov=np.zeros([300,533,3])img_cov[:,:,0]=img_cov0img_cov[:,:,1]=img_cov1img_cov[:,:,2]=img_cov2# print(img_cov)print(img_cov.shape)cv.imshow('display img_cov',img_cov)cv.waitKey(0)