MATLAB中图像的对角线像素



我有一个30 x 100像素大小的图像。

  1. 如何计算对角线上有多少像素?我能吗应用勾股定理?但如果是的话,我们可以获得float像素数。那么我该如何解决这个问题呢?

  2. 此外,如何自动提取的xy坐标值对角线上的每个像素?

我已经为一个正方形矩阵写了一个MATLAB代码,这很容易。但是,我如何将我的代码概括为包括任何大小的图像(不仅仅是正方形图像(。。

%suppose an image of size 100 x 100
image = rand(100,100);
n = length(image);
%extract how many pixels are there on the diagonal
diagonal_pixels = sqrt(n^2 + n^2);
%Get the x and y coordinates values of each diagonal pixel
for i = 1: n
x_coordinate_diag(i) = i;
y_coordinate_diag(i) = i;
end 

您可以使用这些步骤来获得对角线像素

  1. 获取最小宽度和高度长度(假设是宽度(
  2. 穿过最小长度的环路(例如:宽度(
  3. 通过四舍五入i*高度/宽度获得cordinate高度

例如50 x 100

  1. 最小值为50
  2. 对于i=0,j = 0 x 100 / 50 = 0
  3. 对于i=1,j = 1 x 100 / 50 = 2
  4. 对于i=2,j = 2 x 100 / 50 = 4
  5. 对于i=50,j = 50 x 100 / 50 = 100

相关内容

  • 没有找到相关文章

最新更新