OpenCV的Mat类没有删除一行或一列的函数,有时候要自己写。下面代码实现删除矩阵中指定的一列。
void DeleteOneColOfMat(Mat& object,int num)
{
if (num<0 || num>=object.cols)
{
cout<<" 列标号不在矩阵正常范围内 "<<endl;
}
else
{
if (num == object.cols-1)
{
object = object.t();
object.pop_back();
object = object.t();
}
else
{
for (int i=num+1;i<object.cols;i++)
{
object.col(i-1) = object.col(i) + Scalar(0,0,0,0);
}
object = object.t();
object.pop_back();
object = object.t();
}
}
}
本文介绍了一种在OpenCV中删除指定列的方法。通过自定义函数`DeleteOneColOfMat`实现了这一功能,该函数首先检查列索引的有效性,然后通过调整矩阵元素来移除目标列。

303

被折叠的 条评论
为什么被折叠?



