日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv用于医学图像分割

發(fā)布時間:2023/12/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv用于医学图像分割 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

初衷

最近比較閑,跟同學聊天講到他的課題:醫(yī)學圖像分割,提取左心室區(qū)域。

我就好奇要了原始圖片,發(fā)現超聲圖像果然比紅外圖像分辨率低,他指給我左心室所在區(qū)域。

思路

拿到這張圖第一眼,腦海里蹦出無數個小想法:

  • 感興趣區(qū)域為一個扇形,所以首先制作掩模;
  • 這種灰度分級模糊的圖像,若想分類,可以試試Kmeans,或者直接用閾值分割;
  • 后續(xù)可以分析特征,通過邊界跟蹤一類得到。

具體流程

  • 1、原圖通過k_means二分類,并得到二值分割圖;
  • 2、形態(tài)學處理將粘連區(qū)域拆分,去除連通區(qū)域內部空洞;
  • 3、掩模后只保留扇形內數據;
  • 4、提取輪廓并以面積為評估對象做篩選;
  • 5、歐式距離為評估對象,后續(xù)維護好目標跟蹤。(在后續(xù)分析視頻序列時,發(fā)現其實目標位置基本不會大的變化,只是在形狀發(fā)生變化,因此可以借助歐式距離跟蹤)

制作扇形掩模

查找opencv并沒有現成的繪制扇形函數,只有手動繪制了。
大概思路為:

  • 1、繪制扇形的圓弧;
  • 2、繪制兩條半徑,繪制半徑需要知道角點,所以牽扯些許三角函數的計算。

嘗試參數后,代碼如下:

//生成扇形輪廓,角度 void get_fans(Mat &img,cv::Point center,double angle, int radius) {ellipse(img, center, cv::Size(radius, radius), 0, 90 - angle / 2, 90 + angle / 2, Scalar(255, 255, 255), 3, 8);//計算扇形頂點坐標,先計算弦長和高int chord_len = radius*sin(angle*3.14 / (2 * 180));int height = radius*cos(angle*3.14 / (2 * 180));//一左一右,中心點加偏移量即為頂點坐標cv::Point corner_1 = center + cv::Point(-chord_len, height);cv::Point corner_2 = center + cv::Point(chord_len, height);line(img, center, corner_1, Scalar(255, 255, 255), 3, 8);line(img, center, corner_2, Scalar(255, 255, 255), 3, 8);}

朋友只需要根據參數調整,就能得到他們項目所需要的掩模。這個程序只是生成一張扇形的輪廓,生成掩模,還需要提取輪廓重新繪制,并將內部填充。
這部分代碼如下:

get_fans(maskImage, cv::Point(520, 0), 77.4, 806);vector<vector<cv::Point> > contours;//查找輪廓 vector<cv::Vec4i> hierarchy;//輪廓需要findContours(maskImage, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));maskImage = cv::Mat::zeros(cv::Size(srcImage.cols, srcImage.rows), CV_8UC1);//繪制自定義掩模,CV_FILLED表示完全填充內部drawContours(maskImage, contours, -1, cv::Scalar::all(255), CV_FILLED);

完整代碼就不分享了,借用Kmeans在分類時存在需要不定時反色情形,在對視頻序列處理時,直接閾值化后效果也不錯。
Kmeans效果還是有那么點的:

總結

以上是生活随笔為你收集整理的opencv用于医学图像分割的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。