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