Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何使用SIFT数据从图像中提取图像块?_Matlab_Image Processing_Octave_Sift - Fatal编程技术网

Matlab 如何使用SIFT数据从图像中提取图像块?

Matlab 如何使用SIFT数据从图像中提取图像块?,matlab,image-processing,octave,sift,Matlab,Image Processing,Octave,Sift,使用SIFT生成器,我可以为图像生成128维SIFT描述符,每个向量包含以下数据: 感兴趣区域的中心 其规模和方向 定义区域椭圆支撑的矩阵A 我的问题是,在Matlab/Octave中,如何仅使用原始图像的SIFT数据,即感兴趣区域的中心和矩阵A,从原始图像中提取感兴趣区域的椭圆图像面片 我知道我可以得到图像的椭圆面片I知道椭圆函数: [n_row n_col n_cha] = size(I); [xx, yy] = ndgrid((1:n_row)-y,(1:n_col)-x); mask

使用SIFT生成器,我可以为图像生成128维SIFT描述符,每个向量包含以下数据:

  • 感兴趣区域的中心
  • 其规模和方向
  • 定义区域椭圆支撑的矩阵A
我的问题是,在Matlab/Octave中,如何仅使用原始图像的SIFT数据,即感兴趣区域的中心和矩阵A,从原始图像中提取感兴趣区域的椭圆图像面片

我知道我可以得到图像的椭圆面片
I
知道椭圆函数:

[n_row n_col n_cha] = size(I);
[xx, yy] = ndgrid((1:n_row)-y,(1:n_col)-x);
mask = uint8((xx.^2/9 + yy.^2/4) < 100^2); % ellipse function
C = uint8(zeros(n_row, n_col));
C = I.*mask;
[n_row n_col n_cha]=大小(I);
[xx,yy]=ndgrid((1:n列)-y,(1:n列)-x);
掩码=uint8((xx.^2/9+yy.^2/4)<100^2);%椭圆函数
C=uint8(零(n_行,n_列));
C=I.*掩模;

然而,我不知道怎样才能得到只有SIFT数据的椭圆函数。感谢您的帮助。谢谢。

您能否澄清一下:SIFT提供了哪些信息?无菌区与SIFT有何关系?您能否澄清一下:SIFT提供了哪些信息?无菌区与SIFT有什么关系?