zoukankan      html  css  js  c++  java
  • opencv实现图片缩放

    源码

    #include <iostream>
    #include <opencv2/core/core.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include<opencv2/opencv.hpp>
    using namespace std;
    using namespace cv;
    int main() { // cvLoadImage( filename, -1 ); 默认读取图像的原通道数 // cvLoadImage( filename, 0 ); 强制转化读取图像为灰度图 // cvLoadImage( filename, 1 ); 读取彩色图 IplImage * srcImg=cvLoadImage("1.jpg",-1); IplImage *detImg=NULL; CvSize size; double scale=0.314; size.width=srcImg->width*scale; size.height=srcImg->height*scale;
    //创建图片并缩放 detImg=cvCreateImage(size,srcImg->depth,srcImg->nChannels);
    // ·CV_INTER_NN - 最近-邻居插补 // ·CV_INTER_LINEAR - 双线性插值(默认方法) // ·CV_INTER_AREA - 像素面积相关重采样。当缩小图像时,该方法可以避免波纹的出现。当放大图像时,类似于方法CV_INTER_NN。 // ·CV_INTER_CUBIC - 双三次插值。) cvResize( srcImg,detImg,CV_INTER_AREA);
    const char *srcWin="image";//必须是const char*类型 const char* detWin="scaled"; //创建窗口 cvNamedWindow(srcWin,CV_WINDOW_AUTOSIZE); cvNamedWindow(detWin,CV_WINDOW_AUTOSIZE); //在指定窗口中显示图像 cvShowImage(srcWin,srcImg); cvShowImage(detWin,detImg );
    //等待按键事件 cvWaitKey();
    const char *saveName="scaled.jpg"; //保存图片 cvSaveImage(saveName, detImg);
    //不要忘记释放 否则会内存泄露 cvDestroyWindow(srcWin); cvDestroyWindow(detWin); cvReleaseImage(&srcImg); cvReleaseImage(&detImg); return 0; }

    执行结果

  • 相关阅读:
    怎么将java项目打包成双击就可以运行的jar包---fatjar
    hdu 2629 Identity Card (字符串解析模拟题)
    求最远点对,输出距离
    poj 2299 求逆序数
    第九周作业 实现图片压缩
    第八周作业 struts,spring,jpa整合简单测试
    第七周作业 POI操作Excel,world文档
    第七周作业 关于xml问题
    第六周作业 略谈jsp
    第六作业 持久层框架mybatis小记
  • 原文地址:https://www.cnblogs.com/juaner767/p/3627055.html
Copyright © 2011-2022 走看看