OpenCV 高级 001-图像修复

发布时间:2026/11/6 7:34:28

OpenCV 高级 001-图像修复 importcv2importmatplotlib.pyplotasplt plt.rcParams[font.family][Microsoft JhengHei]lisacv2.imread(comeERR.jpg)ret,maskcv2.threshold(lisa,200,255,cv2.THRESH_BINARY)# mask处理, 适度增加要处理的表面kernalcv2.getStructuringElement(cv2.MORPH_RECT,(3,3))maskcv2.dilate(mask,kernal)dstcv2.inpaint(lisa,mask[:,:,-1],5,cv2.INPAINT_NS)# 输出执行结果lisa_rgbcv2.cvtColor(lisa,cv2.COLOR_BGR2RGB)# 将BGR转RGBmask_rgbcv2.cvtColor(mask,cv2.COLOR_BGR2RGB)# 将BGR转RGBdst_rgbcv2.cvtColor(dst,cv2.COLOR_BGR2RGB)# 将BGR转RGBplt.subplot(131)plt.title(原始图像)plt.imshow(lisa_rgb)plt.axis(off)plt.subplot(132)plt.title(Mask图像)plt.imshow(mask_rgb)plt.axis(off)plt.subplot(133)plt.title(图像修复结果)plt.imshow(dst_rgb)plt.axis(off)plt.show()结果:如果背景图与涂鸦颜色相差较大就需要使用 cv2.THRESH_TOZERO_INV对比下THRESH_BINARYimportcv2importmatplotlib.pyplotasplt plt.rcParams[font.family][Microsoft JhengHei]lisacv2.imread(comeTest.jpg)# lisa cv2.imread(part.png)ret,maskcv2.threshold(lisa,180,255,cv2.THRESH_BINARY)# ret, mask cv2.threshold(lisa, 40, 255, cv2.THRESH_TOZERO_INV)# mask处理, 适度增加要处理的表面kernalcv2.getStructuringElement(cv2.MORPH_RECT,(3,3))maskcv2.dilate(mask,kernal)dstcv2.inpaint(lisa,mask[:,:,-1],5,cv2.INPAINT_NS)# 输出执行结果lisa_rgbcv2.cvtColor(lisa,cv2.COLOR_BGR2RGB)# 将BGR转RGBmask_rgbcv2.cvtColor(mask,cv2.COLOR_BGR2RGB)# 将BGR转RGBdst_rgbcv2.cvtColor(dst,cv2.COLOR_BGR2RGB)# 将BGR转RGBplt.subplot(131)plt.title(原始图像)plt.imshow(lisa_rgb)plt.axis(off)plt.subplot(132)plt.title(Mask图像)plt.imshow(mask_rgb)plt.axis(off)plt.subplot(133)plt.title(图像修复结果)plt.imshow(dst_rgb)plt.axis(off)plt.show()结果:THRESH_TOZERO_INVimportcv2importmatplotlib.pyplotasplt plt.rcParams[font.family][Microsoft JhengHei]lisacv2.imread(comeTest.jpg)# lisa cv2.imread(part.png)# ret, mask cv2.threshold(lisa, 180, 255, cv2.THRESH_BINARY)ret,maskcv2.threshold(lisa,45,255,cv2.THRESH_TOZERO_INV)# mask处理, 适度增加要处理的表面kernalcv2.getStructuringElement(cv2.MORPH_RECT,(3,3))maskcv2.dilate(mask,kernal)dstcv2.inpaint(lisa,mask[:,:,-1],5,cv2.INPAINT_NS)# 输出执行结果lisa_rgbcv2.cvtColor(lisa,cv2.COLOR_BGR2RGB)# 将BGR转RGBmask_rgbcv2.cvtColor(mask,cv2.COLOR_BGR2RGB)# 将BGR转RGBdst_rgbcv2.cvtColor(dst,cv2.COLOR_BGR2RGB)# 将BGR转RGBplt.subplot(131)plt.title(原始图像)plt.imshow(lisa_rgb)plt.axis(off)plt.subplot(132)plt.title(Mask图像)plt.imshow(mask_rgb)plt.axis(off)plt.subplot(133)plt.title(图像修复结果)plt.imshow(dst_rgb)plt.axis(off)plt.show()黑色像素值较小涂鸦 用 THRESH_TOZERO_INV 效果较好像素值较大 涂鸦 用 THRESH_BINARY 效果较好
延伸阅读

更多相关文章

2026/11/6 7:34:28

02:奇数单增序列

/*** 题目名称&#xff1a;奇数单增序列 <p>* 题目来源&#xff1a;http://noi.openjudge.cn/ch0110/02/ <p>* 程序功能&#xff1a;按升序输出指定整数序列中的奇数** author 潘磊&#xff0c;just_panleijust.edu.cn* version 1.0*/import java.util.List; impor…

2026/11/6 7:34:28

高阶数据结构(C++)

一、并查集 1.并查集原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个 单元素集合&#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一 个元素归属于那个集合的运算。适…

2026/11/6 7:34:28

CSDN Markdown 写作指南:代码块、公式、表格与常见排版错误

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 8:29:34

懂个锤子Vue VueRouter路由深入浅出

VueRouter路由深入浅出 VueRouter 介绍&#xff1a; Vue Router 是 Vue.js官方的路由管理器&#xff1a; 极大地简化了在 单页面应用程序 SPA-Single Page Application&#xff1a; 中构建导航和页面切换的复杂性&#xff1b; 单页面应用程序 SPA 单页面应用程序SPA&#…

2026/11/6 8:29:34

如何给 macOS 应用接入自动更新:Sparkle 完整集成与避坑指南

如何给 macOS 应用接入自动更新&#xff1a;Sparkle 完整集成与避坑指南 【免费下载链接】Sparkle A software update framework for macOS 项目地址: https://gitcode.com/gh_mirrors/sp/Sparkle Sparkle 是 macOS 平台广泛使用的开源自动更新框架&#xff1a;负责检查…

2026/11/6 8:24:33

STM32底层启动与硬件时序实战:从复位向量到PWM波形精控

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代&#xff0c;基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而&#xff0c;与配合度高的人类不同&#xff0c;宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态&#xff0c;更无法控制光照环境。实际应用中&#xff0c;我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 1:03:39

MCU晶振电路设计全解析:从负载电容计算到PCB布局调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代&#xff0c;基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而&#xff0c;与配合度高的人类不同&#xff0c;宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态&#xff0c;更无法控制光照环境。实际应用中&#xff0c;我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑