医工互联

 找回密码
 注册[Register]

手机动态码快速登录

手机号快速登录

微信登录

微信扫一扫,快速登录

QQ登录

只需一步,快速开始

查看: 106|回复: 0
收起左侧

食管内镜图像预处理-生成掩膜图像mask

[复制链接]

  离线 

发表于 2023-2-22 04:41:12 | 显示全部楼层 |阅读模式 <
食管内镜图像预处理-生成掩膜图像

消化内镜图像分析需要首先获取 ROI 感兴趣区,这样在后续的处理中能有效避免 ROI 区域外的像素的影响,降低运算的复杂度。

前言

选取食管内镜图像最能反映光照情况的红色通道灰度图进行处理,包括两步:
1、阈值二值化处理和形态学运算。
2、最大区域的空洞填充,小连通区域去除。
通过利用食管内镜图像的红色通道做了mask 掩膜图,得到满意的结果。

处理代码如下:
  1. # 提取食管内镜图像的掩膜
  2. import cv2
  3. import numpy as np
  4. # 红色通道二值化
  5. def get_mask(img_red, T):
  6.     # 以像素值20为阈值二值化图像
  7.     ret, img_threshold = cv2.threshold(img_red, T, 255, cv2.THRESH_BINARY)
  8.     # 创建半径为3的圆形结构元素做kernel
  9.     kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 9))
  10.     # 对ROI区进行开运算,去除图像中的文字区域
  11.     img_erode = cv2.erode(img_threshold, kernel, iterations=1)
  12.     img = cv2.dilate(img_erode, kernel, iterations=1)
  13.     return img
  14. path = r'D:\research\data\WLI\568.jpg'
  15. img_ori = cv2.imread(path)
  16. # 分离通道
  17. b, g, r = cv2.split(img_ori)
  18. # 获得红色通道的掩膜图
  19. img_red_mask = get_mask(r, 20)
  20. # 找出二值化图的边界
  21. _, contours, hierarchy = cv2.findContours(img_red_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
  22. # 找到最大区域并填充
  23. area = []
  24. for i in range(len(contours)):
  25.     area.append(cv2.contourArea(contours[i]))
  26.     if area[i] < 1e5:
  27.         # 去除小区域
  28.         cv2.drawContours(img_red_mask, [contours[i]], 0, 0, -1)
  29. max_idx = np.argmax(area)
  30. cv2.fillConvexPoly(img_red_mask, contours[max_idx], 255)
  31. # 显示掩膜图像
  32. cv2.imshow('redm', img_red_mask)
  33. cv2.waitKey(0)
  34. cv2.destroyAllWindows()
  35. # 保存掩膜图
  36. cv2.imwrite('./mask/1_mask.png', img_red_mask)
复制代码
2.读入数据

结果1:
原始图像:
1.jpeg

处理后:
2.png

结果2:
原始图像:
3.jpeg

处理后:
4.png


总结

显示结果2,主要是因为图像下缘有非目标区域的条状,所以程序中的以下语句就是为了解决此类图像。
  1. if area[i] < 1e5:
  2.     # 去除小区域
  3.     cv2.drawContours(img_red_mask, [contours[i]], 0, 0, -1)
复制代码
来源:https://blog.csdn.net/ZhuiMengLQG/article/details/109486352
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!
您需要登录后才可以回帖 登录 | 注册[Register] 手机动态码快速登录 微信登录

本版积分规则

发布主题 快速回复 收藏帖子 返回列表 客服中心 搜索
简体中文 繁體中文 English 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

QQ|RSS订阅|小黑屋|处罚记录|手机版|联系我们|Archiver|医工互联 |粤ICP备2021178090号 |网站地图

GMT+8, 2024-9-20 01:15 , Processed in 0.247867 second(s), 63 queries .

Powered by Discuz!

Copyright © 2001-2023, Discuz! Team.

快速回复 返回顶部 返回列表