投稿

ラベル(アノテーション)が付いた投稿を表示しています

肺癌のレントゲン画像から特徴量を抽出するPythonコードの例

以下に、肺のレントゲン画像から特徴量を抽出する具体的なPythonコード例を提供します。OpenCV、scikit-image、およびscikit-learnを使用した伝統的な画像処理アプローチと、PyTorchを使用した深層学習アプローチの両方を示します。 ### 1. 伝統的な画像処理による特徴量抽出 ```python import cv2 import numpy as np from skimage import feature, measure from skimage.filters import gabor import mahotas def extract_features(image_path): # 画像の読み込みと前処理 image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE) image = cv2.resize(image, (256, 256)) # サイズ統一 image = cv2.equalizeHist(image) # ヒストグラム均等化 # 特徴量を格納する辞書 features = {} # 1. 形状特徴 (腫瘍領域が既にセグメントされていると仮定) _, binary = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU) contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) if len(contours) > 0: largest_contour = max(contours, key=cv2.contourArea) area = cv2.contourArea(largest_contour) perimeter = cv2.arcLength(largest_contour, True) features['area'] = area features['perimeter']...