在使用opencv显示图像时会出现图像倒立的情况,与IplImage的origin属性有关系。
origin()const;
返回影象结构。0-顶—左结构,1-底—左结构 (Windows bitmaps 风格)。
返回影象结构。0-顶—左结构,1-底—左结构 (Windows bitmaps 风格)。
origin为0表示顶左结构,即图像的原点是左上角,如果为1为左下角。一般从硬盘读入的图片或者通过cvCreateImage方法创建的IplImage图片默认的origin为0,即显示的时候都是正的。而由摄像头或者视频文件获取的帧图像origin为1,此时显示的时候扫描顺序是从下到上,显示也是正的(opencv显示的时候是根据origin的值显示的,如果origin=1,则从下到上显示,否则反之)。
IplImage* frame1;
frame1->origin = 1;
cvShowImage("Optical Flow", frame1); // 这样就是正的了。
cvShowImage("Optical Flow", frame1); // 这样就是正的了。