A. python圖像處理代碼,望大神詳細解釋。越詳細越好
#初始化一個矩形np.max(marks)+1行,3列,默認值為0
colorTab=np.zeros((np.max(marks)+1,3))
#遍歷數組,給每行的3列賦值,就是RGB顏色值,8位的
foriinrange(len(colorTab)):
aa=np.random.uniform(0,255)
bb=np.random.uniform(0,255)
cc=np.random.uniform(0,255)
colorTab[i]=np.array([aa,bb,cc],np.uint8)
#初始化另一個跟img圖像形狀大小一樣的圖像,一副黑色圖像
bgrImage=np.zeros(img.shape,np.uint8)
#遍歷marks形狀的行列
foriinrange(marks.shape[0]):
forjinrange(marks.shape[1]):
index=marks[i][j]
#判斷是不是區域與區域之間的分界,如果是邊界(-1),則使用白色顯示
ifindex==-1:
bgrImage[i][j]=np.array([255,255,255])#像素點設置位白色
else:
bgrImage[i][j]=colorTab[index]#像素點設置位上邊隨機生成的顏色值
#顯示處理後的圖像圖像
cv2.imshow('AfterColorFill',bgrImage)
#總結,先生成一個跟marks相同數量的row*col的一張顏色表,然後創建一個跟marks相同大小的一副黑色圖像
#最後對黑色圖像畫出白色邊界和內部隨機彩色像素值
B. 怎麼用python的turtle庫畫出這個圖案,要代碼
import turtle as t
def quad(color):
t.begin_fill()
t.color(color)
t.forward(100)
t.left(36)
t.forward(100)
t.left(36*4)
t.forward(100)
t.left(36)
t.forward(100)
t.end_fill()
t.left(36*3)
for i in range(10):
if i%2:
quad('#99c8de')
else:
quad('#e5b9c4')
兩三年沒碰海龜了,覺得沒啥用,看你賞金又提了就回去學了學
C. 醫學圖像三維重建,體繪制中的光線投射演算法(raycast)的MATLAB或者python實現代碼
介紹了運用Matlab軟體進行CT斷層圖像的三維重建的原理及實現方法。運用計算機圖形學和圖像處理技術將計算機斷層掃描(CT)等成像設備得到的人體斷層二維圖像序列,在計算機中重建成三維圖像數據,並在屏幕上形象逼真地顯示人體器官的立體視圖。可以對重構出的器官圖像進行諸如旋轉、縮放等操作,重建方法簡單,顯示效果良好
D. python顏色代碼是什麼
顏色代碼:
紅色#FF0000,深紫色#871F78,褐紅色#8E236B,石英色#D9D9F3。
綠色#00FF00,深石板藍#6B238E,中海藍色#32CD99,艷藍色#5959AB。
藍色#0000FF,深鉛灰色#2F4F4F,中藍色#3232CD,鮭魚色#6F4242。
牡丹紅#FF00FF,深棕褐色#97694F,中森林綠#6B8E23,猩紅色#BC1717。
青色#00FFFF,深綠松石色#7093DB,中鮮黃色EAEAAE,海綠色#238E68。
應用方法如下所示:
在pycharm中,如果使用了「import」語句導入了包,但是之後的代碼中沒有使用到這些包,那麼這些包的顏色就是灰色的。示例如下:導入了re包以及requests包,但是只使用了requests包,沒有使用re包。
E. 如何應用Python處理醫學影像學中的DICOM信息
下面Python代碼來演示如何編程處理心血管冠脈造影DICOM圖像信息。
1. 導入主要框架:SimpleITK、pydicom、PIL、cv2和numpy
import SimpleITK as sitk
from PIL import Image
import pydicom
import numpy as np
import cv2
2. 應用SimpleITK框架來讀取DICOM文件的矩陣信息。如果DICOM圖像是三維螺旋CT圖像,則幀參數則代表CT掃描層數;而如果是造影動態電影圖像,則幀參數就是15幀/秒的電影圖像幀數。
def loadFile(filename):
ds = sitk.ReadImage(filename)
img_array = sitk.GetArrayFromImage(ds)
frame_num, width, height = img_array.shape
return img_array, frame_num, width, height
3. 應用pydicom來提取患者信息。
def loadFileInformation(filename):
information = {}
ds = pydicom.read_file(filename)
information['PatientID'] = ds.PatientID
information['PatientName'] = ds.PatientName
information['PatientBirthDate'] = ds.PatientBirthDate
information['PatientSex'] = ds.PatientSex
information['StudyID'] = ds.StudyID
information['StudyDate'] = ds.StudyDate
information['StudyTime'] = ds.StudyTime
information['InstitutionName'] = ds.InstitutionName
information['Manufacturer'] = ds.Manufacturer
information['NumberOfFrames'] = ds.NumberOfFrames
return information
4. 應用PIL來檢查圖像是否被提取。
def showImage(img_array, frame_num = 0):
img_bitmap = Image.fromarray(img_array[frame_num])
return img_bitmap
5. 採用CLAHE (Contrast Limited Adaptive Histogram Equalization)技術來優化圖像。
def limitedEqualize(img_array, limit = 4.0):
img_array_list = []
for img in img_array:
clahe = cv2.createCLAHE(clipLimit = limit, tileGridSize = (8,8))
img_array_list.append(clahe.apply(img))
img_array_limited_equalized = np.array(img_array_list)
return img_array_limited_equalized
F. python opencv image 怎麼變成偽彩色
OpenCV 生成 偽彩色圖像
opencv中沒有易用的偽彩色圖像生成函數,這里提供一個改造過的函數,利用自定義colorbar 將灰度圖像轉換成為偽彩色圖像,優點在於提供了對於顏色的直觀可操控性,轉換方便。
函數代碼如下:
[cpp] view plain 在CODE上查看代碼片派生到我的代碼片
//function : Pseudo color - enhanced
//author : Xin Yang, Shenzhen Univ., School of medicine
//email : [email protected]
//date : 2015.01.23
void C_Assistant::Gray2PseudoColor(IplImage* src ,IplImage *&dst)
{
if(dst != NULL)
{
cvReleaseImage(&dst);
dst = NULL;
}
dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 3);
IplImage *R, *G,*B;
//Load referred color bar
std::string HeatMapPath = "..\\ColorBar.png";
IplImage* heatmap = cvLoadImage(HeatMapPath.c_str());
//we split the heatmap along the 3 channels
R = cvCreateImage(cvGetSize(heatmap), heatmap->depth,1);
G = cvCloneImage(R);
B = cvCloneImage(R);
cvSplit(heatmap,B,G,R,NULL);
for(int x=0; x<src->width; x++)
{
for(int y=0;y<src->height; y++)
{
//memory access to the destination color image (faster than splitting the 3 channels...)
unsigned char *data = &((unsigned char*)(dst->imageData + dst->widthStep*y ))[x*3];
//read the intensity value in the grayscale image
unsigned char gray = src->imageData[src->widthStep*y + x*src->nChannels];
//remember, OpenCV store images as BGR internally !
//So access [2] for Red, [1] for Green et [3] for Blue
float ColorIndex = gray/255.0*heatmap->height;
if(ColorIndex >= heatmap->height) ColorIndex = heatmap->height - 1;
data[2] = cvGet2D(R, ColorIndex, 1).val[0]; //Red channel
data[1] = cvGet2D(G, ColorIndex, 1).val[0]; //Green channel
data[0] = cvGet2D(B, ColorIndex, 1).val[0]; //Blue channel
}
}
//Clear
if(heatmap != NULL)
{
cvReleaseImage(&heatmap);
heatmap = NULL;
}
}
參考可用的colorbar如下,也可以自己生成來替換。
G. 這樣的python代碼顏色是怎麼做到的
Python的本編輯器?
pycharm,好像能達到這種效果
H. 急求matlab繪制的醫學相關圖像代碼~~!!!急,急,急!!!
圖像處理函數詳解——bwareaopen 功能:用於從對象中移除小對象。
用法:BW2 = bwareaopen(BW,P)
BW2 = bwareaopen(BW,P,CONN)
BW2 = bwareaopen(BW,P,CONN)從二值圖像中移除所有小於P的連通對象。CONN對應鄰域方法,默認為8。
例子:originalBW = imread('text.png');imview(originalBW) bwAreaOpenBW = bwareaopen(originalBW,50);imview(bwAreaOpenBW)圖像處理函數詳解——bwlabel 功能:對連通對象進行標注,bwlabel主要對二維二值圖像中各個分離部分進行標注(多維用bwlabeln,用法類似)。
用法:L = bwlabel(BW,n)
[L,num] = bwlabel(BW,n)
L = bwlabel(BW,n)表示返回和BW相同大小的數組L。L中包含了連通對象的標注。參數n為4或8,分別對應4鄰域和8鄰域,默認值為8。
[L,num] = bwlabel(BW,n)返回連通數num。
I. 用python K值聚類識別圖片主要顏色的程序,演算法python代碼已經有了
難得被人求助一次, 這個必須回答一下. 不過你的需求確實沒有寫得太清楚. 根據k值演算法出來的是主要顏色有三個, 所以我把三個顏色都打在記事本里了. 如果和你的需求有誤, 請自行解決吧.
另外這里需要用到numpy的庫, 希望你裝了, 如果沒裝, 這個直接安裝也比較麻煩, 可以看一下portablepython的綠色版。
代碼如下:
#-*-coding:utf-8-*-
importImage
importrandom
importnumpy
classCluster(object):
def__init__(self):
self.pixels=[]
self.centroid=None
defaddPoint(self,pixel):
self.pixels.append(pixel)
defsetNewCentroid(self):
R=[colour[0]forcolourinself.pixels]
G=[colour[1]forcolourinself.pixels]
B=[colour[2]forcolourinself.pixels]
R=sum(R)/len(R)
G=sum(G)/len(G)
B=sum(B)/len(B)
self.centroid=(R,G,B)
self.pixels=[]
returnself.centroid
classKmeans(object):
def__init__(self,k=3,max_iterations=5,min_distance=5.0,size=200):
self.k=k
self.max_iterations=max_iterations
self.min_distance=min_distance
self.size=(size,size)
defrun(self,image):
self.image=image
self.image.thumbnail(self.size)
self.pixels=numpy.array(image.getdata(),dtype=numpy.uint8)
self.clusters=[Noneforiinrange(self.k)]
self.oldClusters=None
randomPixels=random.sample(self.pixels,self.k)
foridxinrange(self.k):
self.clusters[idx]=Cluster()
self.clusters[idx].centroid=randomPixels[idx]
iterations=0
whileself.shouldExit(iterations)isFalse:
self.oldClusters=[cluster.centroidforclusterinself.clusters]
printiterations
forpixelinself.pixels:
self.assignClusters(pixel)
forclusterinself.clusters:
cluster.setNewCentroid()
iterations+=1
return[cluster.centroidforclusterinself.clusters]
defassignClusters(self,pixel):
shortest=float('Inf')
forclusterinself.clusters:
distance=self.calcDistance(cluster.centroid,pixel)
ifdistance<shortest:
shortest=distance
nearest=cluster
nearest.addPoint(pixel)
defcalcDistance(self,a,b):
result=numpy.sqrt(sum((a-b)**2))
returnresult
defshouldExit(self,iterations):
ifself.oldClustersisNone:
returnFalse
foridxinrange(self.k):
dist=self.calcDistance(
numpy.array(self.clusters[idx].centroid),
numpy.array(self.oldClusters[idx])
)
ifdist<self.min_distance:
returnTrue
ifiterations<=self.max_iterations:
returnFalse
returnTrue
#############################################
#
defshowImage(self):
self.image.show()
defshowCentroidColours(self):
forclusterinself.clusters:
image=Image.new("RGB",(200,200),cluster.centroid)
image.show()
defshowClustering(self):
localPixels=[None]*len(self.image.getdata())
foridx,pixelinenumerate(self.pixels):
shortest=float('Inf')
forclusterinself.clusters:
distance=self.calcDistance(
cluster.centroid,
pixel
)
ifdistance<shortest:
shortest=distance
nearest=cluster
localPixels[idx]=nearest.centroid
w,h=self.image.size
localPixels=numpy.asarray(localPixels)
.astype('uint8')
.reshape((h,w,3))
colourMap=Image.fromarray(localPixels)
colourMap.show()
if__name__=="__main__":
fromPILimportImage
importos
k_image=Kmeans()
path=r'.\pics\'
fp=open('file_color.txt','w')
forfilenameinos.listdir(path):
printpath+filename
try:
color=k_image.run(Image.open(path+filename))
fp.write('Thecolorof'+filename+'is'+str(color)+' ')
except:
print"Thisfileformatisnotsupport"
fp.close()
J. 如何利用 python 深度學習 實現醫學圖像配准
Python學得倒不用很深,循環跟函數還有類學完就可以搞深度學習了。 新手用深度學習庫先跑跑,真要進階還要修改的話,你會發現瓶頸其實在數學