【OpenCV 例程200篇】220.对图像进行马赛克处理
文章目录:『youcans 的 OpenCV 例程200篇 - 总目录』
【youcans 的 OpenCV 例程200篇】220.对图像进行马赛克处理
9. 图像的马赛克处理
马赛克效果是广泛使用的图像和视频处理方法。将图像中指定区域的色阶细节劣化,造成色块模糊的效果,看上去像是一个个小格子组成的色块,称为马赛克。马赛克效果的主要目的是使特定区域的细节无法辨认,经常用于遮挡人物脸部、隐私信息。
马赛克的方法很简单,将处理区域划分为一个个小方块,每个小方块内所有像素置为相同的或相似的像素值。例程 A4.13 给出了一个简单的实施案例。
马赛克方块的尺寸越大,图像越模糊,马赛克区域图像丢失的细节越多。
这与图像多尺度像素采样是相似的:图像向下采样,分辨率逐级降低。对整幅图像进行马赛克处理,与图像下采样是等效的;对图像局部进行马赛克处理,相当于原始图像与局部图像下采样的融合。
上采样和下采样是不可逆的,将下采样的图像还原回原来尺寸时会丢失高频信息,使图片变模糊。因此,消除图像马赛克在原理上是不可能的。但是,通过图片像素临近点插值的填充算法,可以增强马赛克区域的视觉效果。近年来,随着 AI 技术的发展,基于对大量类似清晰图像的学习,使用 AI 算法可以较好地还原图像,识别被马赛克遮挡的人脸或文本,取得了很好的效果。
例程 A4.13:对图像指定区域进行马赛克处理
对于选定的 ROI 区域进行马赛克处理。马赛克方块的尺寸越大,图像越模糊,马赛克区域图像丢失的细节越多。
# A4.13 对图像指定区域进行马赛克处理img = cv.imread("../images/imgLena.tif", 1) # 加载原始图片,单通道roi = cv.selectROI(img, showCrosshair=True, fromCenter=False)x, y, wRoi, hRoi = roi # 矩形裁剪区域的位置参数# x, y, wRoi, hRoi = 208, 176, 155, 215 # 矩形裁剪区域imgROI = img[y:y+hRoi, x:x+wRoi].copy() # 切片获得矩形裁剪区域print(x, y, wRoi, hRoi)plt.figure(figsize=(9, 6))plt.subplot(231), plt.title("Original image"), plt.axis('off')plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))plt.subplot(232), plt.title("Region of interest"), plt.axis('off')plt.imshow(cv.cvtColor(imgROI, cv.COLOR_BGR2RGB))mosaic = np.zeros(imgROI.shape, np.uint8) # ROI 区域ksize = [5, 10, 20] # 马赛克块的宽度for i in range(3):k = ksize[i]for h in range(0, hRoi, k):for w in range(0, wRoi, k):color = imgROI[h,w]mosaic[h:h+k,w:w+k,:] = color # 用顶点颜色覆盖马赛克块imgMosaic = img.copy()imgMosaic[y:y + hRoi, x:x + wRoi] = mosaicplt.subplot(2,3,i+4), plt.title("Coding image (size={})".format(k)), plt.axis('off')plt.imshow(cv.cvtColor(imgMosaic, cv.COLOR_BGR2RGB))plt.subplot(233), plt.title("Mosaic"), plt.axis('off')plt.imshow(cv.cvtColor(mosaic, cv.COLOR_BGR2RGB))plt.show()
【本节完】
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125522759)
Copyright 2022 youcans, XUPT
Crated:2022-6-30
218. 多行倾斜文字水印
219. 添加数字盲水印
220.220.对图像进行马赛克处理
【OpenCV 例程200篇】220.对图像进行马赛克处理相关推荐
- 【OpenCV 例程200篇】40. 图像分段线性灰度变换
[OpenCV 例程200篇]40. 图像分段线性灰度变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 分段线性变 ...
- 【OpenCV 例程200篇】74. 图像的抗混叠
[OpenCV 例程200篇]74. 图像的抗混叠 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 2.2 图像的混叠 ...
- 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
[OpenCV 例程200篇]66. 图像滤波之低通/高通/带阻/带通 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...
- 【OpenCV 例程200篇】65. 图像锐化——Scharr 算子
[OpenCV 例程200篇]65. 图像锐化--Scharr 算子 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...
- 【OpenCV 例程200篇】64. 图像锐化——Sobel 算子
[OpenCV 例程200篇]64. 图像锐化--Sobel 算子 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3 ...
- 【OpenCV 例程200篇】63. 图像锐化——Laplacian 算子
[OpenCV 例程200篇]63. 图像锐化--Laplacian 算子 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...
- 【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
[OpenCV 例程200篇]62. 图像锐化--钝化掩蔽 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 空间 ...
- 【OpenCV 例程200篇】52. 图像的相关与卷积运算
[OpenCV 例程200篇]52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是 ...
- 【OpenCV 例程200篇】44. 图像的灰度变换(伽马变换)
[OpenCV 例程200篇]44. 图像的灰度变换(伽马变换) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 线性 ...
- 【OpenCV 例程200篇】45. 图像的灰度直方图
[OpenCV 例程200篇]45. 图像的灰度直方图 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像直方图是反 ...
最新文章
- [bzoj1582][Usaco2009 Hol]Holiday Painting 节日画画_线段树
- Nature综述: 蓝藻水华的形成机理及防治动态
- vue-router 的基本使用
- python应用程序类型_python – 类型提示条件可变参数应用程序
- c语言对c99标准声明,C语言中C89与C99的区别
- 浅析NVR主流芯片方案
- web前端开发初学者十问集锦(5)
- python3序列化_python3 json序列化问题
- python np数组中括号里面‘:n‘与‘n:‘什么意思
- BUCK电路中,输入电压增加后,电感电流曲线变化的推导 // 《精通开关电源设计》P44 图2-3
- 软件工程案例-仓库管理系统简单版
- python实现素数判断
- (转)SonicStage CP 4.3 中文迷你版和完整版下载
- DOS基础使用专题(强烈推荐)2
- 关于码距、检错、纠错
- Polygon zkEVM——Hermez 2.0简介
- 【Matlab图像去噪】改进非局部均值红外图像混合噪声【含源码 1640期】
- UR_RTDE 在Linux安装与使用过程中遇到 一些坑
- 百度手游虚拟服务器,百度发布“云手机”:可实现安卓App的云端运行
- 【转】Tesla Autopilot
热门文章
- win32简单只读文件程序
- 经典Java题目:输入一个数字,输出它的大写汉字(阿拉伯数字转汉字)
- 数字化转型进行时 | 区块链赋能政务数字化研讨会在零数科技举办
- 程序员如何进行用户界面设计
- 【新能源】新能源之锂电池产业链梳理
- Fremont弗里蒙特_US机房测速
- 模数转换器ADC的常用术语和主要技术s指标(完)
- android apn切换工具,Android修改和添加APN网络
- Oracle账号怎么注销,qq账号如何永久注销?qq账号永久注销的条件以及详细操作方法...
- CSS尺寸与文本讲解。HTML、CSS笔记(四)。