基于OpenCV對胸部CT圖像的預處理

1 . 傳作靈感

胸部CT中所包含的噪聲比較多,基于OpenCV簡單的做一些處理,降低后續模型訓練的難度。

2. 圖像的合成

在語義分割任務中有的時候需要將原圖(imput)和標注數據(groudtruth)合成一幅圖像,觀察圖像分割的效果,涉及的代碼如下:

import matplotlib.pyplot as plt
import os
import pandas as pd
from scipy.ndimage.interpolation import zoom
from PIL import Image
from matplotlib import image
import matplotlib.pyplot as pltimg=Image.open('dataset/train_image/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg',)
mask= Image.open('dataset/train_mask/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg')plt.subplot(2, 2, 1)
plt.imshow(img,cmap='bone')
plt.subplot(2, 2, 2)
plt.imshow(mask,cmap='bone')
# 圖像融合顯示
plt.subplot(2, 2, 3)
#原圖以0.6的比例加入,mask以0.4的比例加入
plt.imshow(img, alpha=0.6,cmap='bone')
plt.imshow(mask, alpha=0.4,cmap='gray')
plt.show()

合成的效果如圖所示:

還有一種方法使用Image.blend(img, mask, 0.5)函數,具體代碼如下:

img=Image.open('dataset/train_image/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg',)
mask= Image.open('dataset/train_mask/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg')
#
img = img.convert('L')
mask = mask.convert('L')img.show()
mask.show()con = Image.blend(img, mask, 0.5)
con.show()

合成的效果如下:

3. 高斯濾波

img =cv.imread('dataset/train_image/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg', cv.IMREAD_GRAYSCALE)
mask = cv.imread('dataset/train_mask/1.3.6.1.4.1.14519.5.2.1.6279.6001.109002525524522225658609808059_66.jpg', cv.IMREAD_GRAYSCALE)
cv.imshow("img",img)
# 高斯濾波
img_Gauss=cv.GaussianBlur(img,(7,7),0,0)
dst2 = cv.GaussianBlur(img, (9, 9), 0, 0)
cv.imshow("img_Gauss", img_Gauss)

效果如下:

? ?

3.中值濾波

img_median = cv.medianBlur(img,5)
cv.imshow("img_median", img_median)

4.適應閾值濾波

#自適應閾值濾波
t2,img_ostu = cv.threshold(img_median, 0,255, cv.THRESH_OTSU)
t2,img_ostu = cv.threshold(img_median, 0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
cv.imshow("img_ostu", img_ostu)

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

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

相關文章

Java——接口的補充

目錄 一:接口的注意事項 1. 接口中不能有方法塊; 2. 接口沒有構造方法: 3.接口是可以多繼承的; 4. 多個接口抽象方法重復 5. 類的父類方法與接口方法重復 二:類與接口 1. 繼承與實現 2. 多個父接口的抽象…

AzureDataFactory 表選項之自動創建表

接上篇, 該篇里表與表之間采取了提前mapping的方式,通過Import schemas的方式將源和目標的表的schemas做了一對一的匹配 但如果我的應用場景是將D365的表數據推送到外部數據源,需要原表clone,如果我去先建表建字段再做mapping未免過于繁瑣&am…

基于WPF的DynamicDataDisplay曲線顯示

一、DynamicDataDisplay下載和引用 1.新建項目,下載DynamicDataDisplay引用: 如下圖: 二、前端開發: <Border Grid.Row="0" Grid.Column="2" BorderBrush="Purple" BorderThickness="1" Margin="2"><Grid>…

面試筆記——類加載器

基礎 類加載器&#xff1a;用于裝載字節碼文件(.class文件)運行時數據區&#xff1a;用于分配存儲空間執行引擎&#xff1a;執行字節碼文件或本地方法垃圾回收器&#xff1a;用于對JVM中的垃圾內容進行回收 類加載器 &#xff1a;JVM只會運行二進制文件&#xff0c;類加載器的…

Gateway基礎配置指南

Gateway基礎配置指南 一、引言 隨著微服務架構的普及&#xff0c;API網關&#xff08;Gateway&#xff09;作為微服務架構中的關鍵組件&#xff0c;其重要性日益凸顯。Gateway作為系統的唯一入口&#xff0c;負責處理所有客戶端的請求&#xff0c;并根據業務規則將請求轉發到…

快速上手prometheaus grafana 監控

介紹 prometheaus 一個定時輸出指標數據的巡檢組件&#xff1f; grafana 一個讀取指標&#xff0c;可視化的提供了好看界面的組件&#xff1f; 教程 如何和springboot項目集成 【IT老齊153】超級實用&#xff01;十分鐘掌握Prometheus與Grafana監控SpringBoot應用_嗶哩嗶哩_…

【知識碎片】2024_05_10

每日代碼 至少是其他數兩倍的最大數 . - 力扣&#xff08;LeetCode&#xff09; int dominantIndex(int* nums, int numsSize) {int max_num 0;int next_max 0;int pos 0;for(int i 0; i < numsSize; i){if(nums[i] > max_num) {pos i;next_max max_num;max_num…

如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英語能力評測對話網頁機器人(詳細教程)

ERNIE 千帆大模型 ERNIE-3.5是一款基于深度學習技術構建的高效語言模型&#xff0c;其強大的綜合能力使其在中文應用方面表現出色。相較于其他模型&#xff0c;如微軟的ChatGPT&#xff0c;ERNIE-3.5不僅綜合能力更強&#xff0c;而且在訓練與推理效率上也更高。這使得ERNIE-3…

JVM調優—減少FullGC

背景 最近負責了一個審批流程新項目&#xff0c;帶領了幾個小伙伴&#xff0c;哼哧哼哧的干了3個月左右&#xff0c;終于在三月底完美上線了&#xff0c;好消息是線上客戶用的很絲滑&#xff0c;除了幾個非常規的業務提單之外&#xff0c;幾乎沒有什么大的問題&#xff0c;但是…

行駛證OCR識別接口怎么對接

行駛證OCR識別接口也叫行駛證文字識別OCR接口,指的是傳入行駛證照片&#xff0c;精準識別靜態行駛證圖像上的文字信息。那么行駛證OCR識別接口怎么對接呢&#xff1f; 首先我們找到數脈API,然后注冊賬戶&#xff0c;購買免費套餐 然后就需要公司的技術大牛把行駛證文字識別OCR…

gdb調試功能描述

gdb調試功能描述 gdb 調試&#xff1a;只對可執行文件進行調用&#xff0c;無法直接用gdb調試.c文件 1.查找命令幫助&#xff1a; &#xff08;gdb&#xff09; help data &#xff08;gdb&#xff09; help call -l (list) 查看載入文件&#xff08;默認為10行&#xff09…

短信群發公司通道有哪些要求

短信群發公司通道有哪些要求 網絡穩定性 短信群發公司的通道在進行時需要具備良好的網絡穩定性。這意味著通道需要能夠穩定連接到互聯網&#xff0c;并具備高速傳輸能力。在網絡不穩定或者傳輸速度慢的情況下&#xff0c;可能會受到影響&#xff0c;甚至導致失敗。 高可靠性 …

linux - 主次設備號自動申請

alloc_chrdev_region 原型如下&#xff0c;該函數向內核申請一個空閑的主設備號。 alloc_chrdev_region(&g_aputriger_dev, 0, APUTRIGER_MAX_NUM, "aputriger0"); 第四個參數是我們使用cat /proc/devices 看到的名稱 /*** alloc_chrdev_region() - register a…

持續總結中!2024年面試必問 100 道 Java基礎面試題(四十)

上一篇地址&#xff1a;持續總結中&#xff01;2024年面試必問 100 道 Java基礎面試題&#xff08;三十九&#xff09;-CSDN博客 七十九、Java泛型中的T、R、K、V、E分別指什么&#xff1f; 在Java泛型中&#xff0c;T、R、K、V 和 E 是類型參數的常見占位符&#xff0c;它們用…

Babylon.js 7.0開發入門教程

Babylon.js 是一個功能強大的開源 3D 引擎&#xff0c;能夠使用 JavaScript 渲染交互式 3D 和 2D 圖形。它是為 Web 甚至 VR 創建游戲、演示、可視化和其他 3D 應用程序的絕佳選擇。Babylon.js最新版本是7.0。 Babylon.js 是免費、開源和跨平臺的&#xff0c;是 Unity 和 Unre…

LeetCode 每日一題 ---- 【1463.摘櫻桃 II】

LeetCode 每日一題 ---- 【1463.摘櫻桃 II】 1463.摘櫻桃II方法&#xff1a;動態規劃&#xff08;遞推&#xff09; 1463.摘櫻桃II 方法&#xff1a;動態規劃&#xff08;遞推&#xff09; 昨天是摘櫻桃I&#xff0c;今天是II&#xff0c;與昨天的區別主要在于&#xff0c;今…

【進程替換】多進程程序替換原理 | 進程程序替換函數 | execlexecv | execlpexecvp

目錄 多進程程序替換 多進程程序替換原理 進程程序替換函數詳解 execl&execv execlp&execvp execle&execvpe execve 多進程程序替換 我們想要進程替換的同時不影響舊的進程&#xff08;使用多進程版&#xff09;fork創建子進程&#xff0c;讓子進程去替換執…

2008NOIP普及組真題 4. 立體圖

線上OJ&#xff1a; 一本通-1977&#xff1a;【08NOIP普及組】立體圖 核心思想&#xff1a; 本題采用模擬方法一個一個畫小方塊&#xff08;雖然畫的是立體空間的積木&#xff0c;但本質還是在二維平面上畫圖形&#xff09; 本題的難點在于&#xff1a; 1、如何確定二維平面畫…

tengine-docker鏡像制作

1.下載 wget https://tengine.taobao.org/download/tengine-3.0.0.tar.gz 或者直接下載這個包括下邊兩個配置文件了 https://download.csdn.net/download/cyw8998/89286114 2.編輯nginx.conf文件 #####user nobody; worker_processes 1;#error_log logs/error.log; #er…