图像处理 – 在MATLAB中选择矩阵的对角线元素

在MATLAB中考虑以下矩阵:

01 02 03 04 05 06 07

08 09 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31 32 33 34 35

36 37 38 39 40 41 42

43 44 45 46 47 48 49

我必须为图像的这样的7×7窗口(移动)生成方向变差函数.我将使用nlfilter进行该过程,但是开发函数来计算变异函数我无法决定如何在窗口中选择元素.例如,当我考虑中心值25时,在EW方向,我只需要考虑25,26,27和28;在NE方向,当选择的滞后为1时,我只需要考虑25,19,13和07.是否有任何标准命令?

最佳答案
您可以编写一个函数来轻松获取这些元素:

A = [01 02 03 04 05 06 07
     08 09 10 11 12 13 14
     15 16 17 18 19 20 21
     22 23 24 25 26 27 28
     29 30 31 32 33 34 35
     36 37 38 39 40 41 42
     43 44 45 46 47 48 49];

c = (size(A)+1)/2;
EW = A(c(1),c(2):end)
NE = diag(A(c(1):-1:1,c(2):end))

只需在一个函数(最好是一个m文件)中写这个代码,执行你的操作并将结果传回来.

diag函数返回一个矩阵的对角线元素(或者当传递一个向量时返回一个对角矩阵).

转载注明原文:图像处理 – 在MATLAB中选择矩阵的对角线元素 - 代码日志