我正在尝试弄清楚如何使用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 m
我试图将一种基于图像的Mahalanobis距离的方法转换为我的代码,它需要处理时间序列。这是Matlab代码,用户将图像作为输入传递,然后首先对其进行整形,然后计算平均值、协方差矩阵及其逆(他使用的是图像大小):
function out = rxd(X)
% X input size = (126, 150, 204)
sizes = size(X);
X = reshape(X, [sizes(1)*sizes(2), sizes(3)]);
% X input size = (18900, 204)
M = mean(X);
% M size = (1, 204)
C = c
gdal中的方差图像
我想要一个使用python的3x3地理空间光栅图像的局部方差图像。到目前为止,我的方法是将光栅带作为一个数组读取,然后使用矩阵表示法运行移动窗口,并将该数组写入新的光栅图像。此方法适用于本教程中描述的高通滤波器:
然后,我尝试用几种方法计算方差,最后一种方法使用numpy (作为np),但我只得到了一幅到处都是相同值的灰度图像。我对任何类型的解决方案都持开放态度。如果它最终给出了平均局部方差,那就更好了。
rows = srcDS.RasterYSize
#read in as array
data = srcBand.ReadAsArray(0,0, cols,
我有个形象。我需要识别出图像的变化最小的轴。通过阅读和研究,我得出结论:主成分分析(PCA)是最好的选择。有人能帮我定位图像的主轴吗?因为我最近被介绍给matlab,我觉得有点困难。下面是图像的一个例子。我试图旋转图像,以便我可以生成直方图。
我还没有使用PCA,我的当前代码如下所示
enter code here
I2='image'
I11= bwlabel(I2);
OBB = imOrientedBox(I11);
obbsize=[];
for i=1:size(OBB,1)
obbsize=[obbsize,OBB(i,3)*OBB(i,4)];
e
我试图从输入图像中提取Gabor特征。因此,我设置了一系列不同参数(频率、角度和标准差)的Gabor滤波器,并将每个滤波器与输入图像进行卷积,并查看输出幅度图像的均值和方差。因此,在python中,它看起来类似于:
import numpy as np
from scipy import ndimage as nd
# Here kernel is a given Gabor filter
def filter_image(self, image):
filtered = np.zeros((len(self.kernels)*2,) + image.shape)