首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Python中的OpenCV保留血管信息的同时,需要帮助去除血管提取中的盐和胡椒噪声

在使用Python中的OpenCV保留血管信息的同时,需要帮助去除血管提取中的盐和胡椒噪声
EN

Stack Overflow用户
提问于 2019-06-18 03:12:49
回答 1查看 284关注 0票数 2

我目前正在尝试从眼睛的图像中提取血管。到目前为止,我已经能够显示血管,但图像周围仍然有大量的噪音-似乎是盐和胡椒的噪音。我想试着突出显示更多的血管,这样只会出现它们。我目前在Python语言中使用OpenCV。

我尝试过使用不同类型的模糊,比如中间模糊。我也尝试了打开、关闭、扩张和侵蚀,但噪音仍然存在。我不确定下一步会是什么。

下面是我的代码:

代码语言:javascript
复制
r = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
threshold=cv2.adaptiveThreshold(r, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 91, 2.)
ret,f6 = cv2.threshold(threshold,0,250,cv2.THRESH_BINARY)

morph_img = cv2.morphologyEx(f6, cv2.MORPH_CLOSE, kernel)
imagem = cv2.bitwise_not(morph_img)
imagem2 = cv2.bilateralFilter(imagem,9,55,55)
imagem3 = cv2.medianBlur(imagem2,5)
imagem3 = cv2.bilateralFilter(imagem3,7,55,55)
imagem3 = cv2.dilate(imagem3,kernel,iterations=5)
imagem3 = cv2.medianBlur(imagem3,5)

return imagem3

我只想看看黑屏上的血管。它需要让血管也是连续的。

这是我能够生成的当前图像:

原始图像

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 03:36:07

让我猜猜青光眼检测?我认为对于一个特定的任务,你必须找到合适的方法的特定的论文

adaptiveThreshold可能不是一个好的选择。考虑其他方法的变化,如以干净的黑白血管作为共同图的共同分割。或活动轮廓模型或变分能量模型。其他的更常用于这类分割工作中。

如果你只是想要一些后处理过滤器。如您所说,对于盐和纸张噪声,通常应采用非线性滤波器,如中值滤波器

最近有一个指导过滤器,它应该对你的情况也有帮助。您可以定义您的指南。但我怀疑这是后处理过滤器问题。很有可能你的原始分割结果真的非常糟糕

去谷歌搜索ASTAR青光眼检测分割,你会有一系列的论文可以遵循。他们告诉我,至少在2014年,ASTAR是这一系列研究工作的带头人。我像在2012-2014年一样参加了他们的讲座。过了这么久,我也没再做这件事。当时他们使用的是活动轮廓模型,如Snake能量函数。现在他们正在转向基于纯深度学习的方法。您可以联系他们获取试用版源代码。

深度学习是一种更简单的方法,只需提供输入和您想要的东西。它可以为你带来。开始时,您可以从Vgg16开始,然后慢慢改进。

祝你好运,并享受图像分割的乐趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56637518

复制
相关文章

相似问题

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