醫學圖像處理期末復習

目錄

  • 考試范圍
  • 第1章 緒論
    • 1.1 數字圖像處理的概念
    • 1.2 數字圖像處理的應用領域
      • 1、醫學領域
      • 2、其他領域
    • 1.3 數字圖像處理基礎
    • 1.4 數字圖像基礎運算
  • 第2章 醫學圖像灰度變換與空間濾波
    • 2.1 醫學圖像灰度變換
      • 線性灰度變換
      • 非線性灰度變換
    • 2.2 直方圖均衡化
    • √2.3 空間平滑濾波
      • 線性空間濾波
        • 均值濾波
      • 非線性空間濾波
        • 中值濾波
      • 中值濾波器與均值濾波器的比較
    • 2.4 空間銳化濾波
  • 第3章 頻率域濾波
    • 3.1 頻率域濾波
  • 第4章 CT圖像重建
    • 4.1 CT圖像重建
  • 第5章 圖像色彩處理
    • 5.1 彩色圖像基礎
    • 5.2 彩色圖像空間濾波
  • 第6章 醫學圖像壓縮、存儲與通信
    • 6.1 圖像壓縮
    • 6.2 醫學圖像存儲與通信
  • √第7章 醫學圖像分割
    • 7.1 醫學圖像分割概述
    • 7.2 點、線和邊緣檢測
    • 7.3 閾值處理
    • 7.4 區域生長
    • 7.5 形態學分水嶺算法
  • 第8章 形態學圖像處理
    • 8.1 形態學圖像處理基礎
    • 8.2 基本形態學算法
  • 第9章 醫學圖像特征提取
    • 9.1 醫學圖像特征提取
      • 邊界簡單描繪子
      • 區域簡單描繪子
  • 第10章 醫學圖像處理新技術
    • 10.1 醫學圖像處理新技術
  • 學習通題目
    • 第3章
    • 第4章
    • 第5章
    • 第6章
    • 第7章
    • 第8章
    • 第9章
    • 第10章
    • 測試
  • 復習
    • 一、基礎概念與系統(30分鐘)
      • (一)數字圖像基礎
      • (二)醫學影像與 PACS 系統
    • 二、灰度變換與空間濾波(60分鐘)
      • (一)灰度變換
      • (二)直方圖增強——直方圖均衡化
      • (三)圖像平滑(去噪)
      • (四)圖像銳化
    • 三、圖像分割與特征提取(40分鐘)
      • (一)圖像分割算法
      • (二)形態學操作
      • (三)特征提取
  • 考試題型
    • 簡答題
    • 綜合應用題
  • 實驗
    • 實驗一
      • 數字減影
    • 實驗2
      • 將圖像變成負片
      • 線性灰度變換
      • 伽馬非線性變換
      • 直方圖均衡化
      • 計算灰度線性變換
      • 計算直方圖均衡化
    • 實驗3
      • 醫學圖像開窗
      • 均值濾波
      • 中值濾波
      • 銳化濾波
        • Sobel
        • Laplacian
    • 實驗4
      • 閾值分割
      • Kirsch算子邊緣檢測
    • 實驗5
      • 區域生長算法
      • 分水嶺算法


考試范圍

期末考試題型
選擇題(10題,每題2分,共20分)
判斷題(15題,每題1分,共15分)
簡答題(5題,每題6分,共30分)
綜合應用題(3題,第1,2小題各10分,第3小題15分,共35分)


第1章 緒論

1.1 數字圖像處理的概念

什么是數字圖像?
在這里插入圖片描述

數字圖像處理
低級:俠義圖像處理
由圖像到圖像
例如:使圖像清晰
在這里插入圖片描述

中級:圖像分析
獲得圖像的客觀信息,以建立對圖像中目標的描述
在這里插入圖片描述

高級:圖像理解
得出對圖像內容的理解,從而指導和規劃行動
例如:自動判別視網膜疾病的病變過程
在這里插入圖片描述
圖像識別的基本步驟
圖像采集
圖像增強
圖像分割
圖像特征提取
圖像識別

圖像采集
X射線
在這里插入圖片描述

CT
在這里插入圖片描述

PET
在這里插入圖片描述

MRI
在這里插入圖片描述

超聲
在這里插入圖片描述
圖像增強:對圖像進行某種操作,顯示那些被模糊的細節,或突出一副圖像中感興趣的部分
圖像分隔:是將一幅圖像劃分為目標和組成部分
圖像特征提取:一般在分隔后進行,包括特征檢測和特征描述
圖像識別:是基于圖像的特征描述,對目標賦予標記的過程
圖像壓縮:是通過有損壓縮和無損壓縮技術減少圖像的存儲量
彩色圖像處理:是處理彩色圖像的方法

1.2 數字圖像處理的應用領域

1、醫學領域

圖像分割
圖像增強
圖像融合:通過對多幅圖像的互補信息的處理,將不同模態的數據(如CT和PET圖像)融合。
手術導航:
三維重建與可視化:
AI輔助診斷系統:

2、其他領域

工業方面
指紋識別
人臉識別
視頻跟蹤
車牌識別
智能機器人

1.3 數字圖像處理基礎

數字圖像:以數字形式來表示的圖像
由M行N列的像素組成,每個像素存儲一個值。像素值通常為灰度值。
數字化后的圖像可以用二維矩陣來表示
在這里插入圖片描述
采樣和量化
模擬圖像數字化時會涉及到 采樣和量化。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
??
存儲容量的計算
在這里插入圖片描述
📚
在這里插入圖片描述

512x512是分辨率,灰度級為256則量化位數為8?,÷8將單位轉換為字節

數字圖像的基本類型
二值圖像
在這里插入圖片描述

灰度圖像
在這里插入圖片描述
在這里插入圖片描述

彩色圖像
在這里插入圖片描述
在這里插入圖片描述
常用matlab函數簡介

讀取圖像
在這里插入圖片描述

保存圖像
在這里插入圖片描述

顯示圖像
在這里插入圖片描述

讀取dicom圖像
在這里插入圖片描述

查看dicom圖像文件信息
在這里插入圖片描述

1.4 數字圖像基礎運算

在這里插入圖片描述
加法運算
在這里插入圖片描述

多次疊加可以有效降低圖像的隨機噪聲

在這里插入圖片描述

擁有二次曝光的效果

減法運算
在這里插入圖片描述
數字減影血管造影
在這里插入圖片描述
乘法運算
在這里插入圖片描述
在這里插入圖片描述
除法運算
在這里插入圖片描述
基本幾何運算
圖像的方法、縮小
圖像的平移、鏡像與旋轉

圖像縮小
在這里插入圖片描述
在這里插入圖片描述

圖像放大
在這里插入圖片描述
在這里插入圖片描述

圖像的位置變換
圖像的平移
在這里插入圖片描述
在這里插入圖片描述

通過平移把感興趣的部分移到中心來處理

圖像的鏡像
水平鏡像
垂直鏡像
在這里插入圖片描述

圖像的旋轉
在這里插入圖片描述

旋轉不按90°的倍數時,計算出的x’y’可能會出現小數

在這里插入圖片描述

圖像幾何運算matlab函數
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

💻代碼操作

第2章 醫學圖像灰度變換與空間濾波

2.1 醫學圖像灰度變換

線性灰度變換

1.全域線性灰度變換
在這里插入圖片描述

灰度變換時,L是256
當α大于1時,圖像對比度增大
當α大于0小于1時,圖像對比度減小
當α小于1時,圖像亮區域變亮,暗區域變暗

📚
在這里插入圖片描述
在這里插入圖片描述

圖像反轉
生成負片圖像
在這里插入圖片描述
在這里插入圖片描述

簡單說就是黑色變白色,白色變黑色

2.分段線性灰度變換
將圖像的某一段感興趣的灰度范圍線性擴展,相對抑制不感興趣的灰度區域
在這里插入圖片描述

類似中學的分段函數

在這里插入圖片描述在這里插入圖片描述
只對小女孩感興趣,小女孩位于中灰度,因此將低灰度和高灰度部分壓縮,中間灰度拓展

灰級窗
醫學影像的灰度級在12位以上,常規顯示器灰度級只有8位,常規顯示器很難顯示醫學圖像所有的灰度級

灰級窗技術:一種特殊的分段線性灰度變換技術
在這里插入圖片描述

左邊:分段線性灰度變換圖,右邊:灰級窗技術示意圖
通過開窗,每次只把窗內的灰度級展寬,而把窗外的灰度級完全抑制掉
在這里插入圖片描述

非線性灰度變換

3.伽馬變換
在這里插入圖片描述

伽馬值小于1:拓展圖像灰度
伽馬值大于1:壓縮圖像灰度

📖例子
在這里插入圖片描述
在這里插入圖片描述

采用伽馬值大于1壓縮灰度

相關matlab函數
在這里插入圖片描述

2.2 直方圖均衡化

在這里插入圖片描述

灰度直方圖
灰度直方圖反映了一幅圖像中每個灰度級出現的頻率,展現
了圖像最基本的統計特征
在這里插入圖片描述

在這里插入圖片描述

📚直方圖的繪制
在這里插入圖片描述

直方圖均衡化
直方圖均衡化的基本思想是:將圖像的直方圖變換為均勻分布的形式,從而達到增強圖像對比度的效果。
在這里插入圖片描述

直方圖均衡化算法
在這里插入圖片描述

在這里插入圖片描述

直方圖均衡化的步驟
在這里插入圖片描述

📚
在這里插入圖片描述

步驟1:計算圖像各灰度級的像素個數在整個圖像中所占的比率
在這里插入圖片描述

步驟2:計算圖像各灰度級的累計分布概率
在這里插入圖片描述

步驟3:把計算出的sk安排到對應的灰度級中,如圖像的灰度級有8級
在這里插入圖片描述

合并相同灰度級:重新命名Sk,重新計算nsk和psk在這里插入圖片描述

如圖像的灰度級有8級,則需要用1/7為量化單位進行舍入運算

在這里插入圖片描述

相關的matlab函數
在這里插入圖片描述

√2.3 空間平滑濾波

線性空間濾波

例:乘法、加法

均值濾波

是一個線性空間濾波器。原理為將一個像素及其鄰域內的所有像素的平均灰度值替代該像素值,從而達到圖像平滑的目的。

均值濾波可以降噪,去除不相干的細節

3x3均值模板
在這里插入圖片描述

??計算
在這里插入圖片描述

模板越大,去除噪聲效果越好,但是圖像會變模糊
在這里插入圖片描述

非線性空間濾波

例:最大值、最小值、中間值

中值濾波

中值濾波器是非線性空間濾波器。對模板覆蓋的圖像區域中的像素值排序,用中間值代替原灰度值,就可以達到濾除噪聲的目的。
在這里插入圖片描述

??計算
在這里插入圖片描述

用中值濾波處理得到的平滑圖像
在這里插入圖片描述

中值濾波器與均值濾波器的比較

在這里插入圖片描述

被椒鹽噪聲污染的圖像中有干凈點也有污染點,污染點為黑色和白色,灰度值為0和255,中值濾波選擇中間值代替被污染點

在這里插入圖片描述

圖像的每個點都存在噪聲,噪聲幅值近似正態分布,因為圖像上每個點都是污染點,所以中值濾波選不到合適的干凈點

🍑總結

-椒鹽噪聲高斯噪聲
中值濾波
均值濾波

??注意:中值濾波在處理點線等細節比較多的醫學圖像時要特別注意

如對數字乳腺圖像進行處理時,可能會把小的鈣化點濾除,造成診斷信息丟失
在這里插入圖片描述

相關matlab函數
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

2.4 空間銳化濾波

圖像銳化的目的是增強圖像的邊緣和輪廓
銳化的可以使灰度反差增強,邊緣增強,輪廓清晰

在這里插入圖片描述


在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

二階微分銳化
有些灰度變化特性一階微分的描述不是很明確,采用二階微分能夠更加獲得更豐富的細節。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

拉普拉斯算子不分x方向和y方向,旋轉不變,
因此有各向同性的特點

在這里插入圖片描述

在這里插入圖片描述
拉普拉斯算子銳化效果

相關matlab函數
imfilter
fspecial
2.3小節

第3章 頻率域濾波

3.1 頻率域濾波

空間域濾波→頻域率濾波
頻域率濾波的基礎是傅里葉變換
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

對圖像進行傅里葉變換可以得到信號在各個頻率點上的強度,
灰度變換緩慢的區域,對應的頻率值較低,
灰度變換劇烈的邊緣區域,對應的頻率值較高

在這里插入圖片描述
在這里插入圖片描述

傅里葉變換可以將第二章學到的空間域卷積運算轉化為頻率域的乘積運算

在這里插入圖片描述

可以根據需要,選擇保留低頻或是高頻信息
在這里插入圖片描述

低通濾波器
小于某個值時設為0,大于某個值時設為1
在這里插入圖片描述

高通濾波器
小于某個值時設為1,大于某個值時設為0
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

相關matlab函數
在這里插入圖片描述

第4章 CT圖像重建

4.1 CT圖像重建

在這里插入圖片描述

反投影圖像的增加,呈現的結果越接近原圖
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

CT重建算法有:反投影法、反投影法、傅里葉變換法等

反投影法
在這里插入圖片描述
在這里插入圖片描述
📚

求投影值
在這里插入圖片描述
用反投影法求出x1到x16的值
在這里插入圖片描述

除以投影線數目6
在這里插入圖片描述

偽跡
在這里插入圖片描述

回抹過程中把原圖本來是0的像素點,抹上一個平均值

在這里插入圖片描述
在這里插入圖片描述

改善模糊:濾波反投影重建

在這里插入圖片描述

第5章 圖像色彩處理

5.1 彩色圖像基礎

在這里插入圖片描述
在這里插入圖片描述

與美術三原色不一樣

彩色模型
不同彩色模型可以通過數學方法相互轉換
兩種常用彩色模型:RGB和HSI

RGB
計算機顯示器、手機屏幕、彩色電視機
在這里插入圖片描述

HSI
H色調,S飽和度,I亮度
在這里插入圖片描述

值越大,顏色越純
在這里插入圖片描述
在這里插入圖片描述

HSI和RGB相互轉換
RGB→HSI
在這里插入圖片描述

HSI→RGB
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

5.2 彩色圖像空間濾波

彩色圖像的常規處理方法有兩種:
第一種:分成三幅圖像,分別處理每一個分量圖像,再將處理結果合成一幅彩色圖像。
第二種:直接對彩色像素進行處理。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第6章 醫學圖像壓縮、存儲與通信

6.1 圖像壓縮

圖像冗余分為:編碼冗余、空間冗余、視覺冗余
編碼冗余:如果一個圖像的灰度級編碼,使用了多于實際需要的編碼符號,稱為編碼冗余。
空間冗余:在圖像空間相關像素的表示中,信息被不必要的重復,稱為空間冗余。
視覺冗余:一些信息在一般視覺處理中,比其它信息的相對重要程度要小,稱為視覺冗余。

圖像壓縮原理
在這里插入圖片描述
判斷壓縮后的圖像是否失真
保真度準則:客觀、主觀
在這里插入圖片描述

圖像壓縮模型由編碼器和解碼器組成
在這里插入圖片描述
圖像壓縮分類
在這里插入圖片描述
在這里插入圖片描述
JPEG壓縮融合了無損和有損的編碼方法
??在醫療文件的歸檔中,有損壓縮被禁止

??
無損壓縮經典方法:哈夫曼編碼
哈夫曼編碼滿足前綴編碼
頻度大的像數值–較短編碼
頻度小的像數值–較長編碼
在這里插入圖片描述

📚哈夫曼樹
在這里插入圖片描述

在這里插入圖片描述

📚
在這里插入圖片描述

構造哈夫曼樹
在這里插入圖片描述
編碼:左0右1在這里插入圖片描述

算壓縮效率:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

6.2 醫學圖像存儲與通信

PACS系統:影像存檔和通信系統
用途:圖像存檔、檢索、傳送、顯示、處理和拷貝或打印的硬件和軟件的系統
目的:有效的管理和利用醫學圖像資源
在這里插入圖片描述
在這里插入圖片描述
DICOM標準
在這里插入圖片描述

DICOM(Digital Imaging and Communications in
Medicine):即醫學數字成像和通信,是醫學圖像和相關信息的國際標準。
在這里插入圖片描述
在這里插入圖片描述

數據元素
在這里插入圖片描述
在這里插入圖片描述
相關matlab函數

在這里插入圖片描述
在這里插入圖片描述

√第7章 醫學圖像分割

7.1 醫學圖像分割概述

圖像分割:指將圖像分成若干互不重疊的子區域,使得同一個子區域內的特征具有一定相似性,不同子區域的特征呈現較為明顯的差異。
圖像分割是圖像識別和圖像理解的基本前提步驟。

在這里插入圖片描述

醫學圖像分割:醫學圖像處理與分析領域的復雜而關鍵的步驟
目的:將醫學圖像中具有某些特殊含義的部分分割出來

在這里插入圖片描述
邊緣檢測
在這里插入圖片描述

閾值法:利用圖像中要提取的目標區域,與其背景在灰度特性上的差異,把圖像看作具有不同灰度級的兩類區域,目標區域和背景區域,選取一個合理的閾值,確定圖像中每個像素點屬于目標區域還是背景區域
在這里插入圖片描述

區域生長法:先選取種子點,依次將種子周圍相似像素合并到種子像素所在的區域中
在這里插入圖片描述

分水嶺法:把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該店的海拔高度,每一個局部極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺
在這里插入圖片描述
在這里插入圖片描述
深度學習
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

7.2 點、線和邊緣檢測

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
📚
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

相關matlab函數
在這里插入圖片描述

7.3 閾值處理

在這里插入圖片描述

全局閾值T的選取
在這里插入圖片描述
在這里插入圖片描述

Otsu法最佳全局閾值處理
基本思想:又稱作最大類間方差法,因為按照Ptsu法最佳全局閾值處理后,目標與背景圖像的類間方差最大

無論圖像的灰度直方圖是否有明顯的雙峰,圖像都有較好的分割效果

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

7.4 區域生長

定義:指根據預定義的生長準則,將像素或子區域組合成更大區域的過程。
基本方法:以一組生長點開始,搜索其鄰域,通過把那些與種子具有相同預定義性質(如灰度、顏色或紋理等)的鄰域像素添加進來形成生長區域。

在這里插入圖片描述
區域生長步驟:
在這里插入圖片描述

📚
在這里插入圖片描述
在這里插入圖片描述

7.5 形態學分水嶺算法

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第8章 形態學圖像處理

8.1 形態學圖像處理基礎

圖像分割的問題
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

腐蝕
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

膨脹
在這里插入圖片描述
在這里插入圖片描述

先做基于原點映射,再膨脹
在這里插入圖片描述

改變了目標物的大小,改進:
開運算
在這里插入圖片描述
閉運算
在這里插入圖片描述

常用的matlab函數

8.2 基本形態學算法

邊界提取,孔洞填充,提取連通分量,細化
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
常用的matlab函數

第9章 醫學圖像特征提取

9.1 醫學圖像特征提取

在這里插入圖片描述
在這里插入圖片描述

邊界簡單描繪子

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

區域簡單描繪子

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第10章 醫學圖像處理新技術

10.1 醫學圖像處理新技術

學習通題目

第3章

【單選題】傅里葉變換后圖像的四周部分為()。
A高頻分量
B低頻分量
C 頻譜
D無效值

傅里葉變換后,圖像頻譜中,中心對應低頻分量四周對應高頻分量(反映圖像細節、邊緣等快速變化部分 ),所以選 A

【單選題】頻域濾波指圖像進行()后,在變換域中對圖像進行濾波處理,處理完畢后進行逆變換,獲得濾波后的圖像。
A傅里葉變換
B拉普拉斯變換
C 線性變換
D 伽馬變換

第三章
在這里插入圖片描述

【判斷題】空間域和頻域線性濾波的基礎是卷積定理。()

卷積定理表明,
空間域的卷積等效于頻域的乘積,
頻域的卷積等效于空間域的乘積,
是空間域與頻域線性濾波相互轉換、實現濾波操作的理論基礎 所以該表述正確。

【判斷題】傅里葉變換可以將圖像從頻域轉換到空域。()

傅里葉變換:將圖像從空域轉換到頻域
而逆傅里葉變換:才是將圖像從頻域轉換回空域
題干說法弄反了轉換方向,所以錯誤。

第4章

【判斷題】直接反投影重建可以避免偽跡的產生。

直接反投影重建會因簡單疊加投影數據,導致出現星狀偽跡等問題,無法避免偽跡產生,所以該表述錯誤。

第5章

【判斷題】不同的彩色模型之間無法互相轉換。()

【判斷題】f代表一幅RGB圖像,則提取綠色分量圖像f的Matlab代碼為:g=f(:,:3)。()

在 MATLAB 中,RGB 圖像的通道索引順序是紅(1)、綠(2)、藍(3)
提取綠色分量應使用 g = f(:,:,2),而 f(:,:,3) 提取的是藍色分量,因此題干代碼錯誤。
??記憶:紅1橙黃綠2青藍3紫

【判斷題】計算機顯示器主要采用HSI彩色模型。()

第五章
在這里插入圖片描述

第6章

【單選題】單選題
1.哈夫曼編碼屬于()。
а有損壓縮
в無損壓縮
с預測編碼
D混合壓縮

【多選題】以下哪些是PACS的建設目標()
A為醫學影像管理服務
B為臨床診斷服務
C為現代通訊服務
D為遠程會診服務

【判斷題】判斷題
有損壓縮在壓縮和解壓縮過程中沒有信息損失。()

有損壓縮會通過舍棄部分冗余或次要信息來壓縮數據,解壓縮后無法完全恢復原始信息,存在信息損失

  • 無損壓縮在壓縮和解壓縮過程中沒有信息損失。√

第7章

在這里插入圖片描述

垂直邊緣檢測算子在垂直方向(列方向 )有差分響應,
C 選項算子列方向為 2、-1 交替,能突出垂直邊緣,適合檢測垂直邊緣 。

【單選題】(Matlab題目)用im2bw函數對灰度圖像進行(),得到一幅二值圖像。
A 閾值分割
B 區域生長
C直方圖均衡化
D分水嶺變換

im2bw 是 MATLAB 中用于將灰度圖像轉換為二值圖像的函數,
核心原理是:
設定一個閾值,將圖像中大于閾值的像素設為 1(白色),
小于閾值的設為 0(黑色),
屬于閾值分割操作。

【多選題】下面哪些屬于常用的圖像分割方法?}()
A閾值法
B區域生長法
C均值濾波
D直方圖均衡化

A. 閾值法:通過設定閾值將圖像分為目標和背景,是最基本的分割方法(如 Otsu 閾值、自適應閾值)。
B. 區域生長法:從種子點出發,根據像素相似性擴展區域,屬于基于區域的分割算法
C. 均值濾波:屬于圖像平滑 / 降噪方法,用于去除噪聲,不直接用于分割。
D. 直方圖均衡化:用于增強圖像對比度,不直接用于分割。

【判斷題】使用區域生長法分割圖像需要指定種子點。()

【判斷題】使用形態學分水嶺分割圖像,可以得到連續的分割邊界。()

形態學分水嶺分割基于圖像拓撲,能將不同區域以連續邊界分隔開,可得到連續分割邊界,表述正確。

【判斷題】拉普拉斯算子具有各向同性的性質。()

拉普拉斯算子在各方向上對邊緣等的響應具有一致性,即各向同性,表述正確。?

【判斷題】區域生長方法中選取的種子點只能是單個像素。()

區域生長法的種子點可以是單個像素,也能是多個像素組成的區域,并非只能是單個像素,表述錯誤。

【單選題】在OpenCV中,以下哪個函數用于進行閾值處理?
A cv2.cvtColor()
B cv2.threshold()
C cv2.Canny()
D cv2.GaussianBlur()

【單選題】在做分水嶺變換時,可以用OpenCV的()函數,計算圖像內非零值像素點到最近的零值像素點的距離?
A cv2.distanceTransform()
B cv2.selectROI()
C cv2.watershed()
D cv2.distance()

cv2.distanceTransform() 函數可計算圖像中非零像素到最近零像素的距離,常用于分水嶺變換前的預處理(如標記前景和背景)

【判斷題】在OpenCV中,可以使用函數cv2.watershed()實現分水嶺算法。

【判斷題】OTSU是一種確定圖像二值化分割閾值的常用算法。

OTSU通過最大化類間方差自動計算最優二值化閾值,是圖像分割中廣泛使用的經典算法,表述正確。

第8章

【單選題】()可以在合并斷裂目標物的同時,基本保持原目標物的大小。
A 膨脹
B 腐蝕
C 閉運算
D 開運算

閉運算(先膨脹后腐蝕):可填充目標內部的小孔、連接鄰近物體,同時通過后續腐蝕基本保持原目標大小,符合題意。
開運算(先腐蝕后膨脹):主要用于去除小噪點,均不符合要求。

【判斷題】通過形態學細化運算,可以得到目標物的骨架。()

【判斷題】開運算是對目標圖像先腐蝕,再膨脹。()

閉運算:先膨脹后腐蝕
開運算:先腐蝕后膨脹
??記憶:
閉→后腐蝕,
開→后膨脹

【單選題】在OpenCV中,以下哪個函數用于進行膨脹運算?
A cv2.morphology()
B cv2.erode()
C cv2.dilate()
D cv2.morphologyOpen()

cv2.erode():腐蝕運算

【單選題】在OpenCV中,以下哪個函數用于進行形態學處理?
A cv2.cvtColor()
B cv2.threshold()
C cv2.Canny()
D cv2.morphologyEx()

【判斷題】
開運算是腐蝕運算的一種,兩者沒有區別。

【判斷題】腐蝕運算可以用OpenCV的cv2.close()函數實現,當需要2次腐蝕時可以設置為cv2.close(2)。

腐蝕運算通過 cv2.erode() 實現,
多次腐蝕需通過循環調用 cv2.erode() 實現

第9章

在這里插入圖片描述

答案是2。
8連通域是看上下左右斜有沒有連
在這里插入圖片描述
4連通域是看上下左右有沒有連
在這里插入圖片描述

【多選題】常用的邊界描繪子包括下面哪些?()
A 周長
B 直徑
C 紋理
D 面積

第9章:邊界簡單描繪子
??
邊界簡單描繪子:周長、直徑、曲率
區域簡單描繪子:面積、圓度、質心、紋理

【判斷題】目標物的圓度越小,說明越接近圓形。()

圓度越接近 1 說明越接近圓形,圓度越小說明偏離圓形越遠

【判斷題】紋理可以用均值、標準差、平滑度、三階矩、一致性和熵來度量。()

第9章:
在這里插入圖片描述

【單選題】
OpenCV的()函數,可計算一幅二值圖像中的所有聯通分量。
A Canny
B connectedComponents
C erode
D cv2.findContours

【判斷題】Hu不變矩是對平移、縮放、鏡像和旋轉都不敏感的7個二維不變矩的集合,常被用作于特征描述符,可以用
cv2.HuMoments求得。

【判斷題】cv2.findContours()函數接受的參數必須為彩色圖像,如果是灰度圖要先轉化為彩色圖像。

cv2.findContours() 要求輸入為二值圖像(非 0 即 255),
若輸入為灰度圖,需先通過 cv2.threshold() 或 cv2.Canny() 轉換為二值圖,而非轉為彩色圖像。
若輸入為彩色圖像,需先轉為灰度圖再二值化。

第10章

【多選題】下面哪些()是深度學習網絡。
A Unet
B GAN
с RGB
D K-means

【判斷題】深度學習可以用在醫學圖像處理領域。()

【判斷題】機器學習和深度學習沒有聯系。()

測試

復習

在這里插入圖片描述

一、基礎概念與系統(30分鐘)

(一)數字圖像基礎

定義:離散化的圖像,由像素矩陣構成,可被計算機存儲與處理。
圖像格式
bmp:無損存儲,文件容量大,保留原始圖像完整信息。
jpg:有損壓縮,日常通用,壓縮后容量小但會損失部分細節。
png:支持透明通道,無損壓縮,適合需保留透明背景的圖像。
tif:專業圖像格式,支持分層存儲,常用于印刷、遙感等領域。
Dicom:醫學專用,除圖像外,還綁定患者信息(如姓名、檢查號等 ),保障醫療數據合規性。

圖像類型
二值圖像:像素值僅為 0(黑 )或 255(白 ),用于簡單黑白對比場景(如文字識別 )。
灰度圖像:單通道,像素值范圍 0(黑 )- 255(白 ),呈現從黑到白的漸變層次。
彩色圖像:多通道(如 RGB 三通道 ),通過不同通道色彩混合顯示豐富色彩。

(二)醫學影像與 PACS 系統

醫學影像設備
CT:通過 X 射線斷層掃描,擅長顯示骨骼、肺部等結構,圖像有較高密度分辨率。
MRI:利用磁場和射頻脈沖成像,對軟組織(如腦部、肌肉 )成像清晰,無輻射危害。
PETCT:結合 PET(正電子發射斷層掃描 )與 CT,既能顯示代謝信息(找腫瘤等 ),又能呈現結構細節。
B 超:基于超聲原理,實時成像,常用于腹部、婦科等部位檢查。

在這里插入圖片描述

PACS 系統
定義:醫學圖像存儲與傳輸系統,實現影像數字化管理。
用途:統一存儲、調閱醫學影像,便于多科室協同診斷、遠程會診。
構成:涵蓋影像采集設備、存儲服務器、診斷工作站等。
圖像格式:采用 Dicom 格式,確保圖像與患者信息關聯,符合醫療數據標準。

二、灰度變換與空間濾波(60分鐘)

在這里插入圖片描述
在這里插入圖片描述

(一)灰度變換

線性灰度變換

  • 線性變換:公式 g = a * f + bg 為變換后灰度,f 為原灰度 )。
    • a(對比度系數 ):a > 1 增強對比度,圖像明暗差異更顯著;1 > a > 0 減弱對比度,圖像趨于平淡;a < 0是圖像求補,暗部變亮,亮部變暗。
    • b(亮度系數 ):b > 0 整體提亮圖像;b < 0 整體壓暗圖像。
  • 分段線性變換:選取關鍵灰度區間,對區間內灰度拉伸、區間外灰度壓縮,突出感興趣區域。
  • 灰級窗:設定“感興趣灰度范圍 [T1, T2]”,將窗內灰度拉伸至 0 - 255 顯示,窗外灰度壓縮,便于觀察特定組織。一種特殊的分段線性灰度變換技術。

??記憶:
線性變換:g = a * f + b,a是對比度,b是亮度
分段線性變換:選取關鍵灰度區間,對區間內灰度拉伸、區間外灰度壓縮,突出感興趣區域。
灰級窗:一種特殊的分段線性灰度變換技術。

在這里插入圖片描述

(二)直方圖增強——直方圖均衡化

直方圖均衡化
核心目的:使圖像灰度分布更均勻,提升對比度。

??步驟:
1、每個像素所占比率
2、累加
3、舍入,以1/n為單位
4、安排到就近的灰度級,重新計算psk,nsk
在這里插入圖片描述

在這里插入圖片描述

(三)圖像平滑(去噪)

圖像平滑的概念和原理:
圖像平滑是通過鄰域像素加權平均(如均值、高斯、中值濾波)來降低噪聲、弱化高頻細節的技術,本質是用低通濾波抑制圖像中的隨機干擾,讓畫面更干凈,但過度處理會模糊邊緣。

均值濾波
均值濾波
操作:以 3*3 窗口為例,計算窗口內 9 個像素的平均值(新像素 = (窗口內像素值之和)/ 9 ),替換中心像素。
適用場景:有效去除高斯噪聲,但會使圖像邊緣、細節模糊。
中值濾波
中值濾波
操作:以 3*3 窗口為例,將窗口內 9 個像素值排序,取中間值替換中心像素。
適用場景:對椒鹽噪聲去除效果極佳,且能較好保留圖像邊

📚
在這里插入圖片描述

邊緣保留

在這里插入圖片描述

(四)圖像銳化

2.4 空間銳化濾波

圖像銳化的概念:
圖像銳化是通過增強圖像中像素的邊緣和細節(即高頻成分),讓圖像輪廓更清晰、紋理更突出的技術。原理是利用銳化濾波器(如拉普拉斯算子)突出像素值的突變,抑制平滑區域,與圖像平滑(弱化細節)相反,常用于增強模糊圖像的視覺效果或為后續特征提取強化邊緣信息。

常用的一階微分算子:
在這里插入圖片描述

常用的二階微分算子:
在這里插入圖片描述
在這里插入圖片描述
拉普拉斯算子的性質:
各向同性:對圖像中任意方向的邊緣和細節響應一致

在這里插入圖片描述

5.1 彩色圖像基礎

三、圖像分割與特征提取(40分鐘)

在這里插入圖片描述
在這里插入圖片描述

(一)圖像分割算法

7.3 閾值處理

  • 閾值法:
    原理:選定灰度閾值 T,將像素灰度值與 T 比較,大于 T 歸為目標,小于 T 歸為另一類。
    常用方法:雙峰法,尋找圖像灰度直方圖兩個峰值間的谷值作為 T,適合醫學圖像中組織與背景灰度差異明顯場景。
    兩種求閾值方法:
    • OTSU:自動計算閾值,讓圖像類間方差最大,無論圖像的灰度直方圖是否有明顯的雙峰,圖像都有較好的分割效果
    • 自適應閾值:動態算閾值,適配光照不均的圖像 。

7.4 區域生長

  • 區域生長法:
    原理:從一個 / 多個種子點出發,依據相似性準則,逐步把相鄰且滿足條件的像素納入區域,直到無新像素可加入,實現圖像分割 。
    步驟:
    選擇種子點。
    定義相似性準則(通常為灰度差,如相鄰像素灰度差小于某閾值 )。
    從種子點開始,逐步合并滿足準則的相鄰像素,直到無符合條件像素。

7.5 形態學分水嶺算法

  • 分水嶺法:
    原理:將圖像視為“地形”,灰度低的區域為山谷,灰度高的為山峰;模擬注水過程,不同“流域”(區域 )被分割開。
    問題:易受噪聲干擾導致過度分割,一般先對圖像濾波再使用。

第8章 形態學圖像處理

(二)形態學操作

膨脹:用結構元(如 3*3 矩形 )擴張亮區域,填補小空洞,使醫學圖像中病灶邊界更完整。
腐蝕:用結構元收縮亮區域,去除小凸起,可分離粘連目標(如細胞粘連 )。
開運算:先腐蝕后膨脹,能去除噪聲、斷開小連接,常用于醫學圖像背景噪聲清理。
閉運算:先膨脹后腐蝕,可填補小空洞、連接相近目標,讓目標區域更平滑。

(三)特征提取

連通性:
4 連通:僅上下左右相鄰的像素視為連通。
8 連通:上下左右及對角線相鄰的像素均視為連通,用于識別圖像中連續的區域。

提取連通分量:

目標特征計算:
面積:統計連通分量包含的像素個數。
周長:統計連通分量邊緣像素數量。
目標數量:通過識別不同連通分量,統計醫學圖像中目標個數。

考試題型

簡答題

📚線性變換
線性灰度變換
📚直方圖增強
直方圖均衡化
📚計算中值濾波、均值濾波結果
均值濾波
中值濾波
📚區域生長法
7.4 區域生長
📚腐蝕、膨脹
第8章 形態學圖像處理

學習通討論區:
??1.什么是數字圖像?寫出幾個你知道的數字圖像處理應用。
答:將一幅圖像通過有限個離散點來表示就成為了數字圖像,其中的每個點稱為像素。
數字圖像處理應用:CT,MRI,PET/CT,B超

??2.簡述均值濾波。
答:
均值濾波是一個線性空間濾波器。
原理為將一個像素及其鄰域內的所有像素的平均灰度值 替代該像素值,從而達到圖像平滑的目的。

??3.簡述中值濾波。
答:
中值濾波器是非線性空間濾波器。
對模板覆蓋的圖像區域中的像素值排序,用中間值代替原灰度值,就可以達到濾除噪聲的目的。

??4.什么是圖像分割?請列舉出幾種圖像分割的常用方法。
答:
圖像分割:指將圖像分成若干互不重疊的子區域,使得同一個子區域內的特征具有一定相似性,不同子區域的特征呈現較為明顯的差異。

圖像分割常用算法:
面向邊緣的分割:邊緣檢測
面向區域的分割:閾值法、區域生長法、分水嶺法

??5.深度學習在醫學圖像處理領域有哪些應用?
答:
①醫學圖像分割、醫學圖像配準、病變檢測。
②從醫學圖像大數據中,自動學習提取隱含的疾病診斷特征

1.簡述醫學圖像的開窗顯示原理。
答:
醫學圖像開窗顯示通過調節窗寬和窗位,將 設備生成的寬范圍灰度值 映射到顯示器可顯示區間,以突出目標組織細節。

2.解釋低通濾波和高通濾波的作用。
答:
低通濾波是讓低頻信息通過,過濾高頻信息,高通濾波相反。
低通濾波可以實現圖像平滑的效果。
高通濾波可以實現圖像銳化的結果。

3.簡述CT圖像重建的原理。
答:
X 射線多角度掃描獲投影值,
經數學處理得衰減系數,
將衰減系數轉換為灰度值,
形成二維灰度矩陣成像 。

4.簡述彩色圖像的常規處理方法。
答:
彩色圖像的常規處理方法有兩種:
第一種:分成三幅圖像,分別處理每一個分量圖像,再將處理結果合成一幅彩色圖像。
第二種:直接對彩色像素進行處理。

5.什么是PACS系統?
答:
PACS 系統是醫院用于醫學影像數字化存儲、傳輸及輔助診斷管理的系統 。

6.請簡述形態學膨脹、腐蝕、開運算、閉運算答:
答:
膨脹:用結構元擴張亮區域,可以填補小空洞。
腐蝕:用結構元收縮亮區域,可分離粘連目標。
開運算:先腐蝕后膨脹,可去除噪聲、斷開小連接。
閉運算:先膨脹后腐蝕,可填補小空洞、連接相近目標。

7.常用的圖像特征有哪些?
答:

邊界描繪子:
簡單描繪子:邊長,直徑,曲率

區域描繪子:
簡單描繪子:面積,圓度,質心
紋理
不變矩

綜合應用題

在這里插入圖片描述

代碼模板:

import cv2
# 1. 讀取圖像(以灰度圖為例 )
img = cv2.imread('medical_image.dcm', 0)  
# 2. 算法執行(如中值濾波去噪 )
denoised_img = cv2.medianBlur(img, 3)  # 3*3 窗口中值濾波
# 3. 算法執行(如直方圖均衡化增強 )
enhanced_img = cv2.equalizeHist(denoised_img)  
# 4. 保存結果
cv2.imwrite('processed_image.png', enhanced_img)  

直方圖增強
均值濾波
中值濾波

提綱代碼部分,綜合題,實現步驟,編程實現
六個實驗

實驗

實驗一

數字減影

圖像減法運算主要調用 subtract()函數實現,其原型如下所示:
dst = subtract(src1, src2[, dst[, mask[, dtype]]])
? src1 表示第一張圖像的像素矩陣
? src2 表示第二張圖像的像素矩陣
? dst 表示輸出的圖像,必須和輸入圖像具有相同的大小和通道數
? mask 表示可選操作掩碼(8 位單通道數組),用于指定要更改的輸出數組的元素。
? dtype 表示輸出數組的可選深度

import cv2
import numpy as np
#讀取圖片
img = cv2.imread("image\\test.jpg")#設置一個與img同樣大小,像素值均為50的圖像
m = np.ones(img.shape, dtype="uint8")*50
#OpenCV 減法運算,原圖像各像素減 50
result = cv2.subtract(img, m)#顯示圖像
cv2.imshow("original", img)
cv2.imshow("result", result)
#等待顯示
cv2.waitKey(0)
cv2.destroyAllWindows()

步驟:
1.
設置一個與原圖片大小相同像素值為x的圖像
m = np.ones(: , :)*50
2.
OpenCV 減法運算
subtract(a,b),a-b,
3.
圖像灰度反轉
result_inverted = 255 - result

實驗2

將圖像變成負片

import cv2  
import numpy as np  
#讀取原始圖像
img = cv2.imread('lena.png')#圖像灰度轉換,
#這里是將讀入的彩色圖像轉換為灰度圖像,如果讀入的圖像已經是灰度#圖像,則不需要進行此步處理
grayImage = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#獲取圖像高度和寬度
height = grayImage.shape[0]
width = grayImage.shape[1]#創建一幅圖像
result = np.zeros((height, width), np.uint8)#圖像灰度反色變換g(c)=255-f(x)
for i in range(height):for j in range(width):gray = 255 - grayImage[i,j]result[i,j] = np.uint8(gray)#顯示圖像
cv2.imshow("Gray Image", grayImage)
cv2.imshow("Result", result)
#等待顯示
cv2.waitKey(0)
cv2.destroyAllWindows()

步驟:
1.
將讀入的彩色圖像轉換為灰度圖像
cvtColor(img,:)
2.
獲取圖像高度和寬度
height = grayImage .shape[0]
width = grayImage.shape[1]
3.
創建一幅圖像
np.zeros((height, width),:)
4.
雙重循環遍歷原圖像寬高
圖像灰度反色變換g(c)=255-f(x)


1.
對圖像進行反色處理
img1=255-img
2.
對原圖像作伽馬變換,伽馬值為2
img2=np.power(img/255,2)

線性灰度變換

將灰度在[0.5,0.75]區間的像素變換到[0,1],即灰度值少于0.5的像素均變換為0,大于0.75的像素變換為1,其它保持不變

伽馬非線性變換

γ 值越大,圖像越暗,對比度越高

import cv2
import numpy as np
#讀取原始圖像
img = cv2.imread('airport.png')img1=np.power(img/255,2)cv2.imshow("Imput",img)
cv2.imshow("Transform",img1)
cv2.waitKey(0)

步驟:
1.
伽馬矯正
img1=np.power(img/255,2)
在這里插入圖片描述

直方圖均衡化

直方圖增強

Python 調用 OpenCV中的 cv2.equalizeHist()函數實現直方圖均衡化處理,并 且為全局直方圖均衡化。其函數原型如下所示,輸出的 dst 圖像與輸入圖像 src 具有相同的大小和類型。
dst = cv2.equalizeHist(src)
src 表示輸入圖像,即原圖像。
dst 表示目標圖像,直方圖均值化處理的結果。

import cv2  
import matplotlib.pyplot as plt
#讀取圖片
img = cv2.imread('pollen.tif')#灰度轉換
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#直方圖均衡化處理
result = cv2.equalizeHist(gray)#顯示圖像
plt.subplot(221)
plt.imshow(gray, cmap=plt.cm.gray), plt.axis("off"), plt.title('(a)') 
plt.subplot(222)
plt.imshow(result, cmap=plt.cm.gray), plt.axis("off"), plt.title('(b)') 
plt.subplot(223)
plt.hist(img.ravel(), 256), plt.title('(c)') 
plt.subplot(224)
plt.hist(result.ravel(), 256), plt.title('(d)') 
plt.show()

步驟:
1.
灰度轉換
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
2.
對圖像作直方圖均衡化處理
result = cv2.equalizeHist(gray)
3.
計算直方圖
cv2.calcHist(src,)

計算灰度線性變換

在這里插入圖片描述

計算直方圖均衡化

在這里插入圖片描述
在這里插入圖片描述

讀取DICOM格式圖像

import  pydicom
import  cv2
import  numpy as np
import matplotlib.pyplot as plt#讀取DICOM文件
ds=pydicom.dcmread("ChestDCM.dcm")
#像素值矩陣
im=ds.pixel_array
#后續操作可以對im進行處理,完成骨窗抽取等

圖像讀取與通道
下面代碼完成了圖像讀取、圖像通道數獲取與判斷、圖像數據數組獲取、輸出圖像數組的行數和列數等功能。
注意:有些圖像看起來是灰度圖像,但是其通道數并非是單通道,在對圖像進行圖像增強前,有時需要將圖像轉換為單道道灰度圖像,但并非必須條件

import cv2
import numpy
#讀取圖像
img = cv2.imread('LenaGray.png')
#若為彩色圖像,還需要將將圖像格式由BGR轉換為RGB, 
#這是因為cv中的彩色格式與常用的不一樣
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)if img.ndim == 2:print('圖像是單通道灰度圖')
else:print('圖像包含多個通道')# 輸出圖像的通道數print(img.shape[2])#將圖像轉換為單通道灰度圖像
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
if img.ndim == 2:print('圖像是單通道灰度圖')
else:print('圖像包含多個通道')# 輸出圖像的通道數print(img.shape[2])#讀取圖像數組并打印
array = numpy.array(img)
print(array)
#圖像的行數、列數與通道數,當為單通道時,只輸出行數與列數
print(array.shape)
print(array.shape[0]) #"圖片的像素單位的總行數"
print(array.shape[1]) # "圖片的像素單位的總列數"

實驗3

醫學圖像開窗

注: 針對輸入的帶骨圖像進行開窗,將窗位定在灰度值2200,窗寬定在[1400.3000],最后將窗口像素值轉換到[0,255]范圍內。

步驟:
1.讀取dicom圖像
ds=pydicom.dcmread()
2.對圖像進行分段線性變換
在這里插入圖片描述
3.對骨骼區進行展寬,對其他區進行壓縮

均值濾波

中值濾波

均值濾波
函數名:blur
格式: dst = cv2.blur(src, ksize, anchor, borderType)
功能:對圖像進行均值濾波
其中:src表示源圖像,ksize表示濾波卷積核的大小,anchor表示圖像處理的錨點,borderType表示邊界處理方式。

中值濾波
函數名:medianBlur
格式:dst = cv2. medianBlur(src, ksize)
功能:對圖像進行中值濾波。
其中,src表示源圖像,ksize表示濾波卷積核的大小。
其他圖像平滑濾波器,如高斯濾波函數cv2.GassianBlurO,雙邊濾波函數cv2.bilateralFilterO等。

??
步驟:
1.
讀取被噪聲污染的圖像
2.
對圖像進行3x3的均值濾波
img1=cv2.blur(img,(n,n))
對圖像進行3x3的中值濾波
img2=cv2.medianBlur(img,(n,n))

銳化濾波

Sobel

步驟:
1.
讀取圖像
2.
對圖像進行sobel算子在x方向上的濾波
x=cv2.sobel(img;1,0)
對圖像進行sobel算子在y方向上的濾波
y=cv2.sobel(img;0,1)
3.
將兩個結果疊加
dst=cv2.addWeighted()

Laplacian

步驟:
1.
讀取原圖像
2.
進行格式轉換
im=sk.img_as_float(img)
3.
對圖像進行拉普拉斯銳化
dst=cv2.Laplacian(img;:;ksize=3)
4.
將圖像和銳化后的結果作減法運算,得到增強后的結果圖像
result=cv2.subtract(im,dst)

實驗4

閾值分割

步驟:
用迭代法求全局閾值
1.
讀取圖像
2.
初始閾值設置為圖像的平均灰度
tnext=np.mean(img)
3.
停止迭代閾值設置為0.5
while(abs(T-Tnext)>0.5)
4.
用T將圖像分為兩類,小于等于T,和大于T
5.
對兩邊中的像素分別求平均灰度
6.
兩邊灰度相加*0.5等于一個新的閾值
7.
用計算出的閾值對圖像進行閾值分割
cv.threshold(img,)

用otsu算法計算圖像的閾值
1.
cv2.threshold(img,cv2.THRESH_OTSU)
2.
對圖像進行閾值分割

Kirsch算子邊緣檢測

步驟:
1.
先設置八個方向上的kirsch算子
2.
遍歷整個圖像
對圖像上每個點用kirsch算子進行處理
3.
計算出對哪個模板響應值最大,就作為邊緣的圖像進行輸出

實驗5

區域生長算法

步驟:
1.
讀取圖像
2.
手動選擇種子點
3.
遍歷圖像,判斷種子點的領域是否符合生長條件
符合,加入到生長區域集合,該點灰度值加入到灰度值集合中
4.計算新的生長區域的灰度值,循環,直到不再有符合條件的點加入

分水嶺算法

步驟:
1.
讀取圖像
2.
通過閾值處理,膨脹,求距離等一系列的預處理過程
cv2.connectedComponents()
3.
用分水嶺算法求出分割的結果
cv2.watershed(img,)

🍎總結
函數:
數字減影:
subtract()

負片轉換:
img1=255-img
img2=np.power(img/255,2)

灰度線性變換

伽馬非線性變換:
img1=np.power(img/255,2)

直方圖均衡化:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
result = cv2.equalizeHist(gray)
cv2.calcHist(src,)

開窗:
對圖像進行分段線性變換
對骨骼區進行展寬,對其他區進行壓縮

均值濾波:
中值濾波:
img1=cv2.blur(img,(n,n))
img2=cv2.medianBlur(img,(n,n))

銳化濾波:
x=cv2.sobel(img;1,0)
y=cv2.sobel(img;0,1)
dst=cv2.addWeighted()

dst=cv2.Laplacian(img;:;ksize=3)
result=cv2.subtract(im,dst)

閾值分割:
cv2.threshold(img,cv2.THRESH_OTSU)

Kirsch算子邊緣檢測
先設置八個方向上的kirsch算子
遍歷整個圖像,對圖像上每個點用kirsch算子進行處理
計算出對哪個模板響應值最大,就作為邊緣的圖像進行輸出

區域生長算法:
手動選擇種子點
遍歷圖像,判斷種子點的領域是否符合生長條件
符合,加入到生長區域集合,該點灰度值加入到灰度值集合中
計算新的生長區域的灰度值,循環,直到不再有符合條件的點加入

分水嶺算法:
cv2.connectedComponents()
cv2.watershed(img,)

框架:

#1.讀取圖像
img = cv2.imread("image\\test.jpg")#讀取dicom圖像
ds=pydicom.dcmread("ChestDCM.dcm")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85600.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

類圖:軟件世界的“建筑藍圖”

本文來自「大千AI助手」技術實戰系列&#xff0c;專注用真話講技術&#xff0c;拒絕過度包裝。 類圖&#xff08;Class Diagram&#xff09;&#xff1a;軟件世界的“建筑藍圖” 類圖&#xff08;Class Diagram&#xff09;是統一建模語言&#xff08;UML&#xff09; 中最重要…

利用DevEco Studio對RK3588的HiHopesOS-4.1.110(OpenHarmony)進行Qt程序編寫

文章目錄 熱身準備添加Qt庫運行qml程序 熱身 可以先看我這篇文章【DevEco Studio中使用Qt&#xff0c;編寫HarmonyOS程序】 準備 板子的主要信息 目前由于系統版本&#xff08;API 11&#xff09;及其他原因&#xff0c;只能用4.1版本的DevEcoStudio來編寫&#xff0c;更高…

設計模式精講 Day 5:原型模式(Prototype Pattern)

【設計模式精講 Day 5】原型模式&#xff08;Prototype Pattern&#xff09; 文章內容 在“設計模式精講”系列的第5天&#xff0c;我們將深入講解原型模式&#xff08;Prototype Pattern&#xff09;。作為創建型設計模式之一&#xff0c;原型模式通過復制已有對象來創建新對…

深度學習——第2章習題2-1分析為什么平方損失函數不適用于分類問題

深度學習——第2章習題2-1 《神經網絡與深度學習》——邱錫鵬 2-1 分析為什么平方損失函數不適用于分類問題。 平方損失函數&#xff08;Quadratic Loss Function&#xff09;經常用在預測標簽y為實數值的任務中&#xff0c;定義為 L ( y , f ( x ; θ ) ) 1 2 ( y ? f (…

【Linux】運行腳本后打屏同時保存到本地

命令&#xff1a; sh run.sh 2>&1 | tee output.log sh run.sh 2>&1 | tee output_$(date "%Y%m%d%H%M").log作用&#xff1a;運行腳本&#xff0c;并同時將輸出&#xff08;包括標準輸出和錯誤輸出&#xff09;顯示到終端&#xff0c;并保存到文件中…

Spark 在小眾日常場景中的實戰應用:從小店數據到社區活動

Spark 在小眾日常場景中的實戰應用&#xff1a;從小店數據到社區活動? 提起 Spark&#xff0c;大家往往會聯想到大型互聯網公司的數據處理、金融行業的復雜分析。但實際上&#xff0c;Spark 在許多小眾、貼近生活的場景中也能大顯身手。結合學習與實踐&#xff0c;我探索了 S…

mysql 執行計劃 explain命令 詳解

explain id &#xff1a;select查詢的序列號&#xff0c;包含一組數字&#xff0c;表示查詢中執行select子句或操作表的順序select_type&#xff1a;查詢類型 或者是 其他操作類型table &#xff1a;正在訪問哪個表partitions &#xff1a;匹配的分區type &#xff1a;訪問的類…

讓大模型“更懂人話”:對齊訓練(RLHF DPO)全流程實戰解析

網羅開發 &#xff08;小紅書、快手、視頻號同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

GO 原子操作面試題及參考答案

Go 的 sync/atomic 包和 sync.Mutex 的根本區別是什么&#xff1f; Go 語言中的 sync/atomic 包和 sync.Mutex 都用于處理并發編程中的同步問題&#xff0c;但它們的實現機制、應用場景和性能特性存在根本差異。理解這些差異對于編寫高效、安全的并發代碼至關重要。 sync/atomi…

MATLAB 山脊圖繪制全解析:從數據生成到可視化進階

一、引言&#xff1a;當數據分布擁有「層次感」—— 山脊圖的魅力? 在數據可視化的世界里&#xff0c;我們常常需要同時展示多個分布的形態差異。傳統的重疊密度圖雖然能呈現整體趨勢&#xff0c;但當分布數量較多時&#xff0c;曲線交疊會讓畫面變得雜亂。這時候&#xff0c…

跨境電商每周資訊—6.16-6.20

1. Instagram 在亞太地區逐漸超越 TikTok 在整個亞太地區&#xff0c;Instagram用戶數量正逐漸超過TikTok。預計2025年日本Instagram用戶數量將增至4440萬&#xff0c;印度今年用戶數量將增長10%&#xff0c;領跑亞太。與之形成對比的是&#xff0c;TikTok在一些國家增長速度放…

計算機網絡 網絡層:數據平面(一)

前一節學習了運輸層依賴于網絡層的主機到主機的通信服務&#xff0c;提供各種形式的進程到進程的通信。了解這種主機到主機通信服務的真實情況&#xff0c;是什么使得它工作起來的。 在本章和下一章&#xff0c;將學習網絡層實際是怎樣實現主機到主機的通信服務。與運輸層和應用…

Suna本地部署詳細教程

一、安裝基礎環境 # 1、創建環境 conda create -n suna python3.11.7# 2、激活虛擬環境 conda activate suna# 3、安裝jupyter和ipykernel pip install jupyter ipykernel# 4、將虛擬環境添加到jupyter # python -m ipykernel install --user --namemyenv --display-name"…

LeetCode 每日一題打卡|若谷的刷題日記 3day--最長連續序列

1.最長連續序列 題目&#xff1a; 給定一個未排序的整數數組 nums &#xff0c;找出數字連續的最長序列&#xff08;不要求序列元素在原數組中連續&#xff09;的長度。 請你設計并實現時間復雜度為 O(n) 的算法解決此問題。 示例 1&#xff1a; 輸入&#xff1a;nums [1…

EfficientVLA:面向視覺-語言-動作模型無訓練的加速與壓縮

25年6月來自上海交大、哈工大、西安交大和電子科大&#xff08;成都&#xff09;的論文“EfficientVLA: Training-Free Acceleration and Compression for Vision-Language-Action Models”。 視覺-語言-動作 (VLA) 模型&#xff0c;特別是基于擴散的架構&#xff0c;展現出具…

wireshark抓包分析TCP數據包

1、直接從TCP的三次握手開始說起 三次握手就是客戶與服務器建立連接的過程 客戶向服務器發送SYN(SEQ=x)報文,然后就會進入SYN_SEND狀態服務器收到SYN報文之后,回應一個SYN(SEQ=y)ACK(ACK=x+1)報文,然后就會進入SYN_RECV狀態客戶收到服務器的SYN報文,回應一個ACK(AC…

同等學力申碩-計算機統考-歷年真題和備考經驗

同等學力申請碩士學位考試是比較適合在職人員的提升學位方式&#xff0c;了解過的人應該都知道&#xff0c;現在社會的競爭壓力越來越大&#xff0c;為了提高職業生存能力&#xff0c;提升學位在所難免。 一、已有計算機統考歷年真題資料 報名過同等學力申碩計算機專業的朋友都…

OSI網絡通信模型詳解

OSI 模型就是把這整個過程拆解成了 7 個明確分工的步驟&#xff0c;每一層只負責自己那一攤事兒&#xff0c;這樣整個系統才能順暢運轉&#xff0c;出了問題也容易找到“鍋”在誰那。 核心比喻&#xff1a;寄快遞 &#x1f4e6; 想象你要把一份重要的禮物&#xff08;你的數據…

C++ 檢測文件大小和文件傳輸

檢測文件的大小 你可以通過標準 C/C 的文件 API 很方便地獲取文件的字節大小&#xff0c;以下是幾種常用方法&#xff1a; ? 方法一&#xff1a;使用 stat() 函數&#xff08;推薦&#xff09; #include <sys/stat.h> #include <stdio.h>off_t get_file_size(co…

Ubuntu 中修改網卡 IP

在 Ubuntu 中修改網卡 IP 地址可以通過以下方法實現&#xff0c;具體取決于你使用的網絡管理工具&#xff08;如 netplan、ifconfig/ip 命令或傳統 interfaces 文件&#xff09;。以下是常見方法&#xff1a; 方法 1&#xff1a;使用 netplan&#xff08;Ubuntu 17.10 及更新版…