从乳腺X射线摄影图像中去除字母伪像

问题描述

我想使用python从乳房X光检查中去除字母假象“ L:CC and Strin”。我该怎么办呢?这是我的照片

解决方法

这是在Python / OpenCV中执行此操作的一种方法。

  • 阅读输入内容
  • 转换为灰度
  • 阈值
  • 扩张为面膜
  • 应用遮罩将白色字母更改为黑色
  • 保存结果

import cv2
import numpy as np

# read image
img = cv2.imread('mammogram_letters.png')

# convert to gray
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# create mask
thresh = cv2.threshold(gray,247,255,cv2.THRESH_BINARY)[1]

# dilate mask
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))
mask = cv2.morphologyEx(thresh,cv2.MORPH_DILATE,kernel)

# apply change
result = img.copy()
result[mask == 255] = (0,0)

# save result
cv2.imwrite("mammogram_letters_thresh.png",thresh)
cv2.imwrite("mammogram_letters_mask.png",mask)
cv2.imwrite("mammogram_letters_blackened.png",result)

# show results
cv2.imshow("THRESH",thresh)
cv2.imshow("MASK",mask)
cv2.imshow("RESULT",result)
cv2.waitKey(0)

阈值图像:

enter image description here

蒙版图像:

enter image description here

结果:

enter image description here

,

您必须获取包含test的框的像素坐标,如果它们始终相同,我的代码将起作用。

    from PIL import Image
    im = Image.open('SqbIx.png')
    img =im.load()
    for i in range (73,116):
            for j in range (36,57):
                img[i,j]= (0,0)
    im.save('mod.png')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...