【发布时间】:2011-10-28 00:16:56
【问题描述】:
我是 OpenCV 新手,我想转置灰度图像,但输出大小错误。
// 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)
-
“当我检查图像时”是什么意思?
-
我得到了我的工作 cvTranspose 使用转换宽度 = src 的高度和高度 = src 的宽度的新图像..