zoukankan      html  css  js  c++  java
  • openCV(三)---图像缩放

      

    UIImage *img1 = [UIImage imageNamed:@"1448941176867"];

    //将UIImage转换为IplImage格式

    IplImage *pimage = [self convertToIplImage:img1];

    //缩放图片

    //比例值

    float fScale = 0.4; 

    CvSize cvsize;

    cvsize.width = pimage->width * fScale;

    cvsize.height = pimage ->height * fScale;

    //创建输出图像

    IplImage *outImage = cvCreateImage(cvsize, pimage->depth, pimage->nChannels);

    //缩放图像

    cvResize(pimage, outImage);

    //将IplImage图像转换为UIImage

    UIImage *img = [self convertToUIImage:outImage];

    self.imgView.image = img;

    //释放图片内存

    cvReleaseImage(&pimage);

    cvReleaseImage(&outImage);

    上边代码是用IplImage来实现的图片缩放,可以手动管理图片内存的释放。

    下边这段代码是用Mat来实现的图片缩放

        cv::Mat matImage = [self cvMatFromUIImage:img1];
        
        float fScale = 0.1;
        cv::Mat outImage;
        cv::resize(matImage, outImage, cvSize(matImage.cols * fScale, matImage.rows * fScale));
        
        UIImage *img2 = [self UIImageFromCVMat:outImage];
        self.imgView.image = img2;

    cv::resize方法可以用来调用图片的size。

    获取Mat格式的图片宽高可以用matImage.cols和matImage.rows来获取。分别表示像素矩阵的列和行,列数相当于宽,行数相当于高。

    关于UIImage和IplImage的相互转换,参考我的另一个随笔

    http://www.cnblogs.com/iOSDeng/p/5081588.html

  • 相关阅读:
    中断解析
    中断分类
    中断分类
    在iOS开发中使用FMDB
    大数据权限授权管理框架:Apache Sentry和Ranger
    Flink FileSystem的connector分析
    Flink FileSystem的connector分析
    Flink JobManager的HA原理分析
    Flink JobManager的HA原理分析
    Flink的State概述
  • 原文地址:https://www.cnblogs.com/iOSDeng/p/5082562.html
Copyright © 2011-2022 走看看