如何使用开放式简历在脑瘤上绘制矩形?

时间:2019-04-24 09:36:47

标签: python image opencv image-processing boundary

enter image description here

我想在我的脑肿瘤图像数据集上绘制绿色的矩形或边界框,以突出显示图像中的肿瘤。最短的方法是什么?我不想分割肿瘤。

我尝试过使用openev绘制矩形函数,但是它不起作用。我也发现了Active Contour和Canny算法,但这还是行不通的。

image

    import cv2 
    import numpy as np 
    image = cv2.imread('12.png')
    cv2.imshow('Input Image', image) 
    cv2.waitKey(0) 
    gray =cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    # Canny Edges edged = cv2.Canny(gray, 30, 200) 
    # cv2.imshow('Canny Edges', edged) 
    # cv2.waitKey(0)

    _, contours, hierarchy = cv2.findContours(edged, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 
    cv2.imshow('Canny Edges after Contouring',edged) 
    cv2.waitKey(0) 
    print("Number of contours found = " +str(len(contours))) 
    cv2.drawContours(image, contours, -1, (0, 255, 0),3) 
    cv2.imshow('Contours', image) 
    cv2.waitKey(0)
    cv2.destroyAllWindows()

我希望肿瘤部分应该在整个图像中处于一个盒子中,图像区域的其余部分应该与我的实际大脑图像相同。通过简单的代码而不是整个算法,只需在肿瘤部分周围放一个绿色框即可。

1 个答案:

答案 0 :(得分:0)

基于对此答案的评论,我更新了答案,我认为这仍然是深度学习问题,但种类不同。

如果您需要沿肿瘤轮廓分割肿瘤,一种方法可以是Mask R-CNN(1)(您可以阅读2017年发表的原始论文)。这种方法可以沿轮廓进行图像分割。 Here您可以找到该方法的示例实现。

据我所见,您必须处理灰度图像,并且可能难以通过简单方法将肿瘤从场景的其余部分分割开,在这里我同意@BahramdunAdil的观点。因此,我怀疑培训可能需要大量的数据和时间。

祝你好运!

(1)何凯明等。 “面具r-cnn”。 IEEE计算机视觉国际会议论文集。 2017。