美文网首页
OpenCV-图片叠加-模糊-腐蚀-边缘检测

OpenCV-图片叠加-模糊-腐蚀-边缘检测

作者: challenges_79d9 | 来源:发表于2020-07-26 10:58 被阅读0次

OpenCV案例

1.图片叠加

+(UIImage*)opencvImage:(UIImage*)srcImage dst:(UIImage*)dstImage{

    //第一步:准备两种图片

    Mat mat_image_src;

    UIImageToMat(srcImage, mat_image_src);

    Mat mat_image_dst;

    UIImageToMat(dstImage, mat_image_dst);

     //第二步:创建叠加区域->开辟了一块内存空间

    Mat mat_roi = mat_image_src(Rect2i(0, 0, mat_image_dst.cols, mat_image_dst.rows));

    

    //第三步:图片叠加->加水印->合并之后覆盖原来的图片

    //参数一:第一个图片数组

    //参数二:第一个图片数组->权重

    //参数三:第二个图片数组

    //参数四:第二个图片数组->权重

    //参数五:权重和基础之上标量值

    //参数六:输出数组->输出目标

    //dst = src1*alpha + src2*beta + gamma;

    addWeighted(mat_roi, 0, mat_image_dst, 1, 0, mat_roi);

    

    //第四步:将Mat图片->iOS图片

    return MatToUIImage(mat_image_src);

}

+(UIImage*)opencvImageErode:(UIImage*)srcImage{

    //第一步:加载图片

    Mat mat_image_src;

    UIImageToMat(srcImage, mat_image_src);

    

    //案例一:图片腐蚀效果

    //第二步:进行腐蚀操作

    //参数一:腐蚀类型->矩形方式

    //参数二:腐蚀大小->范围(腐蚀单位大小)->腐蚀程度大小

    Mat mat_element = getStructuringElement(MORPH_RECT, Size2i(7, 7));

    //开始腐蚀

    Mat mat_image_dst;

    //参数一:原始图片

    //参数二:腐蚀之后的图片

    //参数三:腐蚀范围

    erode(mat_image_src, mat_image_dst, mat_element);

    

    //案例二:图片模糊效果

//    Mat mat_image_dst;

//    blur(mat_image_src, mat_image_dst, Size2i(10, 10));

    

    //案例三:图片边缘检测

//    //创建和mat_image_src同样大小的OpenCV图片(Mat)

//    Mat mat_image_dst;

//    mat_image_dst.create(mat_image_src.size(), mat_image_src.type());

//

//    //将图片进行灰度处理

//    Mat mat_image_gray;

//    cvtColor(mat_image_src, mat_image_gray, COLOR_BGR2GRAY);

//

//    //使用3*3内核来降噪处理

//    Mat mat_image_edge;

//    blur(mat_image_gray, mat_image_edge, Size2i(3, 3));

//

//    //进行Canny算子处理

//    Canny(mat_image_edge, mat_image_edge, 3, 9, 3);

    

    //第四步:将OpenCV图片->转成iOS图片

    return MatToUIImage(mat_image_dst);

}

相关文章

  • OpenCV-图片叠加-模糊-腐蚀-边缘检测

    OpenCV案例 1.图片叠加 +(UIImage*)opencvImage:(UIImage*)srcImage...

  • OpenCV3-基本数据结构

    先来三个案例: 案例一:图片腐蚀效果 案例二:图片模糊效果 案例三:图片边缘检测 OpenCV基本数据结构 1、学...

  • opencv

    投影变换 使用opencv实现投影变换,对图片进行预处理,灰度转换,高斯模糊,canny边缘检测(找到需要投影的区...

  • Flutter之毛玻璃/模糊效果

    对图片的模糊处理Flutter没有单独的模糊处理容器,需要部件层层叠加实现模糊效果 (图片如有侵权,请联系作者删除...

  • 雨后风景效果图片 - 草稿

    ⒈拖入风景和雨滴图片※※风景智能对象※※※ ⒉模糊风景图片→滤镜 高斯模糊 叠加的方式(雨滴在风景的下面) ⒊输入...

  • 《OpenCV》五、图片腐蚀、膨胀与模糊

    开运算是先腐蚀(erode)后膨胀(dilate)的过程,可以消除图像上细小的噪声,并平滑物体的边界。闭运算是先膨...

  • opencv+python学习记录(二十)边缘检测

    边缘检测包含:Prewitt边缘检测、Sobel边缘检测、Scharr算子、Canny边缘检测、Laplacian...

  • AI知识点-像素预览与轮廓化

    像素预览 AI中,无论将图片放大多少倍,图片的边缘都是整齐的。 但是导出成图片后,要么模糊要么放大后有锯齿边缘。为...

  • OpenCV边缘检测常规步骤

    OpenCV边缘检测 一、基本步骤 1.平滑图像:通过使用合适的模糊半径执行高斯模糊来减少图像内的噪声。 2.计算...

  • 08边缘检测1

    边缘检测实则为图片的卷积运算canny边缘检测:第一步:转换为灰度图第二步:高斯滤波第三步:调用canny方法

网友评论

      本文标题:OpenCV-图片叠加-模糊-腐蚀-边缘检测

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