第一篇:matlabGUI圖像處理
圖像處理
一、實習任務
利用MATLAB里面的一些特定函數和GUI可視化圖形界面設計一個屬于自己的photoshop,使其完成簡易的放大、縮小、截圖以及直方圖統計等功能。
二、實習內容
1、布局設計
2、程序設計 %文件打開
[name,path]=uigetfile({'*.*';'*.bmp';'*.tif';'*.png';'*.gif';'*.jpg'},'載入圖像');if isequal(name,0)|isequal(path,0)errordlg('沒有選中文件','出錯');return;else x=imread([path,name]);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;guidata(hObject,handles)end
%文件保存
[filename,pathname] = uiputfile({'*.*';'*.bmp';'*.tif';'*.png';'*.gif';'*.jpg'},'圖片保存為');if isequal([filename,pathname],[0,0])errordlg('沒有保存','出錯');return;else file=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);end
%文件退出 clc;close all;close(gcf);
%灰度處理
axes(handles.axes2);if isrgb(handles.img)y=rgb2gray(handles.img);%RGB?????????? imshow(y);else msgbox('這已經是灰度圖像','轉換失敗');end %截圖
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);y=imcrop(handles.img);imshow(y);handles.Timage=y;
%雙線性縮小
axes(handles.axes2);prompt={'輸入放大倍數:'};defans={'0.2'};p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p{1});y=imresize(handles.img,p1,'bilinear');%法縮小 imshow(y);
%雙線放大
axes(handles.axes2);prompt={'輸入放大倍數:'};defans={'2'};p=inputdlg(prompt,'輸入放大倍數',1,defans);p1=str2num(p{1});y=imresize(handles.img,p1,'bilinear');%值法放大 imshow(y);
%上下翻轉
最近鄰插值最近鄰插axes(handles.axes2);x=(handles.img);if isrgb(handles.img)for k=1:3 y(:,:,k)=flipud(x(:,:,k));%上下翻轉函數 end imshow(y);else x=(handles.img);y=flipud(x);imshow(y);end
%左右翻轉
axes(handles.axes2);if isrgb(handles.img)x=(handles.img);for k=1:3 y(:,:,k)=fliplr(x(:,:,k));%左右翻轉函數 end imshow(y);else x=(handles.img);y=fliplr(x);imshow(y);end
%左轉90度
axes(handles.axes2);x=(handles.img);y=imrotate(x,90);imshow(y);
%右轉90度
axes(handles.axes2);x=(handles.img);y=imrotate(x,-90);imshow(y);
%任意角度旋轉 axes(handles.axes2);prompt={'輸入參數1:'};defans={'30'};p=inputdlg(prompt,'輸入參數',1,defans);p1=str2num(p{1});y=imrotate(handles.img,p1);imshow(y);
%亮度處理
prompt={'輸入參數1','輸入參數2','輸入gamma'};defans={'[0 0.7]','[0 1]','1'};p=inputdlg(prompt,'輸入參數',1,defans);p1=str2num(p{1});p2=str2num(p{2});p3=str2num(p{3});gamma=p3;x=(handles.img);y=imadjust(x,p1,p2,gamma);axes(handles.axes2);imshow(y);%G直方圖
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)x=imhist(handles.img(:,:,2));%直方圖統計 x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);else msgbox('這是灰度圖像','旋轉失敗');end %R直方圖
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img(:,:,1));%統計
x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,'xtick',0:50:255);%B直方圖
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)
直方圖x=imhist(handles.img(:,:,3));%直方圖統計
x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis([0 255 0 150000]);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);else msgbox('這是灰度圖像','旋轉失敗');end
%直方圖均衡
set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);if isrgb(handles.img)a=histeq(handles.img(:,:,1));b=histeq(handles.img(:,:,2));c=histeq(handles.img(:,:,3));k(:,:,1)=a;k(:,:,2)=b;k(:,:,3)=c;imshow(k);else h=histeq(handles.img);%直方圖均衡 imshow(h);end
3、效果圖
三、遇到的問題及解決方法
1、遇到的問題
最開始在Command里面用imread打開圖片是可行的,但到了GUI里面之后,會出現一些錯誤,主要就是提示說:找不到對應的地方。還有就是在編寫完程序之后,放大感覺沒有任何變化。
2、解決方法
在查詢資料后發現,在GUI里面打開圖片是需要編寫圖片的地址以及格式的,要先判斷你要操作的圖片是否存在,如果不存在,應該提示你不存在的錯誤;在不能放大這個問題上,后來發現是axes2不夠大,也就是畫布不夠大,再放大了畫布后,放大就明顯多了,縮小的時候也是這樣。
四、主要收獲和心得體會
在倆周的自動化軟件實訓里面,最大的感觸就是MATLAB很強大,不但可以用自己自帶的函數,還可以和C語言Java等語言連接共用,在處理圖像上有自己獨特的優勢,在編輯菜單之后再進行相應的編程,做出來的界面和網頁一樣好看,這倆周特別快,不過收獲很多,在很大程度上鍛煉了我們的設計能力。
第二篇:圖像處理 實驗報告
摘要:
圖像處理,用計算機對圖像進行分析,以達到所需結果的技術。又稱影像處理?;緝热?圖像處理一般指數字圖像處理。數字圖像是指用數字攝像機、掃描儀等設備經過采樣和數字化得到的一個大的二維數組,該數組的元素稱為像素,其值為一整數,稱為灰度值。圖像處理技術的主要內容包括圖像壓縮,增強和復原,匹配、描述和識別3個部分。圖像處理一般指數字圖像處理。
數字圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。目前,圖像處理演示系統應用領域廣泛醫學、軍事、科研、商業等領域。因為數字圖像處理技術易于實現非線性處理,處理程序和處理參數可變,故是一項通用性強,精度高,處理方法靈活,信息保存、傳送可靠的圖像處理技術。本圖像處理演示系統以數字圖像處理理論為基礎,對某些常用功能進行界面化設計,便于初級用戶的操作。設計要求
可視化界面,采用多幅不同形式圖像驗證系統的正確性;
合理選擇不同形式圖像,反應各功能模塊的效果及驗證系統的正確性 對圖像進行灰度級映射,對比分析變換前后的直方圖變化;
1.課題目的與要求 目的:
基本功能:彩色圖像轉灰度圖像
圖像的幾何空間變換:平移,旋轉,剪切,縮放 圖像的算術處理:加、減、乘
圖像的灰度拉伸方法(包含參數設置); 直方圖的統計和繪制;直方圖均衡化和規定化; 要求:
1、熟悉圖像點運算、代數運算、幾何運算的基本定 義和常見方法;
2、掌握在MTLAB中對圖像進行點運算、代數運算、幾何運算的方法
3、掌握在MATLAB中進行插值的方法
4、運用MATLAB語言進行圖像的插值縮放和插值旋轉等
5、學會運用圖像的灰度拉伸方法
6、學會運用圖像的直方圖設計和繪制;以及均衡化和規定化
7、進一步熟悉了解MATLAB語言的應用,將數字圖像處理更好的應用于實際
2.課題設計內容描述
1>彩色圖像轉化灰度圖像:
大部分圖像都是RGB格式。RGB是指紅,綠,藍三色。通常是每一色都是256個級。相當于過去攝影里提到了8級灰階。
真彩色圖像通常是就是指RGB。通常是三個8位,合起來是24位。不過每一個顏色并不一定是8位。比如有些顯卡可以顯示16位,或者是32位。所以就有16位真彩和32位真彩。
在一些特殊環境下需要將真彩色轉換成灰度圖像。1單獨處理每一個顏色分量。
2.處理圖像的“灰度“,有時候又稱為“高度”。邊緣加強,平滑,去噪,加銳度等。
3.當用黑白打印機打印照片時,通常也需要將彩色轉成灰白,處理后再打印 4.攝影里,通過黑白照片體現“型體”與“線條”,“光線”。2>圖像的幾何空間變化:
圖像平移是將圖像進行上下左右的等比例變化,不改變圖像的特征,只改變位置。
圖像比例縮放是指將給定的圖像在x軸方向按比例縮放fx倍,在y軸按比例縮放fy倍,從而獲得一幅新的圖像。如果fx=fy,即在x軸方向和y軸方向縮放的比率相同,稱這樣的比例縮放為圖像的全比例縮放。如果fx≠fy,圖像的比例縮放會改變原始圖象的像素間的相對位置,產生幾何畸變。
旋轉。一般圖像的旋轉是以圖像的中心為原點,旋轉一定的角度,也就是將圖像上的所有像素都旋轉一個相同的角度。旋轉后圖像的的大小一般會改變,即可以把轉出顯示區域的圖像截去,或者擴大圖像范圍來顯示所有的圖像。圖像的旋轉變換也可以用矩陣變換來表示。3>圖像的算術處理:
圖像代數運算是指對兩幅或兩幅以上輸入圖像對應的像素逐個進行和差積商運算以產生增強效果的圖像。圖像運算是一種比較簡單有效的增強處理手段是圖像處理中常用方法。三種圖像處理代數運算的數學表達式如下: C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)4>圖像的灰度拉伸方法:
灰度拉伸又叫對比度拉伸,它是最基本的一種灰度變換,使用的是最簡單的分段線性變換函數,它的主要思想是提高圖像處理時灰度級的動態范圍。可以有選擇的拉伸某段灰度區間以改善輸出圖像。如圖,所示的變換函數的運算結果是將原圖在a到b之間的灰度拉伸到c到d之間。如果一幅圖像的灰度集中在較暗的區域而導致圖像偏暗,可以用灰度拉伸功能來拉伸(斜率>1)物體灰度區間以改善圖像;同樣如果圖像灰度集中在較亮的區域而導致圖像偏亮,也可以用灰度拉伸功能來壓縮(斜率<1)物體灰度區間以改善圖像質量。
5>直方圖設計和繪制;以及均衡化和規定化:
灰度直方圖是將數字圖像的所有像素,按照灰度值的大小,統計其所出現的頻度。通常,灰度直方圖的橫坐標表示灰度值,縱坐標為半個像素個數,也可以采用某一灰度值的像素數占全圖像素數的百分比作為縱坐標。
直方圖均衡方法的基本原理是:對在圖像中像素個數多的灰度值(即對畫面起主要作用的灰度值)進行展寬,而對像素個數少的灰度值(即對畫面不起主要作用的灰度值)進行歸并。從而達到清晰圖像的目的。
3.總體方案設計
1> GUI圖像處理平臺的總體設計
圖像處理平臺設計的目的是能夠將圖像處理的各個獨立算法集成到一個平臺內,方便用戶選用多種方法對圖像進行處理.平臺基于MatlabGUI設計,實現圖像處理過程的交互和可視化,并為用戶二次開發提供平臺接口,提高圖像處理算法的綜合利用效率
2>平臺總體功能設計 根據一體化的設計思想,平臺主要實現算法集成、交互可視化和提供二次開發接口等功能.其中算法集成分為已有算法集成和新算法集成.具體功能描述如下:
(1)已有算法集成是對Matlab圖像處理工具
包中提供的算法進行集成,可以通過使用函數名加參數的方式直接調用.依據功能進行分類,將同類算法集成到同一菜單項內,如將傅里葉變換、小波變換、離散變換等算法歸類到圖像變換中,進行集成.(2)新算法集成是指對自主開發的算法進行集成,如改進水平集算法[12]、交互式圖割算法[13]、細胞自動機分割算法[14]等均為自主開發的圖像分割算法,同已有算法集成方式類似,集成到平臺中,便于綜合運用和算法分析與對比.(3)交互式可視化是指對圖像處理過程及結果的可視化顯示,并提供用戶交互區.(4)二次開發接口是指通過調用集成模板方式,為用戶提供一個將自己算法集成到平臺中的一個接口
3>總體布局設計
一個高性能的圖像處理平臺應該為用戶提供
方便快捷的操作.平臺設計中通過菜單和按鈕實現快捷操作,其中菜單項提供平臺的整體功能,快捷按鈕顯示具體的獨立功能.圖像處理平臺的布局設計如圖1所示.利用MatlabGUI提供的工具包和底層代碼,可以實現菜單功能區、快捷按鈕功能區、DEMO顯示區、可視化效果顯示區和用戶交互區的布局設計
4.程序實現和測試
4.1各個功能模塊的主要實現程序 基本功能:彩色圖像轉灰度圖像
I=imread('C:MATLAB7toolboximagesimdemospeppers.png','png');x=rgb2gray(I);figure(1);subplot(121);imshow(I);title('原始圖像');subplot(122);imshow(x);title('灰度圖像');實驗結果:
圖像的幾何空間變換:平移,旋轉,剪切,縮放
img1=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');img1=rgb2gray(img1);figure,imshow(img1);imwrite(img1,'a1.jpg');%%%%%%平移
se=translate(strel(1),[20 20]);img2=imdilate(img1,se);figure,imshow(img2);imwrite(img2,'a2.jpg');%%%%%%旋轉 img3=imrotate(img1,90);figure,imshow(img3);imwrite(img3,'a3.jpg');% %%%%%縮放 img4=imresize(img1,2);figure,imshow(img4);imwrite(img4,'a4.jpg');
原始圖像:
平移圖像:
旋轉圖像:
縮放圖像:
圖像的算術處理:加、減、乘
加法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('圖像1');subplot(1,3,2);imshow(B);title('圖像2');C=imadd(A,B);subplot(1,3,3);imshow(C);title('相加后的圖像')
減法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(2,3,1);imshow(A);title('圖像1');subplot(2,3,2);imshow(B);title('圖像2');C=imsubtract(A,B);subplot(2,3,3);imshow(C);title('相減后的圖像')
乘法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('圖像1');subplot(1,3,2);imshow(B);title('圖像2');C=immultiply(A,B);subplot(1,3,3);imshow(C);title('相乘后的圖像')
圖像的灰度拉伸方法(包含參數設置);
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');figure(1);imshow(img);title('原圖');[m,n]=size(img);%測量圖像尺寸參數
GreyHist=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255 GreyHist(k+1)=length(find(img==k))/(m*n);%計算每級灰度出現的概率,將其存入GreyHist中相應位置
end figure(2);bar(0:255,GreyHist)%繪制直方圖 title('原直方圖')xlabel('灰度值')ylabel('出現概率')%灰度拉伸 imggrey=img;prompt={'請輸入系數a','請輸入系數b'};words='請輸入線性拉伸函數:';answer = inputdlg(prompt,words,1,{'0.5','2'});a=str2double(answer(1));b=str2double(answer(2));for i=1:m for j=1:n img(i,j)=a*img(i,j)+b;end end figure(3);imshow(img);title('灰度拉伸');GreyHist=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255
直方圖的統計和繪制;直方圖均衡化和規定化;
%一,圖像的預處理,讀入彩色圖像將其灰度化
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');%讀入JPG彩色圖像文件
imshow(img)%顯示出來 title('輸入的彩色JPG圖像')imwrite(rgb2gray(img),'PicSampleGray.jpg');%將彩色圖片灰度化并保存 img=rgb2gray(img);%灰度化后的數據存入數組 %二,繪制直方圖
[m,n]=size(img);%測量圖像尺寸參數
GP=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255 GP(k+1)=length(find(img==k))/(m*n);%計算每級灰度出現的概率,將其存入GP中相應位置 end figure,bar(0:255,GP,'g')%繪制直方圖 title('原圖像直方圖')xlabel('灰度值')ylabel('出現概率')%三,直方圖均衡化 S1=zeros(1,256);for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%計算Sk end end S2=round((S1*256)+0.5);%將Sk歸到相近級的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%計算現有每個灰度級出現的概率 end figure,bar(0:255,GPeq,'b')%顯示均衡化后的直方圖 title('均衡化后的直方圖')xlabel('灰度值')ylabel('出現概率')%四,圖像均衡化 PA=img;for i=0:255 PA(find(img==i))=S2(i+1);%將各個像素歸一化后的灰度值賦給這個像素 end figure,imshow(PA)%顯示均衡化后的圖像 title('均衡化后圖像')imwrite(PA,'PicEqual.jpg');
4.3.問題說明和總結:對在調試中發現的問題和解決方法做說明。
圖像處理,是對圖像進行分析、加工、和處理,使其滿足視覺、心理以及其他要求的技術。圖像處理是信號處理在圖像域上的一個應用。目前大多數的圖像是以數字形式存儲,因而圖像處理很多情況下指數字圖像處理。
進行程序調試的過程中,最重要的是輸入圖像,剛開始是為了找到原始圖像耗費了很多時間,一般的條件書上有,但要對其進行磨合。程序編寫時,應該注意大小寫。應該注意最后的輸出部分,保證輸出條件與輸入條件相同。
5.總結與體會 這次使用MATALB進行圖像處理的編寫,是我對MATALB軟件有了更深入的了解,對其的應用能力也有了相應的提高,更深入的了解到MATALB作為繪圖軟件的方便與快捷。在進行程序調試的過程中,最重要的是輸入圖像,只有找到圖像的原始位置,才能進行下面的程序編碼。編碼程序時,應該在MATLAB原始文檔的位置先行輸入,輸入時應該注意大小寫。程序應該盡可能地簡單,只要能達到目的就行,程序越復雜,運行時的錯誤就越多。以上是我的程序編碼經驗與感受。
6.參考文獻
《數字圖像處理實驗指導書》 厙向陽 曹穎超 編著 《MATLAB與數學實驗》 艾冬梅 李艷晴 編著 《圖像處理和分析技術》 章毓晉 編著 《MATLAB實用教程》 鄭阿奇 編著
第三篇:圖像處理說課稿
圖像處理
一、教材分析和教學地位分析
本節課是浙江教育出版社必修教材中第三章第三節第一課時的內容,主要介紹了圖像處理的基本概念:分辨率、位圖和矢量圖、顏色、文件格式,以及常用的圖像編輯工具的簡單介紹。本節課是高二選修教材《多媒體技術應用》中圖像加工部分的的基礎,是用于激發和發現學生對多媒體技術應用的興趣的基礎內容,是為學生高二選修合適內容奠定基礎的一節課。
二、學情分析
本節課的教學對象是高一學生,他們具備了初步的審美意識,并且在日常生活中對于圖像處理有了基本的體驗,如智能手機上的美顏相機軟件,簡單的圖像處理工具美圖秀秀等,但對于圖像處理當中的一些基本概念,如分辨率,圖像格式和分類等仍然處于模糊的狀態,對于圖像處理的高級工具Photoshop也一般是只聞其名,并沒有多少實質性的體驗。因此,本節課從實際出發,創設適當的學習情境,引發學生對圖像處理的學習興趣,通過學生的自身體驗,由淺入深,由抽象到具體得幫助學生掌握基本概念,并且掌握圖像處理工具Photshop的幾個基本功能。
三、教學目標分析
根據教材的結構和內容分析以及新課標要求,結合高一學生的認知結構及其心理特點,我擬定了以下的教學目標。知識與技能:
1、掌握Photshop中仿制圖章工具的用法。
2、掌握畫布修改的方法。
3、掌握圖像的一些基本概念:分辨率、圖像分類及格式。過程與方法:
1、通過體驗仿制圖章工具的使用,體會圖像處理的神奇及樂趣。
2、通過畫布修改的前后對比,從感官上上升對分辨率概念的認識。
3、通過對顏色設置中對于紅綠藍的分量調整,體驗二進制理論在色彩當中的應用。情感態度和價值觀
通過本節課的學習,激發學生對于圖像處理的興趣,培養基本的審美情趣。
四、教學重難點
基于以上的教學目標,我指定了以下的重難點。
重點:分辨率以及圖像分類及格式。
難點:二進制理論在色彩當中的運用。
五、教法和學法
根據本節課的內容和特點,主要采用以下幾種教學方法。
1、演示法:演示仿制圖章的使用。
2、活動探究和任務驅動:引導學生參與活動和任務,發揮學生的主觀能動性,培養學生的動手能力。
3、集體討論:畫布修改的前后對比
六、教學過程
最后我具體談談這堂課的教學過程,本節課設計了5個教學環節。
1、示范演示,激發興趣。
選擇一副果樹圖片,通過給學生演示PS中仿制圖章的使用,激發學生對圖像處理的學習興趣。
任務:通過學習網站當中對于仿制圖章工具的使用介紹,完成另一幅圖片的處理要求。
2、自身體驗,探索新知
活動探究一:通過學習網站中對于畫布修改的操作,完成畫布的修改,并且集體討論回答以下問題:
(1)畫布修改之后圖像有什么變化?
(2)將修改后的畫布放大到和原來一樣大,圖像質量發生了什么變化
根據學生回答,引申分辨率的概念,以及位圖和矢量圖的概念,并且演示矢量圖編輯工具Coraldraw。
3、理論深入
活動探究
二、調整PS中的色彩工具欄中的分量調整,思考標準紅綠藍所對應的二進制代碼。
根據學生回答并補充,引申真彩色的定義。補充文件格式及擴展名。
4、實踐體驗
根據自己愛好,選擇一副圖片,通過網站當中對于PS的濾鏡介紹,體驗濾鏡效果。
5、小結。
七、教學反思
以上教學設計均是我個人的教學預設,在實際的教學過程中,我會根據學生的具體反饋做出相應的調整,做到因材施教,真正的實現以學生為中心的教學,為學生的長遠發展負責,使信息技術教學更好的為生活生產服務。
第四篇:圖像處理教學大綱
《醫學數字圖像處理》課程教學大綱
課程編號: 課程名稱:醫學數字圖像處理
英文名稱:Medical Digital Image Processing 課程類型:專業課
總學時:54(理論學時:27 實驗學時:27)適用對象:衛生信息管理專業(本科)課程簡介:
本課程介紹了有關醫學圖像處理的基本理論、概念、方法,并結合先修課程的基礎理論,來詳細闡述部分目前最常用的醫學圖像處理算法,強調醫學圖像處理的目的性,特別注重圖像處理結果的應用、解釋和算法的物理含義。在此基礎上,結合圖像的計算機處理方法,引導學生處理一些實際的醫學圖像。
一、課程性質、目的和任務
性質:醫學數字圖像處理是衛生信息管理(本科)專業的必修課程。
目的:通過本課程的學習,不僅要使學生打下堅實的醫學圖像處理的基礎理論,掌握現代醫學數字圖像處理的內容、模式和發展趨勢,更要使同學們對數字圖像處理理論在醫學圖像分析中的應用與發展有一個清楚的認識,提高其計算機圖像處理的編程、動手能力。
任務:能夠掌握一些基本的醫學數字圖像處理的技術技能,培養創新思維,提高發現問題和解決問題的能力,為學生建立健全合理的知識結構打下堅實的基礎。
二、教學基本要求
通過本課程的學習,學生應能達到以下要求:
1、掌握數字圖像處理的基本概念、基本原理和重要的常規算法,并在此基礎上掌握數字圖像處理在醫學圖像分析中的特殊之處與發展概況,其中注重引導圖像處理總體流程思路及結構框架的掌握。
2、掌握數字圖像處理的基本方法,逐漸形成觀察、思考、分析和解決有關理論和實踐問題的能力,提高學生為社會服務的能力。
3、能較熟練的運用至少一種編程語言對基本算法進行代碼實現,以加深對課程中理論知識的理解。
三、教學內容及要求
(一)數字圖像處理概述
【了解】DIP的發展及應用實例;DIP的基本步驟及內容(課程結構);數字圖像處理系統簡介;醫學圖像發展概況;
【掌握】圖像的描述方法;數字圖像處理(DIP)的基本概念。
(二)醫學影像的數字化及圖像的運算 【了解】圖像的數字化;圖像的幾何運算。
【掌握】醫學數字影像的獲取途徑;數字圖像的矩陣表示;圖像直方圖;圖像點運算、代數 運算。
(三)醫學影像圖像增強處理
【了解】圖像的頻域增強;傅里葉變換;卷積;Z變換?!臼煜ぁ款l域濾波過程;空域濾波與頻域濾波的對應關系。
【掌握】醫學圖像直方圖均衡;醫學圖像的空域濾波模板設計;平滑空間濾波器;銳化空間濾波器。
(四)醫學影像圖像的成像與重建
【了解】X-CT影像重建基本流程與算法;MRI圖像的重建?!菊莆铡縓-CT影像成像原理;MRI圖像成像原理。
(五)醫學影像圖像分割
【了解】醫學影像圖像分割方法的分類。
【掌握】基于統計的圖像分割;基于區域的圖像分割;基于邊緣的醫學圖像分割。
(六)醫學影像圖像描述
【了解】醫學影像圖像的形狀特征描述;醫學影像圖像的紋理特征描述。
【熟悉】圖像形狀描述子;圖像紋理描述子;圖像骨架的抽取;灰度圖像的形態學濾波。
(七)醫學影像圖像的配準
【了解】圖像配準的概念,圖像相似度測度?!臼煜ぁ炕趫D像灰度的圖像配準方法;基于特征點的配準方法;基于邊緣的圖像配準方法。
(八)醫學圖像模式識別
【了解】圖像特征的選擇、提??;基于統計的模式識別方法;基于結構的模式識別方法;基于人工神經網絡的模式識別方法。
(九)專題:醫學圖像存儲通信系統標準:DICOM3.0 【了解】醫學圖像存儲與通信系統;DICOM3.0標準。
四、教學方法與手段
本課程采用理論講授與上機實踐相結合的教學方式,講授采用多媒體教學。
五、各教學環節學時分配
內容
(一)數字圖像處理概述
(二)醫學影像的數字化及圖像的運算
(三)醫學影像圖像增強處理
(四)醫學影像圖像的成像與重建
(五)醫學影像圖像分割
(六)醫學影像圖像描述
(七)醫學影像圖像的配準 3 5 4 2 4 5 1 3 9 9 3
理論課 3 3
實驗課 3 8
小計 6 11 2
(八)醫學圖像模式識別
(九)專題:醫學圖像存儲通信系統:DICOM3.0 總 計 1 27 1 54
六、考核方式
考試采用閉卷筆試(60%),上機實驗、作業、課堂提問為平時成績(40%)。
七、教材和教學參考書
教材:擬選用《醫學影像圖像處理》(普通高等教育“十一五”國家級規劃教材),陳武凡 主編,人民衛生出版社,2009年3月第一版。參考書:(1)宋余慶編,數字醫學圖像,清華大學出版社,2008,5第一版;
(2)章魯,陳瑛等,醫學圖像處理與分析,上??茖W技術出版社,2006,8第一版;(3)章毓晉,圖象工程(上冊):圖象處理和分析,清華大學出版社,1999(4)Kenneth R.Castleman(美), Digital Image Processing
八、說明
本教學大綱根據高等醫藥院校計算機基礎課程(醫學圖像處理)基本要求編寫而成。
九、本大綱主要起草人、審閱人
主要起草人: 年 月 日 審 閱 人: 年 月 日
衛生管理系 年 月 日
第五篇:圖像處理實驗報告
實 實 驗 報 告
實驗課程名稱
圖像處理(第二版)
指 指 導 老 師
鄧天明
學 學
院
交通運輸
年級
2012 級
專業及班級
交通信息與控制工程二班
學 學 生 姓 名
田
飛
學
號 631205090230
開 開 課 時 間
2014
至
2015
學年第 2
學期
總 總 成 績
教師簽名
實驗名稱 直方圖均衡化 實驗類型 驗證型 實驗時間 2015/6/2 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像數據在計算機中的存儲方式; 2.掌握圖像直方圖均衡化這一基本處理過程。
儀器、設備名稱:
PC 微機一臺和 MATLAB 軟件。
實驗要求及注意事項:
本次實驗注意事項總結如下:
1、要學會利用 Matlab 中的幫助信息,因為很多函數的調用方法都是可以在幫助中找到的。在調用函數時應重點看 Examples 中的方式。
2、在 Matlab 中進行重復操作時,可以用方向上鍵重復命令,也可以在命令窗口中進行復制粘貼。
3、使用軟件處理圖像時,注意不要使用復雜圖像,以免處理時間過長且顯示效果不理想。
實驗內容、操作步驟:
實驗內容:
1.讀入圖像數據到內存中,并顯示讀入的圖像; 2.實現直方圖均衡化處理,顯示處理前后圖像的直方圖。
3.顯示并保存處理結果。
實驗步驟:
1.打開 Matlab 編程環境; 2.獲取實驗用圖像。用’imread’函數將圖像讀入 Matlab;用’imshow’函數顯示讀入的圖像。
3.獲取輸入圖像的直方圖:用’imhist’函數處理圖像。
4.均衡化處理:用’histeq’函數處理圖像即可。
5.獲取均衡化后的直方圖并顯示圖像:用’imhist’和’imshow’函數。
6.保存實驗結果:用’imwrite’函數處理。
實驗結果分析(含數據、圖表整理):
程序源代碼 :
A = imread(‘D:TF.gif’, ‘gif’);imshow(A);imhist(A);histeq(A);Imhist(A);Imshow(A);Imwrite(A, ‘D:TF.gif’, ‘GIF’);
處理結果:
圖 1
灰度圖
圖 2
均衡化圖
圖 3
直方圖
實驗收獲、心得及建議:
直方圖均衡化是直方圖變換方法中的一種,進行圖像增強的方法是以概率論為基礎的。
直方圖均衡化主要用于增強動態范圍偏小的圖像的反差。這個方法基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了像素灰度值的動態范圍,從而達到增強圖像整體對比度德效果。
數字圖像直方圖均衡化之后直方圖不是絕對平坦的,因為不能將同一個灰度值的各個像素變換到不同灰度級(或說此時僅根據灰度值區分不開不同的像素),所以數字圖像直方圖均衡化的結果一般只是近似均衡化的直方圖。
在本次實驗中發現:直方圖均衡化在增強反差的同時也增強了圖像的可視粒度。
實驗名稱 頻域平滑濾波 實驗類型 驗證型 實驗時間 2015/6/9 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像數據在頻率域的表示; 2.掌握頻域圖像增強的基本步驟。
儀器、設備名稱:
PC 微機一臺、MATLAB 軟件、GIF 格式圖片一張。
實驗要求及注意事項:
在選擇圖片時應當選擇 TTF 格式或者 GIF 格式的圖片,若不是這種格式則應該在畫圖工具中改為上述格式,因為其他格式都打不開。
實驗內容、操作步驟:
實驗內容:
1.綜合利用所學的數字圖像基本存儲結構、圖像變換、圖像增強等知識實現頻率域圖像增強; 2.在頻率域進行用半徑值分別為 5,15,30,80 和 230 的理想低通濾波器對圖像進行平滑,并觀察濾波效果。
操作步驟:
1.打開 Matlab 編程環境; 2.獲取實驗用圖像。用’imread’函數將圖像讀入 Matlab;用’imshow’函數顯示讀入的圖像。
3.將圖像’uint8’格式轉換為’double’格式,并將各點數據乘以-1 的(x+y)次方以便 FFT 變換后的結果中低頻數據處于圖像中央。
4.用’fft2’函數對圖像數據進行二維 FFT 變換,得到頻率域圖像數據。
5.計算頻率域圖像的幅值并進行對數變換,利用’imshow’顯示頻率域圖像。
6.在頻率圖像上去除濾波半徑意外的數據(置 0)。
7.計算頻率域圖像的幅值并進行對數變換,利用’imshow’顯示頻率域圖像。
8.用’fft2’函數對圖像數據進行二維 FFT 逆變換,并用’real’函數取其實部,得到處理過的空間域圖像數據。
9.將圖像數據各點數據乘以-1 的(x+y)次方。
10.用’imshow’函數顯示處理結果圖像數據,并用’imwrite’函數保存圖像處理結果數據。
實驗結果分析(含數據、圖表整理):
程序源代碼:
function
idlvbo(r)
I=imread(“E: tu bailong1.gif”);
subplot(1,2,1),imshow(I);% 顯示原圖
title(“bailong2 原 圖 ”);
k=double(I);% ‘ uint8 格式轉換為‘ double ’
g=fft2(k);% 傅里葉變換
g=fftshift(g);% 實現低頻數據處于圖像中心
figure,imshow(g);
% % 除去濾波半徑以外的數據
[M ,N]=size(g);% 計算幅值
m=fix(M/2);
n=fix(N/2);
%m=round(M/2);
%n=round(N/2);
for i=1:M
for j=1:N
d=sqrt((i--m)^2+(j--n)^2);
if
d<=r
h=1;
else
h=0;
end
y(i,j)=h*g(i,j);
end
end
y=ifftshift(y);
E1=ifft2(y);
E2=uint8(real(E1));
subplot(1,2,2),imshow(E2);
title(“ 處理后的圖像 ”);
imwrite(E2,“E2.tif”,“tif”);
處理結果:
原圖
r=5 的結果圖
r=15 的結果圖
r=30 的結果圖
r=80 的結果圖
r=230 的結果圖
實驗收獲、心得及建議:
在頻域空間,圖像的信息表現為不同頻率分量的組合。如果能讓某個范圍內的分量或某些頻率的分量受到抑制而讓其他分量不受影響,就可以輸出圖的頻率分布,達到不同的增強目的。
頻域空間的增強方法有三個步驟:
1、將圖像從圖像空間轉換到頻域空間; 2、在頻域空間對圖像進行增強; 3、將增強后的圖像再從頻域空間轉換到圖像空間; 本次試驗中在 FFT 變換前后,將各點數乘以-1 的(x+y)次方,是為了將圖像處理后它的中低頻數據處于圖像中央位置。
頻率域圖像處理是把圖像看成一種二維信號,對其進行基于二維傅里葉變化的信號增強;空間域圖像增強的方法是直接對圖像中的像素進行處理的過程。
實驗名稱 圖像去噪 實驗類型 驗證型 實驗時間 2015/6/9 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像高斯噪聲的特點; 2.掌握利用中值濾波器去除圖像噪聲的方法。
儀器、設備名稱:
PC 微機一臺、MATLAB 軟件、GIF 格式圖片一張。
實驗要求及注意事項:
在選擇圖片時應當選擇 TTF 格式或者 GIF 格式的圖片,若不是這種格式則應該在畫圖工具中改為上述格式,因為其他格式都打不開。
實驗內容、操作步驟:
實驗內容:
編寫代碼實現中值濾波算法,并觀察增強效果。
操作步驟:
1.打開 Matlab 編程環境。
2.利用’imread’ 函數讀入包含噪聲的原始圖像數據。
3.利用’imshow’ 顯示所讀入的圖像數據。
4.編寫代碼實現中值濾波算法,并對原始噪聲圖像進行濾波處理。
5.利用’imshow’ 顯示處理結果圖像數據。
6.利用’imwrite’函數保存圖像處理結果數據。
實驗結果分析(含數據、圖表整理):
程序源代碼:
I1=imread(“D:tfYUAN.jpg”);
I3=rgb2gray(I1);I2=imnoise(I3,“salt & pepper”,0.02);subplot(1,2,1);
imshow(I2);
title(“jia zao yin”);
L=medfilt2(I2);
subplot(1,2,2);
imshow(L);
title(“ 中值濾波所得圖像”);處理結果:
去噪聲后的圖像對比
實驗收獲、心得及建議:
噪聲是常見的退化因素之一,也是圖像恢復中重點研究的主要內容。圖像中的噪聲可定義為圖像中不希望有的部分,或圖像中不需要的部分。
中值濾波算法處理速度快。均值濾波對一個像素,取其周圍的像素均值作為當前像素的值;中值濾波對一個像素,取其周圍的像素的中間值作為當前像素的值,不需要求出均值,因此中值濾波算法較快。先得到圖像的頻率空間,然后對得到的二維空間數據進行比較得到最大值和最小值,求這兩個值的平均值得到。它比中值濾波算法慢。
本次實驗中,通過相關軟件自帶函數對圖像進行處理,實現圖像噪點的處理。
實驗名稱 Matlab 在數字圖像處理中的應用
實驗類型 驗證行 實驗時間 2015/6/16 實驗地點 基礎實驗樓北 501 室 實驗目的:
1.熟悉圖像的四種類型。
2.熟練掌握圖像的讀、寫操作以及顯示方法。
3.熟悉圖像的類型轉換以及格式轉換。
儀器、設備名稱:
計算機、MATLAB 軟件、《圖像處理實驗指導(電子版)》、MATLAB 相關書籍 實驗要求及注意事項:
1、注意在 Matlab 中不同圖像對應的格式。在 Matlab 中采用 4 種不同的方式把圖像數據矩陣中的元素值(又稱像素值)解釋為對應像素的顏色。
2、使用 Matlab 中自帶的函數可以實現不同格式的圖像的格式間的轉換。要熟悉相應的函數的使用參數。
實驗內容、過程記錄:
1.利用 imread()函數分別讀取四種類型的圖像。
2.讀取一幅 RGB 圖片,并將它轉換成其他幾種圖像類型。
3.讀取一幅 TIF 格式的圖像,將它轉換成 JPG 文件格式,并嘗試使用不同的壓縮品質(使用 help imwrite 查詢其‘quality’參數的用法)壓縮文件,比較壓縮前后文件的大小和圖像質量。
4(選做).讀取一幅索引圖像,將圖像顯示出來。嘗試修改 MAP 顏色矩陣的值,再將圖像顯示出來,對比觀察圖像顏色的變化。
實驗分析結果(含數據、圖表整理):
程序源代碼:
function dutu
I=imread(“C: ABCDEFG-------TF tf tf.jpg”);
subplot(2,2,1),imshow(I);
B title(“RGB 原圖 ”);
A=dither(I,gray);
subplot(2,2,2),imshow(A);
title(“ 索引圖 ”);
imwrite(A ,“suoyin.tif”,“tif”);
B=rgb2gray(I);
subplot(2,2,3),imshow(B);
title(“ 灰度圖 ”);
imwrite(B,“huidu.tif”,“tif”);
C=im2bw(I,0.4);
subplot(2,2,4),imshow(C);
title(“ 二值圖 ”);
imwrite(C,“erzhi.tif”,“tif”);
end
function gaitu
clc
clear
I=imread(“C: ABCDEFG-------TF tff.tif”);
subplot(2,2,1),imshow(I);
title(“ TF1.tif”);
imwrite(I,“TF1.jpg”,“jpg”);
B=imread(“C: ABCDEFG-------TF TF1.jpg”);
subplot(2,2,2),imshow(B);
title(“TF1.jpg”);
imwrite(I,“TF1(25).jpg”,“quality”,25);
C=imread(“C: ABCDEFG-------TF TF1(25).jpg”);
subplo t(2,2,3),imshow(C);
title(“TF1(25).jpg”);
imwrite(I,“TF1(50).jpg”,“quality”,50);
D=imread(“C: ABCDEFG-------TF TF1(50).jpg”);
subplot(2,2,4),imshow(D);
title(“TF1(50).jpg”);
end
1、圖像格式間的轉換 結果見下圖
圖 1 圖像格式轉換結果圖 使用 imread 函數讀入一張 RGB 圖像,然后使用“dither”、“rgb2gray”、“im2bw”函數實現 RGB 圖像向索引圖像、灰度圖像、二值圖像的轉換。圖像結果使用“imwrite”函數進行保存。
2.讀取一幅 TIF 格式的圖像,將它轉換成 JPG 文件格式
圖 2 tif 格式轉換為 jpg 格式結果 使 用 imwrite 函 數 使 “tif” 格 式 轉 換 為 “jpg” 格 式,然 后 使 用 “ imwrite(I,“TF1(25).jpg”,“quality”,25)”和“imwrite(I,“TF1(50).jpg”,“quality”,50)”使圖像分別以 25 和 50 的質量進行壓縮保存。
實驗收獲、心得及建議:
實驗中主要注意的時使用函數時,要與函數要求的格式相對應。處理不同類型的圖像,所使用的函數語句是不一樣的,對于結果的顯示也會有所不同。有時圖像的改變在顯示時改變的跡象可能不太明顯,這時可以通過查看圖像的格式,具體的屬性參數直觀的看到改動。
查看文件的格式時可以根據其文件的后綴名?;蛘卟榭?imread 函數讀到的矩陣格式。比如 TIFF 格式的文件,其文件包含文件頭、參數指針表與參數域、參數數據表和圖像數據 4 部分,這樣讀入到 MATLAB 中的矩陣格式就會為格式。