我试图弄清楚如何使用PCA来解析python中的RGB图像.我正在使用O'Reilly计算机愿景书中的代码:
from PIL import Image
from numpy import *
def pca(X):
# Principal Component Analysis
# input: X, matrix with training data as flattened arrays in rows
# return: projection matrix (with important dimensions first),
# variance and mean
#get dimensions
num_data,dim = X.shape
#center data
mean_X = X.mean(axis=0)
for i in range(num_data):
X[i] -= mean_X
if dim>100:
print 'PCA - compact trick used'
M = dot(X,X.T) #covariance matrix
e,EV = linalg.eigh(M) #eigenvalues and eigenvectors
tmp = dot(X.T,EV).T #this is …Run Code Online (Sandbox Code Playgroud) 我使用 python 代码找到一个图像的拉普拉斯算子,只有一个通用内核 = 1(使用 cv2)。现在我想使用一个新内核,array([0,-1,0][-1,5,-1][0,-1,0])但不确定如何使用我拥有的代码来实现它,或者如何编写调用内核的新代码。
ksize = 1
scale = 1
delta = 0
ddepth = cv2.CV_64F
img = cv2.imread('/Users//Desktop/Programming/image.tif')
img = cv2.GaussianBlur(img,(3,3),0)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray_lap = cv2.Laplacian(gray,ddepth,ksize = ksize,scale = scale,delta = delta)
dst = cv2.convertScaleAbs(gray_lap)
plt.imshow(dst, cmap = 'gray')
Run Code Online (Sandbox Code Playgroud) 我尝试在应用低通滤波器后向图像添加白噪声。我知道如何在matlab中执行此操作,但不知道如何调用才能在python中工作。
import matplotlib.pyplot as plt
import numpy as np
import scipy.misc
from scipy import ndimage
import Image
J = imnoise(im,'salt & pepper',0.02);
figure.imshow(J)
Run Code Online (Sandbox Code Playgroud)
我还需要导入什么?还是有另一种增加噪音的方法?
我正在尝试使用矢量数据来计算两个矢量之间的角度.我正在使用atan2,它在x平面上运行,但我想从y平面上移除点.
如何旋转数据以使我的y平面是我的x平面,进行分析,然后将其旋转回来?我已经为我的分析进行了计算,只是不知道如何在保留每个位置的同时旋转矢量数据.