Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从乳腺摄影图像中去除字母伪影_Python_Opencv_Artifacts - Fatal编程技术网

Python 从乳腺摄影图像中去除字母伪影

Python 从乳腺摄影图像中去除字母伪影,python,opencv,artifacts,Python,Opencv,Artifacts,我想使用python从乳腺钼靶摄影中删除字母伪影“L:CC和Strin”。我怎样才能做到?这是我的形象 您必须获得包含测试的框的像素坐标,如果它们始终相同,我的代码将起作用 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[

我想使用
python
从乳腺钼靶摄影中删除字母伪影“L:CC和Strin”。我怎样才能做到?这是我的形象


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

    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, 0)
    im.save('mod.png')

在Python/OpenCV中有一种方法可以做到这一点

  • 读取输入
  • 转换为灰度
  • 门槛
  • 像面具一样扩张
  • 应用遮罩将白色字母更改为黑色
  • 保存结果


阈值图像:

遮罩图像:

结果:


欢迎来到SO!到目前为止你试过什么?您可以添加一些代码吗?如果字母是完全白色(255255),并且图像中没有其他像素是完全白色的,那么只需通过阈值化将白色变为黑色,找到白色像素并将其用作遮罩即可<代码>图像[mask=255]=(0,0,0)字母的强度也不同。不完全是白色的。谢谢你的帮助。在所有图像中,瑕疵都位于不同的位置
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,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)