3
我試圖在Open CV中用斑點檢測來識別腦腫瘤,但迄今爲止,Open CV僅檢測腦部MRIs中的微小圓圈,但從未檢測到腫瘤本身。打開簡歷(Python) - 腦腫瘤異常形狀斑點檢測
下面的代碼:
import cv2
from cv2 import SimpleBlobDetector_create, SimpleBlobDetector_Params
import numpy as np
# Read image
def blobber(filename):
im = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
# Set up the detector with default parameters.
detector = cv2.SimpleBlobDetector_create()
params = cv2.SimpleBlobDetector_Params()
# Filter by Area.
params.filterByArea = True
params.minArea = 50
# Filter by Circularity
params.filterByCircularity = True
params.minCircularity = 0
# Filter by Convexity
params.filterByConvexity = True
params.minConvexity = 0.1
# Create a detector with the parameters
ver = (cv2.__version__).split('.')
if int(ver[0]) < 3 :
detector = cv2.SimpleBlobDetector(params)
else :
detector = cv2.SimpleBlobDetector_create(params)
# Detect blobs.
keypoints = detector.detect(im)
# Draw detected blobs as red circles.
# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size of blob
im_with_keypoints = cv2.drawKeypoints(im,keypoints,np.array([]),(0,0,255),cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
# Show keypoints
cv2.imshow("Keypoints", im_with_keypoints)
cv2.waitKey(0)
這裏的時候我喂程序AB的圖像/ W對比腦(我對比使大腦的腫瘤會出現在黑色發生了什麼,以及大腦的休息將大多是白色的):
腫瘤不是一個完美的圓形,無論如何,但它顯然是大腦中最大的「斑點」。打開簡歷無法拿起它,我懷疑是因爲它有一個黑色的外殼和一個白色的核心。
只有當我選擇一個更容易分辨腫瘤,沒有一個大的白色內芯,可以將它拿起腫瘤。
有什麼建議嗎?我需要能夠從原始圖片中剝離這些斑點(一旦它們準確工作),並使用它們的關鍵點從每個切片中的2D腫瘤中重建大腦中的整個3D腫瘤。我離這一步有點遠,但這個斑點檢測器問題是2D和3D之間的關鍵環節。感謝所有幫助!
我不是醫生,但你能上傳另一張圖片說明腫瘤的位置? –
你的意思是像腫瘤醫生對腫瘤位置的註釋?如果這就是你的意思,我無法爲這組MR掃描找到它。 –
您可以嘗試不同的方法,而不是使用二進制圖像... –