opencv的reshape函数的一些使用注意事项

1)在matlab中的reshape是一列一列来的,而在opencv中mat的reshape是一行一行来的。

2)reshape要求变换对象矩阵A是连续的,可以用A.iscontinous()来判断。若不连续则无法尽心reshape,会报错。一般用经过裁剪的Mat图像,都不再连续了,如cv::Mat B = A(rect);crop_img ,cv::Mat B=A(Range(begin_row, end_row)等是不连续的Mat图像。如果想转为连续的,最简单的方法,就是将不连续的B 重新clone()一份给新的Mat。Mat C=B.clone(). 这时就可以对C进行reshape操作了。

猜你喜欢

转载自blog.csdn.net/a573233077/article/details/82555350