Yuan天空
Yuan天空
  • 我的主页
  • 博客随笔
  • 软件作品
    • TK精灵(进程守护)
    • 远程运维助手
    • DicomStoreSCU
    • TKOCR(离线OCR)
    • 更多...
  • 学习资源
  • 网址收藏
  • HTML模板
一个不专业的.NET开发者博客
  1. 主页
  2. 博客
  3. 发布页

.NET C#使用OpenCVSharp3实现图片马赛克效果

OpenCVSharp马赛克效果
OpenCVSharp 2021-06-21 137

首先Nuget引用开源包(本文使用的是OpenCVSharp3(目前已停止维护)) 如图所示

C#使用OpenCVSharp3实现图片马赛克效果

实现马赛克的代码如下 (网上也挺多)

            string path = System.IO.Path.Combine("d://", "msk.jpg");
            Mat _mat = Cv2.ImRead(path);
            Mat mat = _mat.Clone();
           ///马赛克方块大小 单位 像素
            int msk_size = 10;
            for (int j = 0; j < mat.Height; j++)
            {
                for (int i = 0; i < mat.Width; i++)
                {
                    if (j > 0 && j % msk_size == 0 && i > 0 && i % msk_size == 0)
                    {
                        for (int a = 0; a < msk_size; a++)
                        {
                            for (int b = 0; b < msk_size; b++)
                            {
                                if (j + a < mat.Height && i + b < mat.Width)
                                {
                                    Vec3b vec3B = mat.At<Vec3b>(j, i);
                                    mat.Set<Vec3b>(j + a, i + b, vec3B);
                                }
                            }
                        }
                    }
                }
            }

            Cv2.ImShow("马赛克处理前", _mat);
            Cv2.ImShow("马赛克处理后", mat);
            Cv2.WaitKey();

马赛克效果处理前后对比

C#使用OpenCVSharp3实现图片马赛克效果

相关文章推荐
01. OpenCVSharp实现获取两张图片的相似度百分比数值
02. OpenCVSharp如何实现图片裁剪和图片缩放Bitmap图像
03. OpenCVsharp实现提取文本区域检测 来提取图片中的文本区域坐标
问题反馈/学习建议
1. 文明上网,理性表达,营造舒适的学习氛围
2. 请不要反馈提交与本页主题无关内容
相关资源推荐
01. C#基于OpenCVSharp实现图片对比相似度百分比源码下载
02. .NET csharp医疗胶片患者识别号文字区域检测例子