美文网首页iOS 开发每天分享优质文章iOS程序猿IOS
OpenCV for iOS 学习笔记(十四)—— 给图像添加边

OpenCV for iOS 学习笔记(十四)—— 给图像添加边

作者: FLNuo | 来源:发表于2016-10-25 15:01 被阅读222次


    • 处理效果

    效果展示
    • 函数解析(copyMakeBorder

      void copyMakeBorder(InputArray src,   // 原图
                          OutputArray dst,  // 处理结果
                          int top,          // 上边界高
                          int bottom,       // 下边界高
                          int left,         // 左边界宽度
                          int right,        // 右边界宽度
                          int borderType,   // 边界类型
                          const Scalar& value = Scalar() ); // 填充边界像素
      
    • 源码

    • 源码片段
      需要用到的变量声明
      Mat src_CMB, dst_CMB; // 像素矩阵声明
      int top, bottom, left, right; // 边距声明
      int borderType; // 边界类型
      Scalar value; // 边界填充颜色
      RNG rng(12345); // 随机发生器
      获取图像
      UIImage *img = [UIImage imageNamed:@"6_S"];
      UIImageToMat(img, src_CMB);
      初始化参数
      /// 初始化输入参数
      top = (int)(0.3 * src_CMB.rows); // 上
      bottom = (int)(0.3 * src_CMB.rows); // 下
      left = (int)(0.3 * src_CMB.cols); // 左
      right = (int)(0.3 * src_CMB.cols); // 右

       borderType = BORDER_CONSTANT;  // 赋值图像类型(可common+左键查看API)
       
       value = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));  // 随机产生填充颜色
      

      载入边框
      copyMakeBorder(src_CMB, dst_CMB, top, bottom, left, right, borderType, value);
      UIImage *imge = MatToUIImage(dst_CMB); // 转换成UIImage对象
      创建了一个定时器,实现边框颜色的自动调整
      NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer:) userInfo:nil repeats:YES];
      [timer fire];
      NSTimer Action
      - (void)timer:(NSTimer *)timer {
      // 计算颜色
      value = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
      // 加入边框
      copyMakeBorder(src_CMB, dst_CMB, top, bottom, left, right, borderType, value);
      _imageView.image = MatToUIImage(dst_CMB);
      }

    • 效果展示

    效果展示

    相关文章

      网友评论

        本文标题:OpenCV for iOS 学习笔记(十四)—— 给图像添加边

        本文链接:https://www.haomeiwen.com/subject/rjrhuttx.html