CImg转置功能给出了错误的宽度

时间:2016-03-21 02:33:21

标签: c++ cimg

我正在使用CImg进行图像处理分配。用以下代码调用transpose()之后

cout << image_subsample.width() << ","<<image_subsample.height() << "transpose:" << image_subsample.transpose().width() <<"," <<image_subsample.transpose().height() << endl; 

输出

1200,1transpose:1200,1200

转置的预期输出是

1200,1transpose:1,1200

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

你实际上在你的例子中转换了两次矩阵,所以你得到的输出是合乎逻辑的。 在显示其大小之前,使用get_transpose()或更好地将转置矩阵存储在某处。

CImg<> transp = img.get_transpose();
fprintf(stderr,"%d,%d",transp.width(),transp.height());