可以将相邻的像素矩阵看作是图像矩阵的平移
水平:向左或者向右移动,垂直:向上或者向下移动,对角:先左右后上下(我是这么理解的)
最近做图像加密用到这个写一下
# coding=utf-8
import cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
#求水平,垂直,对角的相关系数以及相关系数图
def corrlelation_image(image,direction):#image灰度度图,direction方向:水平1,垂直2,正对角3
#求image的方差以及平均数
#mean_image=np.mean(image)
#var_image=np.var(image)
#获取图像像素的维度
m=image.shape[0]
n=image.shape[1]
X=np.zeros((m,n))
#水平方向,向右移,
if direction==1:
X=np.hstack((image[:,n-1].reshape(-1,1),image[:,:n-1]))#按列合并
#print('\n')
#print('Horizontal correlation coefficient',np.corrcoef(image.ravel(),X.ravel())[0][1])
plt.scatter(image.ravel(),X.ravel(),marker='.',s=0.1)
plt.xlabel('Gary vale of pixel location(a,b)')
plt