[Medical Image] 皮肤镜图片毛发去除
1 皮肤镜毛发去除的目的#
根据皮肤镜图片对皮肤病变种类进行分类是一个常规的研究话题,在深度学习时代,会将标注好的数据进行训练,学习皮肤病变的特征,而图片中常常会有毛发干扰,这是我们不需要的特征,也不希望网络学习到这个特征,因此在数据预处理阶段,可以使用一些传统图像处理算法对图像进行处理。
2 方法#
- 首先将图像转为灰度
- 定义一个十字的kernel,对灰度图进行黑帽(形态学)操作
- 利用阈值分割得到mask
- 利用opencv的inpaint方法对图像修复
3 代码#
import cv2
def DHR(imgpath,outpath):
src = cv2.imread(imgpath)
grayScale = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY )
cv2.imwrite("grey.jpg",grayScale)
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(10,10))
blackhat = cv2.morphologyEx(grayScale, cv2.MORPH_BLACKHAT, kernel)
cv2.imwrite("blackhat.jpg",blackhat)
ret,thresh2 = cv2.threshold(blackhat,10,255,cv2.THRESH_BINARY)
cv2.imwrite("threshold.jpg",thresh2)
dst = cv2.inpaint(src,thresh2,1,cv2.INPAINT_TELEA)
cv2.imwrite(outpath, dst, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
4 结果#
依次是原图、灰度图、黑帽操作、mask、利用mask图像修复





作者:芒果和小猫
出处:https://www.cnblogs.com/WAoyu/p/12089192.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律