首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么inpaint方法不能从IC图像中移除文本?

为什么inpaint方法不能从IC图像中移除文本?
EN

Stack Overflow用户
提问于 2020-03-03 15:21:42
回答 1查看 749关注 0票数 2

我试图遮盖IC上的标记,但来自OpenCV的inpaint方法不能正常工作。

左边的图像是原始图像(裁剪ROI后)。中间的图像是我通过阈值处理生成的蒙版。正确的图像是修复方法的结果。

这是我所做的:

代码语言:javascript
运行
复制
mask = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY)[1]
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_NS)

我尝试了修复方法的第三个参数,但它没有什么用处。

我在这里看到了一个问题,其中有人使用了完全相同的方法,他也有一个黑暗的图像,其中的对比度没有那么明显。我还尝试了修复算法,Telea和NS。

这里的问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-03 16:02:44

主要是扩展用于修复的mask。此外,增大inpaint半径会产生稍微好一点的结果。

这就是我的建议:

代码语言:javascript
运行
复制
import cv2
from matplotlib import pyplot as plt

# Read image
img = cv2.imread('ic.png', cv2.IMREAD_GRAYSCALE)

# Binary threshold image
mask = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY)[1]

# Remove small noise
inp_mask = cv2.morphologyEx(mask,
                            cv2.MORPH_OPEN,
                            cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5)))

# Dilate mask
inp_mask = cv2.dilate(inp_mask,
                      cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (15, 15)))

# Inpaint
dst = cv2.inpaint(img, inp_mask, 15, cv2.INPAINT_NS)

# Show results
plt.figure(1, figsize=(10, 10))
plt.subplot(2, 2, 1), plt.imshow(img, cmap='gray'), plt.title('Original image')
plt.subplot(2, 2, 2), plt.imshow(mask, cmap='gray'), plt.title('Thresholded image')
plt.subplot(2, 2, 3), plt.imshow(inp_mask, cmap='gray'), plt.title('Inpaint mask')
plt.subplot(2, 2, 4), plt.imshow(dst, cmap='gray'), plt.title('Inpainted image')
plt.tight_layout()
plt.show()

这就是输出:

希望这能有所帮助!

代码语言:javascript
运行
复制
----------------------------------------
System information
----------------------------------------
Platform:    Windows-10-10.0.16299-SP0
Python:      3.8.1
Matplotlib:  3.2.0rc3
OpenCV:      4.2.0
----------------------------------------
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60501986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档