我需要在左边找到肿瘤的位置。在
{1}$
我尝试使用轮廓和精明的边缘检测来检测侧面,但似乎不起作用
# Find Canny edges
edged = cv2.Canny(img, 30, 200)
cv2.waitKey(0)
# Finding Contours
# Use a copy of the image e.g. edged.copy()
# since findContours alters the image
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)))
# Draw all contours
# -1 signifies drawing all contours
cv2.drawContours(img, contours, -1, (0, 255, 0), 3)
一种方法是利用肿瘤颜色较浅的特点进行颜色分割。我们首先提取大脑的ROI以防 大脑与一侧对齐,而不在图像的中心。从这里将图像转换为HSV颜色空间,定义一个较低和较高的颜色范围,然后使用^{} 执行颜色阈值。这将给我们一个二进制掩码。从这里我们只需裁剪蒙版的左右两半,然后使用^{} 计算每边的像素。像素数越高的那一面就是有肿瘤的那一面。在
Otsu阈值
->
检测到大脑ROI->
提取ROI对提取的感兴趣区域进行颜色分割后得到的二值掩模
^{pr2}$
裁剪左右两半
每半像素数
由于左半部有更多的像素,因此肿瘤位于大脑的左半部
完整代码
我使用这个HSV颜色阈值脚本来确定较低和较高的颜色范围
canny
和{相关问题 更多 >
编程相关推荐