OpenCV for iOS 学习笔记(十二)—— 使用OpenCV合成两张图片(不同大小像素)(二)



  • 效果图
    效果图

  • 源码(合成不同大小的图片)(先前合成同样大小

    Mat image, logo, mask;
    UIImage *img1 = [UIImage imageNamed:@"b.jpg"];
    UIImageToMat(img1, image);
    UIImage *img2 = [UIImage imageNamed:@"55.png"];
    UIImageToMat(img2, logo);
    UIImageToMat(img2, mask, 0);
    Mat imageROI;
    imageROI = image(cv::Rect(0, 0, logo.cols, logo.rows)); // 这里是第二张图放到第一张图的位置 (x, y, logo.cols, logo.rows)
    logo.copyTo(imageROI, mask);
    _imageView.image = MatToUIImage(image);
    
    注意:第二张图(logo:猫)的像素<=(必须满足)第一张(image:背景花)像素,且logo.x + logo.cols <= image.cols && logo.y + logo.rows <= image.rows,这里logo和image是源码中对应的logo和image
  • 查看源码与原图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容