我想在我的脑肿瘤图像数据集上绘制绿色的矩形或边界框,以突出显示图像中的肿瘤。最短的方法是什么?我不想分割肿瘤。
我尝试过使用openev绘制矩形函数,但是它不起作用。我也发现了Active Contour和Canny算法,但这还是行不通的。
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()
我希望肿瘤部分应该在整个图像中处于一个盒子中,图像区域的其余部分应该与我的实际大脑图像相同。通过简单的代码而不是整个算法,只需在肿瘤部分周围放一个绿色框即可。
答案 0 :(得分:0)
基于对此答案的评论,我更新了答案,我认为这仍然是深度学习问题,但种类不同。
如果您需要沿肿瘤轮廓分割肿瘤,一种方法可以是Mask R-CNN(1)(您可以阅读2017年发表的原始论文)。这种方法可以沿轮廓进行图像分割。 Here您可以找到该方法的示例实现。
据我所见,您必须处理灰度图像,并且可能难以通过简单方法将肿瘤从场景的其余部分分割开,在这里我同意@BahramdunAdil的观点。因此,我怀疑培训可能需要大量的数据和时间。
祝你好运!
(1)何凯明等。 “面具r-cnn”。 IEEE计算机视觉国际会议论文集。 2017。