【opencv】关于用cvPyrDown()创建一幅宽度和高度为输入图像一半尺寸的图像的问题

#include"highgui.h"#include"cv.h"IplImage*doPyrDown(IplImage*in,intfilter=IPL_GAUSSIA... #include "highgui.h"
#include "cv.h"

IplImage* doPyrDown(IplImage* in,int filter =IPL_GAUSSIAN_5x5){
assert( in->width%2 == 0 && in->height%2 == 0 );
IplImage* out =cvCreateImage(
cvSize(in->width/2,in->height/2 ),
in->depth,
in->nChannels
);
cvPyrDown( in, out, IPL_GAUSSIAN_5x5 );
return( out );
}

int main()
{
const char* filename="/root/14160262Z-5.jpg";
IplImage* img = cvLoadImage(filename);
cvNamedWindow("Input", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Output",CV_WINDOW_AUTOSIZE);
cvShowImage("Input",img);
doPyrDown(img,0);
cvShowImage("Output",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Input");
cvDestroyWindow("Output");
}

此程序可以运行,但运行出来的结果并没有像预期那样宽度和高度为输入图像一半尺寸。有大神知道程序哪里除了问题吗,并给我指明应该如何修改,万分感谢!!!
展开
 我来答
房子a房子a
2015-08-02 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:588万
展开全部
你的程序写的有问题,你的dopyrdown函数采用函数返回值的方式输出采样后的图像。可是在你调用的时候是直接调用dopyrdown函数的,并没有ipimage指针去接收这个函数的返回值啊!也就是说缩小图像的操作做完了,但是程序中没有数据结构去接收这个结果。你在输出output图像的时候也是直接使用img图像的。
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式