C++中的子矩阵

Submatrix in C++

本文关键字:C++      更新时间:2023-10-16

我有一个关于从较大图像(矩阵)中提取子图像(子矩阵)的编程问题。我有两个点(我想提取的子图像的上界和下界),我想基于这些点从较大的子图像中提取子图像。但是我找不到如何用C/C++做thins。

我知道用matlab做这件事很容易。假设这两点是(x_max,y_max)和(x_min,y_min)。要提取子图像,我只需要编码以下内容:

(MATLAB CODE)-> small_image=big_image(x_min:x_max,y_min,y_max); 

但在C中,我不能像在Matlab中那样使用索引区间。这里有人以前遇到过这个问题吗?

如果您在C/C++中进行图像处理,您可能应该使用OpenCV。

cv::Mat类可以使用感兴趣区域(ROI)来实现这一点。

在直c++中,您将使用循环。

int* small_im[]; // or whatever the syntax is
int i = 0, j = 0;
for (i = 0; i < (x_max-x_min); i++)
{
    for (j = 0; j < (y_max-y_min); j++)
    {
      small_im[i][j] = big_im[x_min+i][y_min+j];
    }
}
相关文章:
  • 没有找到相关文章