我是OpenCV的新手,我想转置一个灰度图像,但我得到了错误的输出大小。cvTranspose给出不同的图像大小?
// img is an unsigned char image
IplImage *img = cvLoadImage("image.jpg"); // where image is of width=668 height=493
int width = img->width;
int height = img->height;
我想调换它:
IplImage *imgT = cvCreateImage(cvSize(height,width),img->depth,img->nChannels);
cvTranspose(img,imgT);
当我检查我看到原始图像img
的大小为329324,这是正确的图像:493*668* 1
字节,因为它是一个unsigned char
。然而imgT
的大小为331328.
我真的不知道哪里发生这种情况。
编辑:1 - 我使用Windows XP和OpenCV 2.2。 2-当我检查图像时,我的意思是当我看到变量imgT的值时。如imgT-> width,imgT-> heigt,imgT-> size等。
OpenCV的哪个版本,您使用什么平台? (Windows,Linux,MacOSX) – karlphillip 2011-06-15 19:41:09
“当我检查图像时”是什么意思? – 2011-06-15 19:56:14
我使用与宽度= SRC的身高和身高= SRC的宽度转换新形象我的工作cvTranspose .. – AnkitRox 2016-04-29 11:49:58