欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      時(shí)間:2019-05-12 01:56:52下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告》。

      第一篇:天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      ·

      數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      專 業(yè):計(jì)算機(jī)科學(xué)技術(shù) 學(xué) 號(hào):11101110 姓 名:馬艷松 提交日期:2014.6.5

      實(shí)驗(yàn)一 數(shù)字圖像的讀入與顯示

      一.實(shí)驗(yàn)?zāi)康模?/p>

      1.熟悉opencv的開(kāi)發(fā)環(huán)境設(shè)置

      2.讀取一幅圖像,并顯示,掌握Imread, imwrite,imshow的使用

      3.掌握opencv中圖像的表示,及其屬性的含義。二.實(shí)驗(yàn)內(nèi)容: 配置好visualstudio2010下opnecv開(kāi)發(fā)環(huán)境

      使用opencv的函數(shù)讀入一幅圖像,并在窗口中顯示出來(lái)。

      三.實(shí)驗(yàn)步驟: #include “stdafx.h” #include using namespace cv;using namespace std;void test1(){ Mat inputImage=imread(“..imagebookbeach.jpg”,1);if(!inputImage.empty()){

      cvNamedWindow(“test”);

      imshow(“test”,inputImage);

      waitKey();} else

      {

      cout<<“file open error!”;

      getchar();} }

      int _tmain(int argc, _TCHAR* argv[]){ test1();return 0;}

      四.實(shí)驗(yàn)心得:通過(guò)上課實(shí)驗(yàn)理解了opencv的配置過(guò)程。通過(guò)程序?qū)崿F(xiàn)了圖片的成象處理。

      實(shí)驗(yàn)二 數(shù)字圖像像素的訪問(wèn)

      一.實(shí)驗(yàn)?zāi)康模?掌握opencv開(kāi)發(fā)環(huán)境中對(duì)灰度圖像及彩色圖像中的像素的訪問(wèn)方法

      理解mat數(shù)據(jù)結(jié)構(gòu)

      掌握opencv中對(duì)圖像進(jìn)行處理的基本過(guò)程。二.實(shí)驗(yàn)內(nèi)容:(1)打開(kāi)一幅灰度圖像,對(duì)其進(jìn)行線性灰度變換(直線方程的參數(shù)為k, b),并顯示變換前、后的圖像。;調(diào)整K值,分別取>1, <1, =1, 以及-1,比較不同K值時(shí)的圖像增強(qiáng)效果。

      (2)打開(kāi)一幅彩色圖像,對(duì)每個(gè)像素進(jìn)行訪問(wèn),分別令R、G、B的值為0,查看處理后的圖像,并比較原圖像的差異。

      重點(diǎn)和難點(diǎn): 掌握灰度圖像和彩色圖像的像素的值的訪問(wèn)方法。三.實(shí)驗(yàn)步驟: 1r)實(shí)驗(yàn)代碼

      void image1Pixel(){

      double durationa,durationb,durationc;double cacStart,cacEnd;

      Mat image=imread(“..imagebookbeach.jpg”,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

      for(int j=0;j

      {

      b=image.at(i,j)[0];

      g=image.at(i,j)[1];

      r=image.at(i,j)[2];

      fgray=0.299*r+0.587*g+0.114*b;

      gray.at(i,j)=saturate_cast(fgray);

      }

      imshow(“",gray);

      cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();// the elapsed time in ms waitKey();} 2)實(shí)驗(yàn)代碼

      #include ”stdafx.h“

      #include using namespace cv;using namespace std;

      void image1Pixel(){

      {

      Mat inputImage=imread(”..imagebookbeach.jpg“,1);if(!inputImage.empty()){ double durationa,durationb,durationc;double cacStart,cacEnd;Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));Mat grayGB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRG(image.size().height,image.size().width,CV_8UC3,Scalar(0));uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

      for(int j=0;j

      } imshow(”org“,image);cvNamedWindow(”gray“);imshow(”gray“,gray);waitKey();b=image.at(i,j)[0];g=image.at(i,j)[1];r=image.at(i,j)[2];//////////////////////////// grayGB.at(i,j)[0] = b;grayGB.at(i,j)[1] = g;grayGB.at(i,j)[2] = 0;//R grayRB.at(i,j)[0] = b;grayRB.at(i,j)[1] = 0;// G grayRB.at(i,j)[2] = r;grayRG.at(i,j)[0] = 0;//B grayRG.at(i,j)[1] = g;grayRG.at(i,j)[2] = r;//////////////////////////// fgray=0.299*r+0.587*g+0.114*b;gray.at(i,j)=saturate_cast(fgray);cvNamedWindow(”org“);cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();} void test1()

      }

      } cvNamedWindow(”test“);imshow(”test“,inputImage);waitKey();else {

      } cout<<”file open error!“;getchar();int _tmain(int argc, _TCHAR* argv[]){

      }

      image1Pixel();test1();return 0;心得體會(huì):通過(guò)本次試驗(yàn),我了解并大致掌握灰度圖像和彩色圖像的像素的值的訪問(wèn)方法。由于之前很少練習(xí)這方面的內(nèi)容,試驗(yàn)過(guò)程中遇到了一些問(wèn)題,好在在別人的幫助下和向別人咨詢終于了解了這方面知識(shí)的大致框架和原理。由此更堅(jiān)定了我學(xué)習(xí)下去的信心和動(dòng)力!

      實(shí)驗(yàn)三 圖像的平滑

      一.實(shí)驗(yàn)?zāi)康模?掌握opencv開(kāi)發(fā)環(huán)境中對(duì)灰度圖像及彩色圖像中的像素的訪問(wèn)方法

      掌握opencv中對(duì)圖像進(jìn)行處理的基本過(guò)程。

      掌握均值平滑和中值濾波的基本原理

      二.實(shí)驗(yàn)內(nèi)容:(1)打開(kāi)一幅灰度圖像,對(duì)圖像進(jìn)行3*3(包括中心點(diǎn))的鄰域平均處理。

      (2)對(duì)原圖進(jìn)行3*3(包括中心點(diǎn))的中值濾波處理。

      (3)比較原圖像與鄰域平均的圖像、中值濾波后的圖像的差異

      三.實(shí)驗(yàn)步驟: 1)中值濾波處理

      for(int i=1;i

      {

      for(int j=1;j

      {

      int

      imshow(”中值濾波“,gray);

      cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();waitKey();} int GetMidNum(int n[]){

      for(int i=0;i<9;i++)

      for(int j = 0;j<8;j++)

      {

      if(n[j]>n[j+1])

      {

      int temp;

      temp = n[j+1];

      n[j+1] = n[j];

      n[j]= temp;

      }

      }

      return n[4];}

      void test4_4(){ int count[256];//存放各個(gè)像素值對(duì)應(yīng)的個(gè)數(shù)

      float hist[256],sumHist[256];uchar grayHist[256];for(int i=0;i<256;i++){

      count[i]=0;

      hist[i]=0;a[9]={gray.at(i-1,j),gray.at(i,j),gray.at(i+1,j),gray.at(i-1,j-j),gray.at(i,j-1),gray.at(i+1,j-1)

      +gray.at(i-1,j+1),gray.at(i,j+1),gray.at(i+1,j+1)};

      gray.at(i,j)=GetMidNum(a);

      }

      }

      } int _tmain(int argc, _TCHAR* argv[]){ image1Pixel();//Test3();

      //test4_4();return 0;}

      2)鄰域平均

      void image1Pixel()sumHist[i]=0;grayHist[i]=0;} Mat image=imread(”..imagebookbeach.jpg“,0);for(int i=0;i(i);for(int j=0;j

      count[data[j]]++;} } for(int i=0;i<256;i++)hist[i]=((float)count[i])/(image.size().height*image.size().width);sumHist[0]=hist[0];for(int i=1;i<256;i++)sumHist[i]=sumHist[i-1]+hist[i];for(int i=0;i<256;i++)grayHist[i]=saturate_cast(sumHist[i]*255);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));for(int i=0;i(i);uchar* grayData=gray.ptr(i);for(int j=0;j

      grayData[j]=grayHist[data[j]];} } cvNamedWindow(”tset“);imshow(”org“,image);cvNamedWindow(”hist“);imshow(”hist“,gray);waitKey();{

      double durationa,durationb,durationc;double cacStart,cacEnd;

      Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)for(int i=0;i

      for(int j=0;j

      {

      b=image.at(i,j)[0];

      g=image.at(i,j)[1];

      r=image.at(i,j)[2];

      fgray=0.299*r+0.587*g+0.114*b;

      gray.at(i,j)=saturate_cast(fgray);

      }

      imshow(”“,gray);

      cacEnd = static_cast(getTickCount());durationa=(cacEnd-cacStart)/cv::getTickFrequency();// the elapsed time in ms waitKey();}

      void Test3(){

      int GetMidNum(int n[]);double durationa,durationb,durationc;double cacStart,cacEnd;

      Mat image=imread(”..imagebookbeach.jpg“,1);Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));Mat grayGB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRB(image.size().height,image.size().width,CV_8UC3,Scalar(0));Mat grayRG(image.size().height,image.size().width,CV_8UC3,Scalar(0));//gray=0.299R+0.587G+0.114b uchar r,g,b;float fgray;cacStart = static_cast(getTickCount());for(int m=0;m<100;m++)

      for(int i=0;i

      b=image.at(i,j)[0];

      g=image.at(i,j)[1];

      r=image.at(i,j)[2];

      }

      實(shí)驗(yàn)心得:通過(guò)這次試驗(yàn),我明白了,平滑技術(shù)用于平滑圖像的噪聲,平滑噪聲可以在空間域中進(jìn)行,基本方法是求像素灰度的平均值或中值。但是這些很容易引起邊緣的模糊,常用的有均值濾波、中值濾波,在使用時(shí),針對(duì)不同的噪聲,也需要不同的濾波法,沒(méi)有哪種方法是絕對(duì)好,必須具體情況具體分析。最后比較三種平滑效果,八點(diǎn)平滑最好,說(shuō)明對(duì)高斯噪聲平滑濾波效果較好。中值濾波基本把椒鹽噪聲都濾去了,說(shuō)明中值濾波對(duì)椒鹽噪聲平滑效果比高斯噪聲好。

      fgray=0.299*r+0.587*g+0.114*b;

      gray.at(i,j)=saturate_cast(fgray);} imshow(”原圖“,gray);for(int i=1;i

      for(int j=1;j

      {

      gray.at(i,j)=(gray.at(i-1,j)+gray.at(i,j)+gray.at(i+1,j)+

      gray.at(i-1,j-j)+gray.at(i,j-1)+gray.at(i+1,j-1)

      +gray.at(i-1,j+1)+gray.at(i,j+1)+gray.at(i+1,j+1))/9;

      }

      imshow(”鄰域平均“,gray);實(shí)驗(yàn)四 圖像的直方圖均衡化

      一.實(shí)驗(yàn)?zāi)康模?掌握直方圖均衡化的基本步驟及實(shí)現(xiàn)方法

      掌握opencv中對(duì)圖像進(jìn)行處理的基本過(guò)程。

      二.實(shí)驗(yàn)內(nèi)容:(1)打開(kāi)一幅灰度圖像,對(duì)圖像進(jìn)行直方圖均衡化處理。

      (2)比較原圖像與均衡化的圖像的差異。

      (3)要求自己按照課本介紹的均衡化的步驟在opencv下實(shí)現(xiàn)直方圖均衡化處理。

      三.實(shí)驗(yàn)步驟:void test1(){ Mat inputImage=imread(”..imagebookbeach.jpg“,1);

      if(!inputImage.empty()){

      cvNamedWindow(”test“);

      imshow(”test“,inputImage);

      waitKey();} else

      {

      cout<<”file open error!“;

      getchar();} } void test4(){ int count[256];float hist[256],sumHist[256];uchar grayHist[256];

      for(int i=0;i<256;i++){

      count[i]=0;

      hist[i]=0;

      sumHist[i]=0;

      grayHist[i]=0;}

      Mat image=imread(”..imagebookbeach.jpg“,0);

      for(int i=0;i

      uchar* data=image.ptr(i);

      for(int j=0;j

      {

      count[data[j]]++;

      } } for(int i=0;i<256;i++)

      hist[i]=((float)count[i])/(image.size().height*image.size().width);sumHist[0]=hist[0];for(int i=1;i<256;i++)

      sumHist[i]=sumHist[i-1]+hist[i];for(int i=0;i<256;i++)

      grayHist[i]=saturate_cast(sumHist[i]*255);

      Mat gray(image.size().height,image.size().width,CV_8UC1,Scalar(0));

      for(int i=0;i

      uchar* data=image.ptr(i);

      uchar* grayData=gray.ptr(i);

      for(int j=0;j

      {

      grayData[j]=grayHist[data[j]];

      } }

      cvNamedWindow(”org“);

      imshow(”org“,image);

      cvNamedWindow(”hist“);

      imshow(”hist",gray);

      waitKey();

      } int _tmain(int argc, _TCHAR* argv[]){ //test1();test4();return 0;}

      四.實(shí)驗(yàn)心得:通過(guò)這次的實(shí)驗(yàn),我明白了直方圖均衡化處理的“中心思想”是把原始圖像的灰度直方圖從比較集中的某個(gè)灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布。直方圖均衡化就是對(duì)圖像進(jìn)行非線性拉伸,重新分配圖像像素值,使一定灰度范圍內(nèi)的像素?cái)?shù)量大致相同。直方圖均衡化就是把給定圖像的直方圖分布改變成“均勻”分布直方圖分布。

      第二篇:數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      實(shí) 驗(yàn) 報(bào) 告 書

      系部學(xué)生專業(yè)班

      實(shí)驗(yàn)

      名稱姓名名稱 級(jí)時(shí)間:

      : : :

      實(shí)驗(yàn)一 直方圖均衡

      一、實(shí)驗(yàn)?zāi)康?/p>

      在學(xué)習(xí)圖像直方圖的概念、計(jì)算方法、性質(zhì)和相關(guān)應(yīng)用基礎(chǔ)上,生成、繪制圖像的直方圖,并應(yīng)用MATLAB編程實(shí)現(xiàn)圖像直方圖均衡化程序。

      二、實(shí)驗(yàn)內(nèi)容

      (1)計(jì)算并繪制圖像直方圖;

      (2)編程實(shí)現(xiàn)圖像的直方圖均衡化處理,顯示均衡前后的直方圖和圖像;

      三、實(shí)驗(yàn)運(yùn)行結(jié)果

      四、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法

      1、顯示無(wú)法找到圖像文件,應(yīng)將圖片與xx.m文件置于同一文件夾;

      2、編程過(guò)程中應(yīng)注意標(biāo)點(diǎn)的輸入法,應(yīng)該用英文輸入,否則會(huì)報(bào)錯(cuò)。

      3、編程完成后運(yùn)行時(shí)輸入文件名與保存時(shí)文件名相同,區(qū)分大小寫。

      五、思考題

      (1)、灰度直方圖可以反映一幅圖像的哪些特征? 答:

      1、表征了圖像的一維信息。只反映圖像中像素不同灰度值出現(xiàn)的次數(shù)(或頻數(shù))而未反映像素所在位置。

      2、與圖像之間的關(guān)系是多對(duì)一的映射關(guān)系。一幅圖像唯一確定出與之對(duì)應(yīng)的直方圖,但不同圖像可能有相同的直方圖。

      3、子圖直方圖之和為整圖的直方圖。(2)均衡化后的直方圖有何特點(diǎn)?

      答:經(jīng)直方圖均衡化處理后,可以得到一副改善了質(zhì)量的新圖像。這幅圖像的灰度層次將不再是呈黑暗色調(diào)的圖像,而是一副灰度層次較為適中的、比原始圖像清晰、明快得多的圖像。處理的結(jié)果使圖像更適合與人的視覺(jué)特征或機(jī)器的識(shí)別系統(tǒng)。

      六、實(shí)驗(yàn)心得體會(huì)

      本次實(shí)驗(yàn)中,因?yàn)槌鯇W(xué)這個(gè)軟件,我學(xué)習(xí)到了在程序中關(guān)于圖像的運(yùn)用,以及也復(fù)習(xí)了課本上的許多知識(shí),加深了對(duì)直方圖均衡化的理解。

      七、程序清單

      clear all;I=imread('lena_gray_256.tif');%打開(kāi)一幅灰度圖像 [m,n]=size(I);p=m*n;J=imhist(I)./p;

      %計(jì)算圖像的歸一化直方圖 subplot(1,3,1),imshow(I); subplot(1,3,2),imhist(I,64); subplot(1,3,3),plot(J);

      (2)直方圖均衡化

      clear all;Im=imread('region.jpg');J=histeq(Im);%均衡化 subplot(2,2,1);imshow(Im);title('原圖');%顯示原圖 subplot(2,2,2);imhist(Im);title('原圖直方圖');%顯示原圖的直方圖 subplot(2,2,3);imshow(J);title('均衡化結(jié)果');%顯示均衡化后的圖像 subplot(2,2,4);imhist(J);title('均衡化結(jié)果的直方圖');%顯示均衡化后的直方圖

      實(shí)驗(yàn)二 頻域圖像增強(qiáng)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、頻域圖像增強(qiáng)

      2、掌握基于頻域的圖像增強(qiáng)方法。

      二、實(shí)驗(yàn)內(nèi)容

      (1)編程實(shí)現(xiàn)圖像的理想低通和高通濾波;(2)編程實(shí)現(xiàn)圖像的巴特沃斯低通和高通濾波。

      三、實(shí)驗(yàn)運(yùn)行結(jié)果

      四、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法

      顯示圖像無(wú)法打開(kāi),最終查出來(lái)時(shí)圖像格式弄錯(cuò)了。

      五、思考題

      分析為什么圖像通過(guò)低通濾波器后變得模糊?為什么通過(guò)高通濾波器后得到銳化結(jié)果?

      答:圖像的精細(xì)結(jié)構(gòu)及突變部分主要由高頻成分起作用,故經(jīng)低通濾波后圖像的精細(xì)結(jié)構(gòu)消失,變得模糊;經(jīng)高通濾波后圖像得到銳化。

      六、實(shí)驗(yàn)心得體會(huì)

      本實(shí)驗(yàn)中遇到很多問(wèn)題及錯(cuò)誤,例如圖像打不開(kāi)、處理后圖像模糊等,都是經(jīng)常容易發(fā)生的錯(cuò)誤,最后實(shí)驗(yàn)幾次,就能夠逐一自己解決了。使自己對(duì)數(shù)字圖像處理課程中的許多問(wèn)題有了更實(shí)際和確切的深入了解。

      七、程序清單

      clc;clear;data4=imread('lena.gif');subplot(3,2,1);imshow(data4);title('原圖');i=fft2(data4);subplot(3,2,2);i=fftshift(i);z=log(abs(i));x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖title('原圖頻譜');[n,m]=size(i);%for k=1:1:n for l=1:1:m if(k^2+l^2)>=190^2 % result(k,l)=0;else result(k,l)=i(k,l);end end end subplot(3,2,4);

      對(duì)該圖進(jìn)行低通濾波 選取D=190

      z=log(abs(result));%三維方式顯示低通濾波后的頻譜圖 x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);title('理想低通濾波后的頻譜');subplot(3,2,3);%新建圖像顯示窗口 result=fftshift(result);%濾波后的數(shù)據(jù)去中心化 b=ifft2(result);%逆傅里葉變換 imshow(uint8(abs(b)));title('理想低通濾波后的圖像');subplot(3,2,6);%新建圖像顯示窗口 % [n,m]=size(c);%對(duì)原圖進(jìn)行高通濾波 for k=1:1:n for l=1:1:m if(k^2+l^2)<=190^2 %選取D=190 result(k,l)=0;else result(k,l)=i(k,l);end end end z=log(abs(result));x=0:1:255;%三維方式顯示高通濾波前的頻譜圖 y=0:1:255;[x,y]=meshgrid(x,y);mesh(z);title('理想高通濾波后的頻譜');subplot(3,2,5);result=fftshift(result);%濾波后的數(shù)據(jù)去中心化 d=ifft2(result);%逆傅里葉變換

      imshow(uint8(abs(d)));title('理想高通濾波后的圖像');%頻域增強(qiáng)(巴特沃斯原型)

      %二階巴特沃斯(Butterworth)低通濾波器 %clc;%clear;Figure;J1=imread('lena.gif');subplot(3,2,1);imshow(J1);title('原圖');f=double(J1);g=fft2(f);% 傅立葉變換 g=fftshift(g);% 轉(zhuǎn)換數(shù)據(jù)矩陣 subplot(3,2,2);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(g));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('原圖頻譜');[M,N]=size(g);nn=2;% 二階巴特沃斯(Butterworth)低通濾波器 d0=20;m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));% 計(jì)算低通濾波器傳遞函數(shù) result(i,j)=h*g(i,j);

      end end subplot(3,2,4);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('低通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2));subplot(3,2,3);imshow(J3);title('低通濾波后的圖像');

      %利用二階巴特沃斯(Butterworth)高通濾波器

      nn=2;% 二階巴特沃斯(Butterworth)高通濾波器 d0=5;m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2);if(d==0)h=0;else h=1/(1+0.414*(d0/d)^(2*nn));% 計(jì)算傳遞函數(shù) end result(i,j)=h*g(i,j);

      end end subplot(3,2,6);x=0:1:255;y=0:1:255;[x,y]=meshgrid(x,y);z=log(abs(result));%取幅度 mesh(z);%以三維坐標(biāo)顯示該圖像頻譜圖 title('高通濾波后的頻譜');result=ifftshift(result);J2=ifft2(result);J3=uint8(abs(J2));subplot(3,2,5);imshow(J3);title('高通濾波后的圖像');

      實(shí)驗(yàn)三 圖像邊緣檢測(cè)與連接

      一、實(shí)驗(yàn)?zāi)康?/p>

      圖像邊緣檢測(cè)與連接

      二、實(shí)驗(yàn)內(nèi)容

      (1)編程實(shí)現(xiàn)一階差分邊緣檢測(cè)算法,包括Robert梯度算子、Prewitt算子、Sobel算子等;(2)編程實(shí)現(xiàn)二階差分拉普拉斯邊緣檢測(cè)算法以及LoG檢測(cè)法和Canny檢測(cè)法;(3)分析與比較各種邊緣檢測(cè)算法的性能;

      (4)編程實(shí)現(xiàn)Hough變換提取直線

      (5)分析Hough變換檢測(cè)性能;

      三、實(shí)驗(yàn)運(yùn)行結(jié)果

      四、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法

      拷貝文件后沒(méi)改文件名,直接執(zhí)行時(shí)出現(xiàn)錯(cuò)誤,最后重新修改后重新編譯,使之成功。

      五、思考題

      (1)邊緣的方向是什么意思?為什么要考慮邊緣的方向?

      答:邊緣常常意味著一個(gè)區(qū)域的終結(jié)和另一個(gè)區(qū)域的開(kāi)始,圖像的邊緣也包含了物體的形狀的重要信息,他不僅在分析圖像時(shí)大幅度的減少了要處理的信息量,而且還保護(hù)了目標(biāo)的邊界結(jié)構(gòu)。所以考慮邊緣的方向很重要。

      (2)Hough變換原理是什么?

      答:Hough變換的基本原理在于利用點(diǎn)與線的對(duì)偶性,將原始圖像空間的給定的曲線通過(guò)曲線表達(dá)形式變?yōu)閰?shù)空間的一個(gè)點(diǎn)。這樣就把原始圖像中給定曲線的檢測(cè)問(wèn)題轉(zhuǎn)化為準(zhǔn)找參數(shù)空間的峰值問(wèn)題。也即把檢測(cè)整體特性轉(zhuǎn)化為檢測(cè)局部特性。比如直線、橢圓、圓、弧線等。

      六、實(shí)驗(yàn)心得體會(huì)

      對(duì)于一些圖像處理的函數(shù)不是很了解,只能夠按課本的參照函數(shù)拷貝做實(shí)驗(yàn),對(duì)于其中的一些函數(shù)問(wèn)題理解不是很透徹,有些甚至完全不懂。還得繼續(xù)努力。

      七、程序清單

      1、邊緣檢測(cè)

      由edge函數(shù)實(shí)現(xiàn)各算子對(duì)圖像的邊緣檢測(cè)

      clear all;I = imread('d:office.bmp');I=rgb2gray(I);BW1 = edge(I,'sobel');

      %利用Sobel算子進(jìn)行邊緣檢測(cè) BW2 = edge(I,'roberts');%利用roberts算子進(jìn)行邊緣檢測(cè) BW3 = edge(I,'prewitt');%利用prewitt算子進(jìn)行邊緣檢測(cè) BW4 = edge(I,'log');

      %利用log算子進(jìn)行邊緣檢測(cè) BW5 = edge(I,'canny');

      %利用canny算子進(jìn)行邊緣檢測(cè) subplot(2,3,1),imshow(I)subplot(2,3,2),imshow(BW1)subplot(2,3,3),imshow(BW2)subplot(2,3,4),imshow(BW3)

      subplot(2,3,5),imshow(BW4)subplot(2,3,6),imshow(BW5)

      2、邊緣連接

      使用Hough變換作線檢測(cè)和連接

      clear all;

      RGB = imread('d:M_M.bmp');I=RGB;%I = rgb2gray(RGB);BW = edge(I,'canny');

      % 利用Canny算子提取圖像邊緣 [H,T,R] = hough(BW,'RhoResolution',0.5,'ThetaResolution',0.5);figure(1), imshow(T,R,H,[],'notruesize'), axis on, axis normal xlabel('T'), ylabel('R')p = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));

      %找到5個(gè)較明顯的Hough變換峰值

      hold on plot(T(p(:,2)),R(p(:,1)),'s','color','white');lines = houghlines(BW,T,R,p,'FillGap',10,'MinLength',10);

      %查找并鏈接線段

      figure, imshow(BW), hold on %在二值圖中疊加顯示這些線段 for k = 1:length(lines)

      xy = [lines(k).point1;lines(k).point2];

      plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');end

      第三篇:數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      數(shù)字圖像處理

      實(shí)驗(yàn)報(bào)告

      目錄

      1.數(shù)字圖像處理簡(jiǎn)介

      2.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容

      4.實(shí)驗(yàn)結(jié)果及代碼展示

      5.算法綜述

      6.Matlab優(yōu)勢(shì)

      7.總結(jié)

      8.存在問(wèn)題

      一、數(shù)字圖像處理簡(jiǎn)介

      圖像處理,是對(duì)圖像進(jìn)行分析、加工、和處理,使其滿足視覺(jué)、心理以及其他要求的技術(shù)。圖像處理是信號(hào)處理在圖像域上的一個(gè)應(yīng)用。目前大多數(shù)的圖像是以數(shù)字形式存儲(chǔ),因而圖像處理很多情況下指數(shù)字圖像處理。此外,基于光學(xué)理論的處理方法依然占有重要的地位。

      圖像處理是信號(hào)處理的子類,另外與計(jì)算機(jī)科學(xué)、人工智能等領(lǐng)域也有密切的關(guān)系。

      傳統(tǒng)的一維信號(hào)處理的方法和概念很多仍然可以直接應(yīng)用在圖像處理上,比如降噪、量化等。然而,圖像屬于二維信號(hào),和一維信號(hào)相比,它有自己特殊的一面,處理的方式和角度也有所不同。

      二、實(shí)驗(yàn)?zāi)康?/p>

      鞏固所學(xué)知識(shí),提高所學(xué)能力

      三、實(shí)驗(yàn)內(nèi)容

      利用matlab的GUI程序設(shè)計(jì)一個(gè)簡(jiǎn)單的圖像處理程序,并含有如下基本功能: 1.讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分成三個(gè)子窗口來(lái)分別顯示RGB圖像和灰度圖像,注上文字標(biāo)題 2.對(duì)給定圖像進(jìn)行旋轉(zhuǎn)

      3.對(duì)給定的圖像添加噪聲(椒鹽噪聲、高斯噪聲)

      四、實(shí)驗(yàn)結(jié)果及代碼展示

      1.軟件設(shè)計(jì)界面

      2.各模塊功能展示以及程序代碼

      (1)讀入一幅RGB圖像,變換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分成三個(gè)子窗口來(lái)分別顯示RGB圖像和灰度圖像,注上文字標(biāo)題

      效果展示:

      代碼:

      a = imread('C:Documents and SettingsAdministrator桌面數(shù)字圖像舞美.JPG');

      i = rgb2gray(a);I = im2bw(a,0.5);

      subplot(3,1,1);imshow(a);title('源圖像')subplot(3,1,2);imshow(i);title('灰度圖像')subplot(3,1,3);imshow(I);title('二值圖像')

      (2)圖像旋轉(zhuǎn) 原圖

      效果展示:

      代碼:

      clc;clear all;close all;

      Img=imread('D:My DocumentsMy Pictures5.JPG');Img=double(Img);[h w]=size(Img);alpha=pi/4;

      wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);

      hnew=ceil(hnew);u0=w*sin(alpha);

      T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)];Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew);for u=1:hnew

      for v=1:wnew

      tem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=w x_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if(x-x_low)<=(x_up-x)x=x_low;

      else

      x=x_up;

      end

      if(y-y_low)<=(y_up-y)y=y_low;

      else

      y=y_up;

      end

      p1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);

      Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;end

      end end

      figure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);

      (3)對(duì)給定的圖像添加噪聲(斑點(diǎn)噪聲、高斯噪聲)效果展示:

      代碼:

      I= imread('D:My DocumentsMy Pictures5.JPG');figure,subplot(211);imshow(I);title('原圖');J1=imnoise(I,'gaussian',0,0.02);

      subplot(223);imshow(J);title('添加高斯噪聲');J=imnoise(I,'speckle',0.04);

      subplot(224);imshow(J);title('添加斑點(diǎn)噪聲');

      五、算法綜述 灰度圖像:

      一幅完整的圖像,是由紅色、綠色、藍(lán)色三個(gè)通道組成的。紅色、綠色、藍(lán)色三個(gè)通道的縮覽圖都是以灰度顯示的。用不同的灰度色階來(lái)表示“ 紅,綠,藍(lán)”在圖像中的比重。通道中的純白,代表了該色光在此處為最高亮度,亮度級(jí)別是255。

      通道是整個(gè)Photoshop顯示圖像的基礎(chǔ)。色彩的變動(dòng),實(shí)際上就是間接在對(duì)通道灰度圖進(jìn)行調(diào)整。通道是Photoshop處理圖像的核心部分,所有的色彩調(diào)整工具都是圍繞在這個(gè)核心周圍使用的。

      在計(jì)算機(jī)領(lǐng)域中,灰度數(shù)字圖像是每個(gè)像素只有一個(gè)采樣顏色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個(gè)采樣可以任何顏色的不同深淺,甚至可以是不同亮度上的不同顏色?;叶葓D像與黑白圖像不同,在計(jì)算機(jī)圖像領(lǐng)域中黑白圖像只有黑色與白色兩種顏色;灰度圖像在黑色與白色之間還有許多級(jí)的顏色深度。但是,在數(shù)字圖像領(lǐng)域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關(guān)于數(shù)字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像。灰度圖像經(jīng)常是在單個(gè)電磁波頻譜如可見(jiàn)光內(nèi)測(cè)量每個(gè)像素的亮度得到的。

      用于顯示的灰度圖像通常用每個(gè)采樣像素 8 位的非線性尺度來(lái)保存,這樣可以有 256 級(jí)灰度。這種精度剛剛能夠避免可見(jiàn)的條帶失真,并且非常易于編程。在醫(yī)學(xué)圖像與遙感圖像這些技術(shù)應(yīng)用中經(jīng)常采用更多的級(jí)數(shù)以充分利用每個(gè)采樣 10 或 12 位的傳感器精度,并且避免計(jì)算時(shí)的近似誤差。在這樣的應(yīng)用領(lǐng)域每個(gè)采樣 16 位即 65536 級(jí)得到流行。

      二值圖像:

      是指每個(gè)像素不是黑就是白,其灰度值沒(méi)有中間過(guò)渡的圖像。二值圖像一般用來(lái)描述文字或者圖形,其優(yōu)點(diǎn)是占用空間少,缺點(diǎn)是,當(dāng)表示人物,風(fēng)景的圖像時(shí),二值圖像只能描述其輪廓,不能描述細(xì)節(jié)。這時(shí)候要用更高的灰度級(jí)。

      二值圖像是每個(gè)像素只有兩個(gè)可能值的數(shù)字圖像。人們經(jīng)常用黑白、B&W、單色圖像表示二值圖像,但是也可以用來(lái)表示每個(gè)像素只有一個(gè)采樣值的任何圖像,例如灰度圖像等。

      二值圖像中所有的像素只能從0和1這兩個(gè)值中取,因此在MATLAB中,二值圖像用一個(gè)由0和1組成的二維矩陣表示。這兩個(gè)可取的值分別對(duì)應(yīng)于關(guān)閉和打開(kāi),關(guān)閉表征該像素處于背景,而打開(kāi)表征該像素處于前景。以這種方式來(lái)操作圖像可以更容易識(shí)別出圖像的結(jié)構(gòu)特征。二值圖像操作只返回與二值圖像的形式或結(jié)構(gòu)有關(guān)的信息,如果希望對(duì)其他類型的圖像進(jìn)行同樣的操作,則首先要將其轉(zhuǎn)換為二進(jìn)制的圖像格式,可以通過(guò)調(diào)用MATLAB提供的im2bw()來(lái)實(shí)現(xiàn)。

      二值圖像經(jīng)常出現(xiàn)在數(shù)字圖像處理中作為圖像掩碼或者在圖像分割、二值化和dithering的結(jié)果中出現(xiàn)。一些輸入輸出設(shè)備,如激光打印機(jī)、傳真機(jī)、單色計(jì)算機(jī)顯示器等都可以處理二值圖像。

      二值圖像經(jīng)常使用位圖格式存儲(chǔ)。

      二值圖像可以解釋為二維整數(shù)格Z,圖像變形處理領(lǐng)域很大程度上就是受到這個(gè)觀點(diǎn)啟發(fā)。

      圖像旋轉(zhuǎn):

      圖像旋轉(zhuǎn)是指圖像以某一點(diǎn)為中心旋轉(zhuǎn)一定的角度,形成一幅新的圖像的過(guò)程。當(dāng)然這個(gè)點(diǎn)通常就是圖像的中心。既然是按照中心旋轉(zhuǎn),自然會(huì)有這樣一個(gè)屬性:旋轉(zhuǎn)前和旋轉(zhuǎn)后的點(diǎn)離中心的位置不變.根據(jù)這個(gè)屬性,我們可以得到旋轉(zhuǎn)后的點(diǎn)的坐標(biāo)與原坐標(biāo)的對(duì)應(yīng)關(guān)系。由于原圖像的坐標(biāo)是以左上角為原點(diǎn)的,所以我們先把坐標(biāo)轉(zhuǎn)換為以圖像中心為原點(diǎn)。假設(shè)原圖像的寬為w,高為h,(x0,y0)為原坐標(biāo)內(nèi)的一點(diǎn),轉(zhuǎn)換坐標(biāo)后的點(diǎn)為(x1,y1)。那么不難得到: x1 = x0-w/2;y1 =-y0 + h/2;在新的坐標(biāo)系下,假設(shè)(x0,y0)距離原點(diǎn)的距離為r,點(diǎn)與原點(diǎn)之間的連線與x軸的夾角為b,旋轉(zhuǎn)的角度為a,旋轉(zhuǎn)后的點(diǎn)為(x1,y1)

      噪聲:

      是電路或系統(tǒng)中不含信息量的電壓或電流。在工業(yè)與自然界中,存在著各種干擾源(噪聲源),如大功率電力電子器件的接入、大功率用電設(shè)備的開(kāi)啟與斷開(kāi)、雷擊閃電等都會(huì)使空間電場(chǎng)和磁場(chǎng)產(chǎn)生有序或無(wú)序的變化,這些都是干擾源(或噪聲源)。這些源產(chǎn)生的電磁波或尖峰脈沖通過(guò)磁、電耦合或是通過(guò)電源線等路徑進(jìn)入放大電路,各種電氣設(shè)備,形成各種形式的干擾。

      斑點(diǎn)噪聲:

      斑點(diǎn)噪聲是SAR成像系統(tǒng)的一大特色,源自基本分辨單元內(nèi)地物的隨機(jī)散射,在圖像上表現(xiàn)為信號(hào)相關(guān)(如在空間上相關(guān))的小斑點(diǎn),它既降低了圖像的畫面質(zhì)量,又嚴(yán)重影響圖像的自動(dòng)分割、分類、目標(biāo)檢測(cè)以及其它定量專題信息的提取。

      SAR圖像斑點(diǎn)噪聲的去除一方面要抑制圖像均勻區(qū)域斑點(diǎn)噪聲,另一方面要保持圖像邊緣和紋理細(xì)節(jié)信息。SAR斑點(diǎn)噪聲的抑制可通過(guò)非相干多視處理,也可使用空間域?yàn)V波實(shí)現(xiàn)。非相干多視處理會(huì)降低圖像的地面分辨率。因此,涌現(xiàn)出了一系列空間域?yàn)V波方法,如均值濾波、中值濾波、Lee濾波、Kuan濾波、Frost濾波、Sigma濾波以及Gamma Map濾波等。但這類算法存在自身無(wú)法克服的矛盾:一方面為增強(qiáng)斑點(diǎn)去噪效果需選較大的濾波窗口,另一方面為保持圖像的實(shí)際分辨率要求所選的窗口較小。

      高斯噪聲:

      所謂高斯噪聲是指它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲。如果一個(gè)噪聲,它的幅度分布服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。高斯白噪聲的二階矩不相關(guān),一階矩為常數(shù),是指先后信號(hào)在時(shí)間上的相關(guān)性。高斯白噪聲包括熱噪聲和散粒噪聲。

      實(shí)驗(yàn)中是通過(guò)MATLAB自帶的函數(shù)產(chǎn)生噪聲,各函數(shù)如下: J1=imnoise(I,'salt & pepper',0.05);%添加椒鹽噪聲

      J2=imnoise(I,'gaussian',0,0.03);

      %添加均值為0,方差為0.03的高斯噪聲。

      六、Matlab優(yōu)勢(shì)

      MATLAB是一個(gè)包含大量算法的集合。其可以快捷的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過(guò)了各種優(yōu)化和差錯(cuò)處理。在通常情況下,可以用它來(lái)代替底層編程語(yǔ)言,如C和C++。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會(huì)大大減少。MATLAB的這些函數(shù)集包括從最簡(jiǎn)單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問(wèn)題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問(wèn)題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動(dòng)態(tài)仿真等。圖形處理功能

      圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來(lái),并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫和表達(dá)式作圖。可用于科學(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒(méi)有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足

      模塊集合工具箱

      MATLAB對(duì)許多專門的領(lǐng)域都開(kāi)發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來(lái)說(shuō),它們都是由特定領(lǐng)域的專家開(kāi)發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫(kù)接口、概率統(tǒng)計(jì)、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號(hào)處理、圖像處理、系統(tǒng)辨識(shí)、控制系統(tǒng)設(shè)計(jì)、LMI控制、魯棒控制、模型預(yù)測(cè)、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計(jì)、實(shí)時(shí)快速原型及半物理仿真、嵌入式系統(tǒng)開(kāi)發(fā)、定點(diǎn)仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

      七、總結(jié)

      運(yùn)用matlab軟件對(duì)圖像進(jìn)行處理,讓我鞏固了之前所學(xué)的知識(shí),同時(shí)也在這次作業(yè)中更加了解到matlab語(yǔ)言在生活中的運(yùn)用環(huán)境和掌握這門語(yǔ)言的重要性

      八、存在問(wèn)題

      1.在進(jìn)行圖像增強(qiáng)時(shí)要不要講圖像先進(jìn)行平滑處理? 2.如何增加這個(gè)算法的準(zhǔn)確度

      3.在此次作業(yè)中,為何添加椒鹽噪聲時(shí)無(wú)法顯示

      第四篇:數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      數(shù)字圖像處理

      實(shí)驗(yàn)報(bào)告

      班級(jí):通信103 學(xué)號(hào):201027201 姓名:計(jì)富威 指導(dǎo)教師:孫潔

      實(shí)驗(yàn)一 MATLAB數(shù)字圖像處理初步

      一、實(shí)驗(yàn)?zāi)康呐c要求

      1.熟悉及掌握在MATLAB中能夠處理哪些格式圖像。2.熟練掌握在MATLAB中如何讀取圖像。

      3.掌握如何利用MATLAB來(lái)獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息。

      4.掌握如何在MATLAB中按照指定要求存儲(chǔ)一幅圖像的方法。5.圖像間如何轉(zhuǎn)化。

      二、實(shí)驗(yàn)內(nèi)容及步驟

      1.利用imread()函數(shù)讀取一幅圖像,假設(shè)其名為”第一個(gè).tif”,存入一個(gè)數(shù)組中;

      >>I=imread('第一個(gè).tif');2.利用whos命令提取該讀入圖像”第一個(gè).tif”的基本信息; >>whos I 3.利用imshow()函數(shù)來(lái)顯示這幅圖像; >>imshow(I);

      第一個(gè).tif 4.利用imfinfo函數(shù)來(lái)獲取圖像文件的壓縮,顏色等等其他的詳細(xì)信息;

      >>imfinfo('第一個(gè).tif');5.利用imwrite()函數(shù)來(lái)壓縮這幅圖象,將其保存為一幅壓縮了像素的jpg文件,設(shè)為flower.jpg;語(yǔ)法:imwrite(原圖像,新圖像,‘quality’,q), q取0-100。

      >>imwrite(I,'第一個(gè).jpg','quality',50)6.同樣利用imwrite()函數(shù)將最初讀入的tif圖象另存為一幅bmp圖像,設(shè)為flower.bmp。>>imwrite(I,'第一個(gè).bmp');7.用imread()讀入圖像:Lenna256.jpg 和camemaman.jpg; >>b=imread('lena256.bmp');>>c=imread('cameraman.tif');8.用imfinfo()獲取圖像Lenna256.jpg和camemaman.jpg 的大??; >>imfinfo('lena256.bmp');>>imfinfo('cameraman.tif');9.用figure,imshow()分別將Lenna256.jpg和camemaman.jpg顯示出來(lái),觀察兩幅圖像的質(zhì)量。>>figure >>imshow(b);>>figure >>imshow(c);

      (Lena256.jpg圖像截圖)

      (cameraman.jpg圖像截圖)

      10.用im2bw將一幅灰度圖像轉(zhuǎn)化為二值圖像,并且用imshow顯示出來(lái)觀察圖像的特征。>> d=im2bw(b);>>figure >>imshow(b);>>figure >>imshow(d);

      (二值化截圖)

      三、實(shí)驗(yàn)總結(jié)

      通過(guò)實(shí)驗(yàn)MatLab軟件的基本使用有了基本的了解,學(xué)會(huì)了使用MatLab軟件來(lái)讀取一個(gè)特定格式的圖像,并通過(guò)相關(guān)的命令語(yǔ)句對(duì)圖像進(jìn)行格式轉(zhuǎn)換、圖像壓縮、二值化等的處理,掌握了利用MATLAB來(lái)獲取圖像的大小、顏色、高度、寬度等等相關(guān)信息,掌握在MATLAB中如何通過(guò)imshow()語(yǔ)句來(lái)讀取圖像等等。

      第二 圖像基本運(yùn)算

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.了解圖像的算術(shù)運(yùn)算在數(shù)字圖像處理中的初步應(yīng)用。2.體會(huì)圖像算術(shù)運(yùn)算處理的過(guò)程和處理前后圖像的變化。

      二、實(shí)驗(yàn)原理

      圖像的代數(shù)運(yùn)算是圖像的標(biāo)準(zhǔn)算術(shù)操作的實(shí)現(xiàn)方法,是兩幅輸入圖像之間進(jìn)行的點(diǎn)對(duì)點(diǎn)的加、減、乘、除運(yùn)算后得到輸出圖像的過(guò)程。如果輸入圖像為A(x,y)和B(x,y),輸出圖像為C(x,y),則圖像的代數(shù)運(yùn)算有如下四種形式:

      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)C(x,y)= A(x,y)/ B(x,y)

      三、實(shí)驗(yàn)步驟 1.圖像的加法運(yùn)算

      在MATLAB中,如果要進(jìn)行兩幅圖像的加法,或者給一幅圖像加上一個(gè)常數(shù),可以調(diào)用imadd函數(shù)來(lái)實(shí)現(xiàn)。imadd函數(shù)將某一幅輸入圖像的每一個(gè)像素值與另一幅圖像相應(yīng)的像素值相加,返回相應(yīng)的像素值之和作為輸出圖像。imadd函數(shù)的調(diào)用格式如下:

      Z = imadd(X,Y)首先讀入兩幅圖像

      >>a=imread('第二個(gè)原圖1.jpg');>>b=imread('第二個(gè)原圖2.jpg')通過(guò)一個(gè)加法操作:>> c=imadd(a,b);

      給圖像的每一個(gè)像素加上一個(gè)常數(shù)可以使圖像的亮度增加。如截圖

      第一張為原圖,第二張為亮度加50,第三張為亮度減50 2.圖像的減法運(yùn)算

      在MATLAB中,使用imsubtract函數(shù)可以將一幅圖像從另一幅圖像中減去,或者從一幅圖像中減去一個(gè)常數(shù)。imsubtract函數(shù)將一幅輸入圖像的像素值從另一幅輸入圖像相應(yīng)的像素值中減去,再將這個(gè)結(jié)果作為輸出圖像相應(yīng)的像素值。imsubtract函數(shù)的調(diào)用格式如下:

      Z = imsubtract(X,Y); 讀入一幅畫后通過(guò)減法 >>a3=imsubtract(a,50);

      3.圖像的乘法運(yùn)算

      在MATLAB中,使用immultiply函數(shù)實(shí)現(xiàn)兩幅圖像的乘法。immultiply函數(shù)將兩幅圖像相應(yīng)的像素值進(jìn)行元素對(duì)元素的乘法操作(MATLAB點(diǎn)乘),并將乘法的運(yùn)算結(jié)果作為輸出圖形相應(yīng)的像素值。immulitply函數(shù)的調(diào)用格式如下:

      Z = immulitply(X,Y)讀入一幅圖后通過(guò)乘法操作 >> a=imread('cameraman.tif');>> b=immultiply(a,1.5);

      4.圖像的除法運(yùn)算

      在MATLAB中使用imdivide函數(shù)進(jìn)行兩幅圖像的除法。imdivide函數(shù)對(duì)兩幅輸入圖像的所有相應(yīng)像素執(zhí)行元素對(duì)元素的除法操作(點(diǎn)除),并將得到的結(jié)果作為輸出圖像的相應(yīng)像素值。imdivide函數(shù)的調(diào)用格式如下:

      Z = imdivide(X,Y)讀入一幅圖后通過(guò)除法操作

      四、實(shí)驗(yàn)總結(jié)

      通過(guò)對(duì)圖像的四則運(yùn)算了結(jié)圖像的不同變化過(guò)程,對(duì)軟件的進(jìn)一步使用也有了更加深刻的認(rèn)識(shí)。

      實(shí)驗(yàn)三 圖像增強(qiáng)—空域?yàn)V波

      一、實(shí)驗(yàn)?zāi)康?/p>

      進(jìn)一步了解MatLab軟件/語(yǔ)言,學(xué)會(huì)使用MatLab對(duì)圖像作濾波處理,使學(xué)生有機(jī)會(huì)掌握濾波算法,體會(huì)濾波效果。

      了解幾種不同濾波方式的使用和使用的場(chǎng)合,培養(yǎng)處理實(shí)際圖像的能力,并為課堂教學(xué)提供配套的實(shí)踐機(jī)會(huì)。

      二、實(shí)驗(yàn)設(shè)備與軟件

      (1)IBM-PC計(jì)算機(jī)系統(tǒng)

      (2)MatLab軟件/語(yǔ)言包括圖像處理工具箱(Image Processing Toolbox)

      (3)實(shí)驗(yàn)所需要的圖片

      三、實(shí)驗(yàn)內(nèi)容與步驟

      a)調(diào)入并顯示原始圖像“原圖像.jpg”。>>I=imread('原圖像.jpg');b)利用imnoise命令在圖像“原圖像.jpg”上加入高斯(gaussian)噪聲

      >>J = imnoise(I,'gauss',0.02);

      %添加高斯噪聲 c)利用預(yù)定義函數(shù)fspecial命令產(chǎn)生平均(average)濾波器 d)分別采用3x3和5x5的模板,分別用平均濾波器以及中值濾波器,對(duì)加入噪聲的圖像進(jìn)行處理并觀察不同噪聲水平下,上述濾波器處理的結(jié)果;

      >>ave1=fspecial('average',3);

      %產(chǎn)生3×3的均值模版 >>ave2=fspecial('average',5);

      %產(chǎn)生5×5的均值模版 >>K = filter2(ave1,J)/255;

      %均值濾波3×3 >>L = filter2(ave2,J)/255;

      %均值濾波5×5 e)選擇不同大小的模板,對(duì)加入某一固定噪聲水平噪聲的圖像進(jìn)行處理,觀察上述濾波器處理的結(jié)果。

      >>M = medfilt2(J,[3 3]);

      %中值濾波3×3模板 >>N = medfilt2(J,[4 4]);

      %中值濾波4×4模板

      f)利用imnoise命令在圖像Sample2-1.jpg 上加入椒鹽噪聲(salt & pepper)>>J = imnoise(I,'salt& pepper',0.02);

      %添加椒鹽噪聲

      四、實(shí)驗(yàn)總結(jié)

      椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點(diǎn)噪聲。椒鹽噪聲往往由圖像切割引起,去除脈沖干擾及椒鹽噪聲最常用的算法是中值濾波。椒鹽噪聲是指兩種噪聲,一種是鹽噪聲,另一種是胡椒噪聲。鹽=白色,椒=黑色。前者是高灰度噪聲,后者屬于低灰度噪聲。一般兩種噪聲同時(shí)出現(xiàn),呈現(xiàn)在圖像上就是黑白雜點(diǎn)。這點(diǎn)我們通過(guò)實(shí)驗(yàn)結(jié)果可以明顯看到。中值濾波對(duì)于濾除圖像的椒鹽噪聲非常有效。

      實(shí)驗(yàn)四圖像分割

      一、實(shí)驗(yàn)?zāi)康?/p>

      使用MatLab 軟件進(jìn)行圖像的分割。使學(xué)生通過(guò)實(shí)驗(yàn)體會(huì)一些主要的分割算子對(duì)圖像處理的效果,以及各種因素對(duì)分割效果的影響。

      二、實(shí)驗(yàn)要求

      要求學(xué)生能夠自行評(píng)價(jià)各主要算子在無(wú)噪聲條件下和噪聲條件下的分割性能。能夠掌握分割條件(閾值等)的選擇。完成規(guī)定圖像的處理并要求正確評(píng)價(jià)處理結(jié)果,能夠從理論上作出合理的解釋。

      三、實(shí)驗(yàn)內(nèi)容與步驟

      (1)使用Roberts 算子的圖像分割實(shí)驗(yàn),使用的原圖是cameraman.jpg,截圖如下

      (2)使用Prewitt 算子的圖像分割實(shí)驗(yàn) 截圖如下

      (3)使用Sobel 算子的圖像分割實(shí)驗(yàn)

      (4)使用LoG(拉普拉斯-高斯)算子的圖像分割實(shí)驗(yàn)

      四、實(shí)驗(yàn)結(jié)果

      對(duì)Roberts算子、Prewitt 算子、Sobel 算子、LoG(拉普拉斯-高斯)算子的運(yùn)算對(duì)圖像的結(jié)果有了基本的認(rèn)識(shí),加深學(xué)習(xí)效果。

      實(shí)驗(yàn)五 形態(tài)學(xué)運(yùn)算

      1、實(shí)驗(yàn)?zāi)康?/p>

      學(xué)習(xí)常見(jiàn)的數(shù)學(xué)形態(tài)學(xué)運(yùn)算基本方法,了解腐蝕、膨脹、開(kāi)運(yùn)算、閉運(yùn)算取得的效果,培養(yǎng)處理實(shí)際圖像的能力,并為課堂教學(xué)提供配套的實(shí)踐機(jī)會(huì)。

      2、實(shí)驗(yàn)要求

      利用MatLab工具箱中關(guān)于數(shù)學(xué)形態(tài)學(xué)運(yùn)算的函數(shù),計(jì)算本指導(dǎo)書中指定二值圖像進(jìn)行處理。

      3、實(shí)驗(yàn)設(shè)備與軟件

      1.LC-PC計(jì)算機(jī)系統(tǒng)

      2.MatLab軟件/語(yǔ)言包括圖像處理工具箱(Image Processing Toolbox)3.實(shí)驗(yàn)所需要的圖片

      4、實(shí)驗(yàn)內(nèi)容與步驟

      1.調(diào)入并顯示圖像“原圖.jpg”; 2.調(diào)入并顯示圖像“原圖.jpg”;

      3.選取合適的閾值,得到二值化圖像“原圖.jpg”; >>bw = im2bw(I,level);

      %二值化 4.設(shè)置結(jié)構(gòu)元素;

      5.對(duì)得到的二值圖像“原圖.jpg”進(jìn)行腐蝕運(yùn)算; >>BW2 = imerode(bw,SE1);

      %腐蝕 6.對(duì)得到的二值圖像“原圖.jpg”進(jìn)行膨脹運(yùn)算; >>BW1 = imdilate(bw,SE);

      %膨脹 7.對(duì)得到的二值圖像“原圖.jpg”進(jìn)行開(kāi)運(yùn)算;

      >>BW3 = bwmorph(bw, 'open');

      %開(kāi)運(yùn)算 8.對(duì)得到的二值圖像“原圖.jpg”進(jìn)行閉運(yùn)算; >>BW4 = bwmorph(bw, 'close');

      %閉運(yùn)算 9.將兩種處理方法的結(jié)果作比較;

      五、實(shí)驗(yàn)總結(jié)

      通過(guò)本次實(shí)驗(yàn),學(xué)習(xí)了常見(jiàn)的數(shù)學(xué)形態(tài)學(xué)運(yùn)算基本方法,了解腐蝕、膨脹、開(kāi)運(yùn)算、閉運(yùn)算取得的效果,培養(yǎng)處理實(shí)際圖像的能力,通過(guò)自己動(dòng)手的實(shí)驗(yàn),對(duì)課本上的知識(shí)有了更加深刻的理解。

      第五篇:數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

      實(shí)驗(yàn)一 數(shù)字圖像的獲取

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、了解圖像的實(shí)際獲取過(guò)程。

      2、鞏固圖像空間分辨率和灰度級(jí)分辨率、鄰域等重要概念。

      3、熟練掌握?qǐng)D像讀、寫、顯示、類型轉(zhuǎn)換等 matlab 函數(shù)的用法。

      二、實(shí)驗(yàn)內(nèi)容

      1、讀取一幅彩色圖像,將該彩色圖像轉(zhuǎn)化為灰度圖像,再將灰度圖像轉(zhuǎn)化為索引圖像并顯示所有圖像。

      2、編程實(shí)現(xiàn)空間分辨率變化的效果。

      三、實(shí)驗(yàn)原理

      1、圖像讀、寫、顯示 I=imread(‘image.jpg’)Imview(I)Imshow(I)Imwrite(I,’wodeimage.jpg’)

      2、圖像類型轉(zhuǎn)換

      I=mat2gray(A,[amin,amax]);按指定的取值區(qū)間[amin,amax]將數(shù)據(jù)矩陣 A 轉(zhuǎn)化為灰度

      圖像 I,amin 對(duì)應(yīng)灰度 0,amax 對(duì)應(yīng) 1,也可以不指定該區(qū)間。

      [x,map]=gray2ind(I,n);按指定的灰度級(jí) n 將灰度圖像轉(zhuǎn)化為索引圖像,n 默認(rèn)為 64 I=ind2gray(x,map);索引圖像轉(zhuǎn)化為灰度圖像 I=grb2gray(RGB);真彩色圖像轉(zhuǎn)化為灰度圖像

      [x,map]=rgb2ind(RGB);真彩色圖像轉(zhuǎn)化為索引圖像 RGB=ind2rgb(x,map);索引圖像轉(zhuǎn)化為真彩色圖像

      BW=im2bw(I,level);將灰度圖像轉(zhuǎn)化為二值圖像,level 取值在[0,1]之間

      BW=im2bw(x,map,level);將索引圖像轉(zhuǎn)化為二值圖像,level 取值在[0,1]之間 BW=im2bw(RGB,level);將真彩色圖像轉(zhuǎn)化為二值圖像,level 取值在[0,1]之間

      四、實(shí)驗(yàn)代碼及結(jié)果

      1、in=imread('peppers.png');i=rgb2gray(in);[x,map]=gray2ind(i,128);subplot(131),imshow(in)subplot(132),imshow(i)subplot(133),imshow(x),colormap(map)

      、%空間分辨率變化的效果

      clc,close all,clear i=imread('cameraman.tif');

      i=imresize(i,[256,256]);i1=i(1:2:end,1:2:end);[m1,n1]=size(i)i2=i1(1:2:end,1:2:end);[m2,n2]=size(i2)i3=i2(1:2:end,1:2:end);[m3,n3]=size(i3)subplot(221),imshow(i),xlabel('256 x 256')subplot(222),imshow(i1),xlabel('128 x 128')subplot(223),imshow(i2),xlabel('64 x 64')subplot(224),imshow(i3),xlabel('32 x 32')256 x 25664 x 64128 x 12832 x 32

      實(shí)驗(yàn)二

      圖像的幾何變換

      一、實(shí)驗(yàn)?zāi)康?/p>

      掌握?qǐng)D像的基本幾何變換的方法

      1、圖像的平移

      2、圖像的旋轉(zhuǎn)

      二、實(shí)驗(yàn)內(nèi)容

      練習(xí)用matalb命令實(shí)現(xiàn)圖像的平移、旋轉(zhuǎn)操作

      1、.編寫實(shí)現(xiàn)圖像平移的函數(shù)

      2、用imread命令從你的硬盤讀取一幅256×256灰度圖;

      3、調(diào)用平移函數(shù),將256×256灰度圖平移100行200列,在同一個(gè)窗口中顯示平移前和平移后的圖像。

      4、再開(kāi)辟一個(gè)窗口,分別用最近鄰插值法、雙線性插值法實(shí)現(xiàn)圖像順勢(shì)針旋轉(zhuǎn)50°,顯示在同一窗口中,并比較兩種效果圖(在報(bào)告中)

      三、實(shí)驗(yàn)原理

      提示:圖片平移就是實(shí)現(xiàn)運(yùn)算

      ?x'??10x0??x? ?'????? ?y???01y0???y??1??001??1? ??????

      ?x'?x?x0即:??y'?y?y0

      四、實(shí)驗(yàn)代碼及結(jié)果

      1、function [I]=hmove(i,x0,y0);%編寫實(shí)現(xiàn)圖像平移的函數(shù)hmove,平移量為 [r,c]=size(i);

      %x0,y0,平移前圖像矩陣為i,I(r+x0,c+y0)=0;

      %平移后圖像矩陣為I for x=1:r;

      for y=1:c;

      x1=x+x0;

      y1=y+y0;

      I(x1,y1)=i(x,y);

      end;end;參考程序 subplot(2,2,1)imshow(RGB)subplot(2,2,3)gray1=rgb2gray(RGB);imagesc(gray1),colormap(gray);

      subplot(2,2,2)I1=hmove(gray1,100,20);subimage(gray1),axis('image');subplot(2,2,4),imagesc(I1),colormap(gray),axis([1,700],[1,820]);

      2、顯示圖像的傅立葉頻譜 ? a=0:800;b=0:600;

      ? %[x,y]=meshgrid([-20:0.2:20],[-20:0.2:20]);? [x,y]=meshgrid(a,b);? i=imread('hr.jpg');? I=rgb2gray(i);

      ? subplot(1,2,1),subimage([0,800],[0,600],i);? subplot(1,2,2);? s=fft2(I,601,801);? mesh(x,y,log(abs(s)));%圖像的傅立葉幅度頻譜以三維圖形顯示 ? colormap(hsv);

      實(shí)驗(yàn)三 圖像空域變換增強(qiáng)(1)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、掌握直方圖均衡化算法。

      2、鞏固灰度變換、直方圖修正、圖像算術(shù)和邏輯運(yùn)算等基礎(chǔ)知識(shí)。

      3、熟練掌握空域變換增強(qiáng)的matlab 相關(guān)函數(shù)用法,并能利用算法自己編寫matlab 程序?qū)崿F(xiàn)圖像空域變換增強(qiáng)。

      二、實(shí)驗(yàn)內(nèi)容

      1、用函數(shù)imcomplement 對(duì)灰度圖像cameraman.tif 取反。

      2、利用如下分段變換曲線對(duì)canmeraman.tif 做線性灰度變換。

      3、利用直方圖求取算法計(jì)算以及顯示pout.tif 的直方圖,并和imhist 函數(shù)生成的直方圖作比較。

      三、實(shí)驗(yàn)原理

      在圖像處理中,空域是指由像素組成的空間,空域增強(qiáng)方法是指直接作用于像素的增強(qiáng)方法??沼蛱幚砜梢员硎緸椋?/p>

      g(x, y)=T[ f(x, y)]

      j=imcomplement(i);對(duì)圖像取反 imhist();顯示圖像的直方圖 histeq();直方圖均衡化函數(shù)

      imnoise(I,type,parameters);給圖像加噪聲 bitand();圖像位與運(yùn)算 bitor();圖像位或運(yùn)算

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、i=imread('cameraman.tif');

      j=imcomplement(i);subplot(121),imshow(i)subplot(122),imshow(j)

      2、clear,close all,clc in1=imread('cameraman.tif');

      f0=0;g0=0;f1=100;g1=60;f2=150;g2=220;f3=255;g3=255;figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3])axis tight,xlabel('f'),ylabel('g')title('intensity transformation')r1=(g1-g0)/(f1-f0);b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);b3=g2-r3*f2;[m,n]=size(in1);in2=double(in1);for i=1:m for j=1:n f=in2(i,j);g(i,j)=0;if(f>=0)&(f<=f1)g(i,j)=r1*f+b1;elseif(f>=f1)&(f<=f2)g(i,j)=r2*f+b2;elseif(f>=f2)&(f<=f3)g(i,j)=r3*f+b3;end end end figure,subplot(121),imshow(in1)subplot(122),imshow(mat2gray(g))

      3、clc,clear,close all in=imread('pout.tif');[m,n]=size(in);num=zeros(1,256);% num 是每個(gè)灰度級(jí)對(duì)應(yīng)的像素個(gè)數(shù) p=zeros(1,256);% p 是每個(gè)灰度級(jí)出現(xiàn)的概率 for i=1:m for j=1:n num(1,in(i,j)+1)=num(1,in(i,j)+1)+1;% 統(tǒng)計(jì)個(gè)數(shù) end end p=num./(m*n)% 求概率 x=1:256;subplot(121),plot(x,p),axis([1 256 0 0.06])subplot(122),imhist(in)

      實(shí)驗(yàn)四 圖像空域變換增強(qiáng)(2)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、掌握直方圖均衡化算法。

      2、鞏固灰度變換、直方圖修正、圖像算術(shù)和邏輯運(yùn)算等基礎(chǔ)知識(shí)。

      3、熟練掌握空域變換增強(qiáng)的matlab 相關(guān)函數(shù)用法,并能利用算法自己編寫matlab 程序?qū)崿F(xiàn)圖像空域變換增強(qiáng)。實(shí)現(xiàn)頻域線性變換,非線性變換增強(qiáng)

      二、實(shí)驗(yàn)內(nèi)容

      1、利用直方圖均衡化算法對(duì)圖像pout.tif 進(jìn)行增強(qiáng)運(yùn)算。

      2、對(duì)圖像lena.jpg 作邏輯與和邏輯或運(yùn)算。

      三、實(shí)驗(yàn)原理

      j=imcomplement(i);對(duì)圖像取反 imhist();顯示圖像的直方圖 histeq();直方圖均衡化函數(shù)

      imnoise(I,type,parameters);給圖像加噪聲 bitand();圖像位與運(yùn)算 bitor();圖像位或運(yùn)算

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、clear;close all;clc;tu=imread('pout.tif');% 輸入圖像

      %tu=rgb2gray(tu);% 轉(zhuǎn)換為灰度圖像

      N=zeros(1,256);% N 為原始圖像各灰度級(jí)像素個(gè)數(shù) P=zeros(1,256);% P 為原始成圖像直方圖

      q=zeros(1,256);% q 為原始圖像直方圖累積分布函數(shù)

      newN=zeros(1,256);% newN 為新生成圖像各灰度級(jí)像素個(gè)數(shù) newP=zeros(1,256);% newP 為新生成圖像直方圖

      newq=zeros(1,256);% newq 為新生成圖像直方圖累積分布函數(shù) [h w]=size(tu);new_tu=zeros(h,w);% 計(jì)算原始圖像各灰度級(jí)像素個(gè)數(shù) for x=1:h for y=1:w N(1,tu(x,y))=N(1,tu(x,y))+1;end end P=N./sum(N);% 計(jì)算原始直方圖 P % 計(jì)算原始累積分布直方圖 q(1,1)=P(1,1);for i=2:256 q(1,i)=q(1,i-1)+P(1,i);end % 計(jì)算原始直方圖對(duì)應(yīng)的新的灰度 t ,建立映射關(guān)系 for i=1:256 t(1,i)=floor(254*q(1,i)+1+0.5);end % 計(jì)算直方圖均衡化后的新圖 new_tu for x=1:h for y=1:w new_tu(x,y)=t(1,tu(x,y));end end % 統(tǒng)計(jì)新生成圖像各灰度級(jí)像素個(gè)數(shù) for x=1:h for y=1:w newN(1,new_tu(x,y))=newN(1,new_tu(x,y))+1;end end newP=newN./(h*w);% 計(jì)算新的灰度直方圖 newP % 計(jì)算新生成圖像累積分布直方圖 newq(1,1)=newP(1,1);for i=2:256 newq(1,i)=newq(1,i-1)+newP(1,i);end % 顯示信息

      subplot(231),imshow(tu)subplot(232),plot(P),axis([1 256 0 0.06])subplot(233),plot(q),axis([1 256 0 1])subplot(234),imshow(new_tu,[])subplot(235),plot(newP),axis([1 256 0 0.06])subplot(236),plot(newq),axis([1 256 0

      1])

      2、clc,clear,close all in=imread('lena.jpg');in=rgb2gray(in);[m,n]=size(in);in=double(in);out1=ones(m,n)*255;out1(20:150,30:170)=0;chu1=zeros(m,n);chu1(20:150,30:170)=255;for i=1:m for j=1:n out2(i,j)=bitor(in(i,j),out1(i,j));chu2(i,j)=bitand(in(i,j),chu1(i,j));end end in=uint8(in);out1=uint8(out1);out2=uint8(out2);chu1=uint8(chu1);chu2=uint8(chu2);subplot(231),imshow(in)subplot(232),imshow(out1)subplot(233),imshow(out2)subplot(234),imshow(chu1)subplot(235),imshow(chu2)

      實(shí)驗(yàn)五 圖像濾波增強(qiáng)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、掌握各種空域和頻域圖像濾波增強(qiáng)算法已經(jīng)模板運(yùn)算的基本方法。

      2、鞏固卷積定理、濾波處理等基礎(chǔ)知識(shí)。

      3、熟練掌握空域和頻域?yàn)V波增強(qiáng)的matlab 相關(guān)函數(shù)用法。

      二、實(shí)驗(yàn)內(nèi)容

      1、利用均值濾波算法對(duì)已被噪聲污染的圖像rice.png 進(jìn)行濾波除噪處理。、利用標(biāo)準(zhǔn)中值濾波算法對(duì)已被噪聲污染的圖像rice.png 進(jìn)行濾波除噪處理。3、用prewitt 算子對(duì)圖像cameraman.tif 進(jìn)行銳化濾波處理。

      三、實(shí)驗(yàn)原理

      H=fspecial(type);H=fspecial(type,parameters);用于創(chuàng)建一個(gè)指定的濾波器模板,type 指濾波器的類型。

      parameters 是與指定的濾波器有關(guān)的參數(shù)。Y=filter2(B,X);用于進(jìn)行二維線性數(shù)字濾波,使用矩陣B 中的二維濾波器對(duì)數(shù)據(jù)X進(jìn)行濾波。結(jié)果Y 是通過(guò)二維互相關(guān)計(jì)算出來(lái)的,大小與X 一樣。

      Y=filter2(B,X,’shape’);結(jié)果Y 的大小由參數(shù)shape確定,shape的取值如下: Full:返回二維戶相關(guān)的全部結(jié)果,size(Y)>size(X)Same:返回二維戶相關(guān)結(jié)果的中間部分,Y 的大小與X 相同 Valid:返回二維戶相關(guān)未使用邊緣補(bǔ)0 的部分,size(Y)

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、clc,clear

      in1=imread('rice.png');f=imnoise(in1,'salt & pepper',0.1);%f=imnoise(in1,'gaussian',0,0.02)%g 是標(biāo)準(zhǔn)均值濾波器的輸出圖像 g=biaozhunjunzhi(f,3);subplot(221),imshow(in1)%,xlabel('(a)原始圖像')subplot(222),imshow(f)%,xlabel('(b)加噪圖像')subplot(223),imshow(g)%,xlabel('(c)標(biāo)準(zhǔn)均值濾波圖像')function g=biaozhunjunzhi(f,k)[m,n]=size(f);%f1 是對(duì)邊緣像素補(bǔ)0 后得到的圖像

      f1=zeros(m+(k-1),n+(k-1));[m1,n1]=size(f1);%f1 的邊緣像素值為0中間的像素值依然為f f1((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2))=f;%注意這條指令絕對(duì)不能少 ga=f;%取出窗口內(nèi)的像素值并作標(biāo)準(zhǔn)均值濾波處理 for i=(k+1)/2:(m1-(k-1)/2)

      for j=(k+1)/2:(n1-(k-1)/2)a=0;x=1;for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2));x=x+1;end end %hsum 表示窗口內(nèi)所有像素值的和 hsum=0;for h=1:(k^2)hsum=hsum+a(h);end ga(i,j)=round(hsum/(k^2));end end %ga 的大小和f1 的大小一致所以必須取出中間部分像素值作為輸出 g=ga((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2));

      2、clc,clear in1=imread('rice.png');f=imnoise(in1,'salt & pepper',0.1);%f=imnoise(in1,'gaussian',0,0.02)%g 是標(biāo)準(zhǔn)中值濾波器的輸出圖像 g=biaozhunzhongzhi(f,3);subplot(131),imshow(in1)%,xlabel('(a)原始圖像')subplot(132),imshow(f)%,xlabel('(b)加噪圖像')subplot(133),imshow(g)%,xlabel('(c)標(biāo)準(zhǔn)均值濾波圖像')function g=biaozhunzhongzhi(f,k)[m,n]=size(f);%f1 是對(duì)邊緣像素補(bǔ)0 后得到的圖像

      f1=zeros(m+(k-1),n+(k-1));[m1,n1]=size(f1);%f1 的邊緣像素值為0中間的像素值依然為f f1((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2))=f;%注意這條指令絕對(duì)不能少 ga=f;for i=(k+1)/2:(m1-(k-1)/2)for j=(k+1)/2:(n1-(k-1)/2)a=0;x=1;for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2));x=x+1;

      end end a=sort(a);ga(i,j)=a((k^2+1)/2);end end %ga 的大小和f1 的大小一致所以必須取出中間部分像素值作為輸出 g=ga((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2));

      3、clc,clear,close all f=imread('cameraman.tif');[m,n]=size(f);g=f;h1=[-1-1-1;0 0 0;1 1 1];h2=[-1 0 1;-1 0 1;-1 0 1];x1=h1;x2=h2;for i=2:1:m-1 for j=2:1:n-1 sum1=0;sum2=0;sum=0;for p=1:1:3 for q=1:1:3 x1(p,q)=f(i+(p-2),j+(q-2));x2(p,q)=f(i+(p-2),j+(q-2));sum1=sum1+x1(p,q)*h1(p,q);sum2=sum2+x2(p,q)*h2(p,q);sum=sum1+sum2;end end if sum<1 g(i,j)=abs(sum);else g(i,j)=sum;end end end subplot(121),imshow(f)subplot(122),imshow(g)

      實(shí)驗(yàn)六 圖像復(fù)原

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、掌握各種空域和頻域圖像濾波增強(qiáng)算法已經(jīng)模板運(yùn)算的基本方法。

      2、鞏固卷積定理、濾波處理等基礎(chǔ)知識(shí)。

      3、熟練掌握空域和頻域?yàn)V波增強(qiáng)的matlab 相關(guān)函數(shù)用法并能利用算法自己編寫matlab程序?qū)崿F(xiàn)圖像空域變換增強(qiáng)。

      二、實(shí)驗(yàn)內(nèi)容 利用大氣湍流引起的圖像退化模型對(duì)camerman.tif 進(jìn)行退化和復(fù)原仿真,采用逆濾波的方法復(fù)原。利用勻速直線運(yùn)動(dòng)的圖像退化模型對(duì)camerman.tif 進(jìn)行退化和復(fù)原仿真,采用逆濾波的方法復(fù)原。根據(jù)逆諧波均值濾波器的輸入輸出方程對(duì)輸入圖像camerman.tif 進(jìn)行空域?yàn)V波還原處理。

      三、實(shí)驗(yàn)原理

      Psf=fspecial(type,parameters);返回指定濾波器的單位沖擊響應(yīng) Imfilter(c,psf,’circular’,’conv’);根據(jù)psf 對(duì)圖像進(jìn)行濾波處理 Fr=deconvwnr(g,psf,ncorr,icorr);對(duì)圖像進(jìn)行維納濾波處理

      Fr=deconvreg(g,psf,noisepower,range);對(duì)圖像進(jìn)行最小二乘方濾波處理

      Tform=maketform(transform_type,transform_parameters);對(duì)圖像進(jìn)行幾何失真校正

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、%基于大氣湍流造成的模糊圖像及其還原

      clear;close all;clc in=imread('cameraman.tif');subplot(131),imshow(in),title('原始圖像')f=fft2(in);[N1,N2]=size(f);k1=0.00005;%退化模型中的常數(shù)

      %根據(jù)退化模型對(duì)輸入圖像進(jìn)行退化處理并輸出退化后的圖像 for i=1:N1 for j=1:N2 h(i,j)=exp((-k1*(i^2+j^2))^(5/6));out(i,j)=f(i,j)*h(i,j);end end out1=ifft2(out);outreal=uint8(real(out1));subplot(132),imshow(outreal),title('大氣湍流退化圖')%根據(jù)退化模型對(duì)已經(jīng)退化的圖像進(jìn)行恢復(fù)處理 k2=0.00006;%退化模型中的常數(shù)

      for i=1:N1 for j=1:N2 h(i,j)=exp((-k2*(i^2+j^2))^(5/6));chu(i,j)=out(i,j)/h(i,j);end end chu1=ifft2(chu);chureal=uint8(real(chu1));subplot(133),imshow(chureal),title('大氣湍流還原圖')

      2、%基于勻速直線運(yùn)動(dòng)造成的模糊圖像及其還原

      clear;close all;clc in=imread('cameraman.tif');%in=rgb2gray(in1);subplot(131),imshow(in),title('原始圖像')f=fft2(in);[N1,N2]=size(f);t=1;a=0.06;b=0.04;pi=3.1415926;for u=1:N1 for v=1:N2 fenzhi=cos(pi*(u*a+v*b))-i*sin(pi*(u*a+v*b));h(u,v)=t*sin(pi*(u*a+v*b))*fenzhi/(pi*(u*a+v*b));out(u,v)=f(u,v)*h(u,v);end end out1=ifft2(out);outreal=uint8(real(out1));subplot(132),imshow(outreal),title('勻速直線運(yùn)動(dòng)退化圖')for u=1:N1 for v=1:N2 h(u,v)=t*sin(pi*(u*a+v*b))*(cos(pi*(u*a+v*b))-j*sin(pi*(u*a+v*b)))/(pi*(u*a+v*b));chu(u,v)=out(u,v)/h(u,v);end end chu1=ifft2(chu);chureal=uint8(real(chu1));

      subplot(133),imshow(chureal),title('勻速直線運(yùn)動(dòng)還原圖')

      a=0.06;b=0;時(shí)的運(yùn)行結(jié)果:

      a=0;b=0.06;時(shí)的運(yùn)行結(jié)果::

      3、%逆諧波均值濾波舉例

      clc,close all,clear in=imread('cameraman.tif');f=imnoise(in,'gaussian',0,0.05);g=nixiebojunzhi(f,3);subplot(131),imshow(in)subplot(132),imshow(f)subplot(133),imshow(g)%逆諧波函數(shù)

      function g=nixiebojunzhi(f,k)[m,n]=size(f);r=2;%r 為逆諧波函數(shù)中的Q 值

      %f1 是對(duì)邊緣像素補(bǔ)0 后得到的圖像

      f1=zeros(m+(k-1),n+(k-1));[m1,n1]=size(f1);%f1 的邊緣像素值為0中間的像素值依然為f f1((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2))=f;%注意這條指令絕對(duì)不能少 ga=f;%取出窗口內(nèi)的像素值并作標(biāo)準(zhǔn)均值濾波處理 for i=(k+1)/2:(m1-(k-1)/2)for j=(k+1)/2:(n1-(k-1)/2)a=0;x=1;for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2));x=x+1;end end %hsum 表示窗口內(nèi)所有像素值的和 hsum1=0;hsum2=0;for h=1:(k^2)hsum1=hsum1+a(h)^(r+1);hsum2=hsum2+a(h)^r;end ga(i,j)=round(hsum1/hsum2);end end %ga 的大小和f1 的大小一致所以必須取出中間部分像素值作為輸出 g=ga((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2));

      實(shí)驗(yàn)七 彩色圖像處理

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、了解三色成像及各種顏色模型。

      2、能用處理灰度圖像的算法和技術(shù)對(duì)真彩色圖像進(jìn)行增強(qiáng)、去噪、復(fù)原等處理。

      3、理解偽彩色圖像處理技術(shù)并掌握密度分層法、灰度級(jí)彩色變換法、頻域?yàn)V波等偽彩色圖像處理算法。

      二、實(shí)驗(yàn)內(nèi)容

      1、生成一幅256x256 的RGB 圖像,該圖像左上角為紅色,右上角為藍(lán)色,左下角為綠色,右下角為黑色。

      2、給彩色圖像加噪并去噪,可以采用灰度圖像去噪處理的任何方法。

      3、密度分層偽彩色處理仿真。

      4、灰度級(jí)-彩色變換法偽彩色處理仿真。

      三、實(shí)驗(yàn)原理

      B=cat(dim,A1,A2,A3,...),dim 為維數(shù),cat 函數(shù)將A1,A2,A3 等矩陣連接成維數(shù)為dim的矩陣。

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、clc,clear,close all rin=zeros(256,256);%紅色分量 rin(1:128,1:128)=1;%左上角 gin=zeros(256,256);%綠色分量 gin(129:256,1:128)=1;%左下角 bin=zeros(256,256);%藍(lán)色分量 bin(1:128,129:256)=1;%右上角 %將三個(gè)分量進(jìn)行組合 out1=cat(3,rin,gin,bin);%也可以不用matlab 函數(shù)

      out2(:,:,1)=rin;out2(:,:,2)=gin;out2(:,:,3)=bin;subplot(121),imshow(out1)subplot(122),imshow(out2)

      2、%給彩色圖像加噪并去噪

      clc,clear,close all in1=imread('peppers.png');in=imnoise(in1,'salt & pepper',0.8);out(:,:,1)=gaijinjunzhi(in(:,:,1),5);out(:,:,2)=gaijinjunzhi(in(:,:,2),5);out(:,:,3)=gaijinjunzhi(in(:,:,3),5);subplot(221),imshow(in1)subplot(222),imshow(in)subplot(223),imshow(out)%采用改進(jìn)均值濾波算法,函數(shù)如下 function g=gaijinjunzhi(f,k)[m,n]=size(f);%f1 是對(duì)邊緣像素補(bǔ)0 后得到的圖像

      f1=zeros(m+(k-1),n+(k-1));[m1,n1]=size(f1);%f1 的邊緣像素值為0中間的像素值依然為f f1((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2))=f;%注意這條指令絕對(duì)不能少 ga=f;%取出窗口內(nèi)的像素值并作改進(jìn)均值濾波處理 for i=(k+1)/2:(m1-(k-1)/2)for j=(k+1)/2:(n1-(k-1)/2)a=0;x=1;for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2));x=x+1;end end mina=min(a);maxa=max(a);%tan 表示窗口內(nèi)既不是最大也不是最小像素值的個(gè)數(shù) %he 表示窗口內(nèi)所有既不是最大也不是最小像素值的和 tan=0;he=0;%hsum 表示窗口內(nèi)所有像素值的和 hsum=0;%取出不是最大也不是最小的像素值并求和以及個(gè)數(shù) for h=1:(k^2)hsum=hsum+a(h);if a(h)~=mina & a(h)~=maxa tan=tan+1;he=he+a(h);else end end %在噪聲密度較大的情況下有可能窗口內(nèi)所有的值都是最大值或最小值 %對(duì)其進(jìn)行判斷,如果是這種情況,就采用普通的均值濾波算法求當(dāng)前要求的像素點(diǎn)的值 if tan~=0 ga(i,j)=round(he/tan);else ga(i,j)=round(hsum/(k^2));

      end end end %ga 的大小和f1 的大小一致,所以必須取出中間部分像素值作為輸出 g=ga((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2));

      3、clc,clear,close all %[i0,map]=imread('trees.tif');d=[0.54,0.24,0.81;0.44,0.136,0.123;0.45,0.73,0.145;...0.21,0.12,0.56;0.45,0.54,0.33;0.33,0.23,0.141;...0.42,0.23,0.1;0.101,0.51,0.31;0.22,0.88,0.21;0.23,0.93,0.33];in=imread('pout.tif');[m,n]=size(in);for i=1:m for j=1:n % out(i,j,1)=map(in(i,j),1);% out(i,j,2)=map(in(i,j),2);% out(i,j,3)=map(in(i,j),3);ind=fix(in(i,j)/26);out(i,j,1)=d(ind,1);out(i,j,2)=d(ind,2);out(i,j,3)=d(ind,3);end end subplot(121),imshow(in)subplot(122),imshow(out)

      4、clear,close all,clc in1=imread('moon.tif');%in1=rgb2gray(in1);%第一個(gè)獨(dú)立的變換 f10=0;g10=0;f11=127;g11=0;f12=191;g12=255;f13=255;g13=255;figure(11),plot([f10,f11,f12,f13],[g10,g11,g12,g13],'r')axis tight,xlabel('f'),ylabel('g')title('intensity transformation')r11=(g11-g10)/(f11-f10);b11=g10-r11*f10;r12=(g12-g11)/(f12-f11);b12=g11-r12*f11;r13=(g13-g12)/(f13-f12);b13=g12-r13*f12;[m,n]=size(in1);in2=double(in1);for i=1:m for j=1:n f=in2(i,j);g1(i,j)=0;if(f>=0)&(f<=f11)g1(i,j)=r11*f+b11;elseif(f>=f11)&(f<=f12)g1(i,j)=r12*f+b12;elseif(f>=f12)&(f<=f13)g1(i,j)=r13*f+b13;end end end g1=uint8(g1);figure(12),subplot(121),imshow(in1)subplot(122),imshow(g1)%imshow(mat2gray(g1))%第二個(gè)獨(dú)立的變換

      f20=0;g20=0;f21=63;g21=255;f22=191;g22=255;f23=255;g23=0;figure(21),plot([f20,f21,f22,f23],[g20,g21,g22,g23],'r')axis tight,xlabel('f'),ylabel('g')title('intensity transformation')r21=(g21-g20)/(f21-f20);b21=g20-r21*f20;r22=(g22-g21)/(f22-f21);b22=g21-r22*f21;r23=(g23-g22)/(f23-f22);b23=g22-r23*f22;[m,n]=size(in1);in2=double(in1);for i=1:m for j=1:n f=in2(i,j);g2(i,j)=0;if(f>=0)&(f<=f21)g2(i,j)=r21*f+b21;elseif(f>=f21)&(f<=f22)g2(i,j)=r22*f+b22;elseif(f>=f22)&(f<=f23)g2(i,j)=r23*f+b23;end end end

      g2=uint8(g2);figure(22),subplot(121),imshow(in1)subplot(122),imshow(g2)%imshow(mat2gray(g2))%第三個(gè)獨(dú)立的變換

      f30=0;g30=255;f31=63;g31=255;f32=127;g32=0;f33=255;g33=0;figure(31),plot([f30,f31,f32,f33],[g30,g31,g32,g33],'r')axis tight,xlabel('f'),ylabel('g')title('intensity transformation')r31=(g31-g30)/(f31-f30);b31=g30-r31*f30;r32=(g32-g31)/(f32-f31);b32=g31-r32*f31;r33=(g33-g32)/(f33-f32);b33=g32-r33*f32;[m,n]=size(in1);in2=double(in1);for i=1:m for j=1:n f=in2(i,j);g3(i,j)=0;if(f>=0)&(f<=f31)g3(i,j)=r31*f+b31;elseif(f>=f31)&(f<=f32)g3(i,j)=r32*f+b32;elseif(f>=f32)&(f<=f33)g3(i,j)=r33*f+b33;end end end g3=uint8(g3);figure(32),subplot(121),imshow(in1)subplot(122),imshow(g3)%imshow(mat2gray(g3))%彩色合成 for i=1:m for j=1:n out(i,j,1)=g1(i,j);out(i,j,2)=g2(i,j);out(i,j,3)=g3(i,j);end end figure,imshow(out)

      實(shí)驗(yàn)八 圖像檢測(cè)與分割

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、了解圖像的實(shí)際獲取過(guò)程。

      2、鞏固圖像空間分辨率和灰度級(jí)分辨率、鄰域等重要概念。

      3、熟練掌握?qǐng)D像讀、寫、顯示、類型轉(zhuǎn)換等matlab 函數(shù)的用法。

      二、實(shí)驗(yàn)內(nèi)容

      1、應(yīng)用一階算子roberts 檢測(cè)邊緣。

      2、用一階算子sobel 檢測(cè)邊緣并對(duì)邊界處的像素進(jìn)行處理。

      3、用上面描述的Otsu 算法編寫matlab 程序?qū)崿F(xiàn)圖像分割。

      三、實(shí)驗(yàn)原理

      [g,t]=edge(image,method,threshold,direction)其中image 為輸入圖像method 為采用的方法類型:threshold 為閾值,如果給定閾值,則t= threshold,否則有函數(shù)自動(dòng)計(jì)算出來(lái)并把其值返回給t;direction 為所尋找邊緣的方向,其值可以為horizontal,vertical,both 默認(rèn)為both;g 為返回的二值圖像。

      四、實(shí)驗(yàn)代碼與結(jié)果

      1、clc,clear,close all f=imread('lena.jpg');t=50;g=robertsf(f,t);subplot(121),imshow(f),title('原圖')subplot(122),imshow(g),title('roberts 算子')%用roberts 算子對(duì)圖像進(jìn)行邊緣檢測(cè)的函數(shù) function g=robertsf(f,t)[m,n]=size(f);g=f;h1=[-1 0;0 1];h2=[0-1;1 0];x1=h1;x2=h2;for i=2:1:m-1 for j=2:1:n-1 sum1=0;sum2=0;sum=0;for p=1:2 for q=1:2 x1(p,q)=f(i+(p-2),j+(q-2));x2(p,q)=f(i+(p-2),j+(q-2));sum1=sum1+x1(p,q)*h1(p,q);sum2=sum2+x2(p,q)*h2(p,q);sum=(sum1^2+sum2^2)^(1/2);end end if sum

      else end end end

      2、clc,clear,close all f=imread('cameraman.tif');k=3;[m,n]=size(f);b1=[-1-2-1 0 0 0 1 2 1];b2=[-1 0 1-2 0 2-1 0 1];t=150;%f1 是對(duì)邊緣像素補(bǔ)0 后得到的圖像 f1=zeros(m+(k-1),n+(k-1));[m1,n1]=size(f1);%f1 的邊緣像素值為0中間的像素值依然為f f1((1+(k-1)/2):(m1-(k-1)/2),(1+(k-1)/2):(n1-(k-1)/2))=f;%注意這條指令絕對(duì)不能少 ga=f1;%取出窗口內(nèi)的像素值并作標(biāo)準(zhǔn)均值濾波處理 for i=(k+1)/2:(m1-(k-1)/2)for j=(k+1)/2:(n1-(k-1)/2)a=0;%a 是一維數(shù)組1xk^2 x=1;%x 是數(shù)組的序號(hào) for p=1:k for q=1:k a(x)=f1(i+(p-(k+1)/2),j+(q-(k+1)/2));x=x+1;end end sum1=0;sum2=0;for w=1:k^2 sum1=sum1+a(w)*b1(w);sum2=sum2+a(w)*b2(w);end sum=(sum1^2+sum2^2)^(1/2);

      if sum

      3、%利用Otsu 法閾值選擇的方法分割圖像

      clc,clear,close all k=8;%k 表示無(wú)符號(hào)整型數(shù)的位數(shù) L=2^k;in=imread('pout.tif');[m,n]=size(in);num=zeros(1,256);% num 是每個(gè)灰度級(jí)對(duì)應(yīng)的像素個(gè)數(shù) p=zeros(1,256);% p 是每個(gè)灰度級(jí)出現(xiàn)的概率

      %p=zeros(1,256);% q 是每個(gè)灰度級(jí)出現(xiàn)的概率的累積分布函數(shù) for i=1:m for j=1:n num(1,in(i,j)+1)=num(1,in(i,j)+1)+1;% 統(tǒng)計(jì)個(gè)數(shù) end end p=num./(m*n);% 求概率 ut=0;%ut 是整幅圖像的均值 for i=1:L ut=ut+(i-1)*p(i);end for t=0:L-1 w0=0;w1=0;for i=1:t w0=w0+p(i);end w1=1-w0;u0=0;

      for i=1:t if w0>0 u0=u0+i*p(i)/w0;else u0=u0+0;end end u1=0;for i=(t+1):L if w1>0 u1=u1+i*p(i)/w1;else u1=u1+0;end end rou(t+1)=w0*w1*(u0-u1)^2;%類間方差的求取 end maxrou=max(rou);%類間方差的最大值 for i=1:L if rou(i)==maxrou r=i-1;end end r %類間方差最大所對(duì)應(yīng)的灰度值 for i=1:m for j=1:n if in(i,j)>r out(i,j)=1;else out(i,j)=0;end end end subplot(121),imshow(in)subplot(122),imshow(out)運(yùn)行結(jié)果得到的閾值為:114

      下載天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告word格式文檔
      下載天津科技大學(xué)---數(shù)字圖像處理實(shí)驗(yàn)報(bào)告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

        數(shù)字圖像處理實(shí)驗(yàn) 學(xué)生姓名:專業(yè)年級(jí):報(bào)告 葉圣紅 學(xué) 號(hào): 20097048 09級(jí)電子信息工程二班 實(shí)驗(yàn)一 常用MATLAB圖像處理命令 一、實(shí)驗(yàn)內(nèi)容 1、讀入一幅RGB圖像,變換為灰度圖像......

        數(shù)字圖像處理實(shí)驗(yàn)報(bào)告5篇

        目錄 實(shí)驗(yàn)一: 數(shù)字圖像的基本處理操作 ...................................................................................................... 2 1.1: 實(shí)驗(yàn)?zāi)康?............

        數(shù)字圖像處理 實(shí)驗(yàn)報(bào)告(完整版)

        數(shù)字圖像處理 實(shí)驗(yàn)一 MATLAB數(shù)字圖像處理初步 一、顯示圖像 1.利用imread函數(shù)讀取一幅圖像,假設(shè)其名為lily.tif,存入一個(gè)數(shù)組中; 2.利用whos 命令提取該讀入圖像flower.tif的......

        遙感數(shù)字圖像處理實(shí)驗(yàn)報(bào)告范文合集

        遙感數(shù)字圖像處理 學(xué)院 理學(xué)院 班級(jí) 地信131 學(xué)號(hào) 姓名 編寫日期:1 2015.5 ??作業(yè)a 1.LS8_C_20140613_022505_000000_118039_GEOTIFF_L4 2. L5118_39_19860531 ProductDe......

        昆明理工大學(xué)(數(shù)字圖像處理)實(shí)驗(yàn)報(bào)告

        昆明理工大學(xué)(數(shù)字圖像處理)實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱圖像的基本變換 實(shí)驗(yàn)時(shí)間 2014 年 3 月 20 日 專業(yè)班級(jí) 學(xué) 號(hào) 姓 名 成 績(jī) 教師評(píng)語(yǔ): 一、實(shí)驗(yàn)?zāi)康呐c要求 1.熟悉及掌握在MATLA......

        數(shù)字圖像處理——彩色圖像實(shí)驗(yàn)報(bào)告

        6.3實(shí)驗(yàn)步驟 (1)對(duì)彩色圖像的表達(dá)和顯示 * * * * * * * * * * * *顯示彩色立方體* * * * * * * * * * * * * rgbcube(0,0,10); %從正面觀察彩色立......

        數(shù)字圖像處理圖像變換實(shí)驗(yàn)報(bào)告

        數(shù)字圖象處理實(shí)驗(yàn)指導(dǎo)書 實(shí)驗(yàn)一 圖象變換實(shí)驗(yàn) 實(shí) 驗(yàn)實(shí)驗(yàn)名稱:圖像處理姓名:劉強(qiáng) 班級(jí):電信學(xué)號(hào): 報(bào) 告 1102 1404110128 數(shù)字圖象處理實(shí)驗(yàn)指導(dǎo)書 實(shí)驗(yàn)一 圖象變換實(shí)驗(yàn) 實(shí)驗(yàn)一......

        簡(jiǎn)易photoshop代碼數(shù)字圖像處理實(shí)驗(yàn)報(bào)告

        一.一個(gè)簡(jiǎn)單的“photoshop”軟件 二.設(shè)計(jì)目的: 數(shù)字圖像處理,就是用數(shù)字計(jì)算機(jī)及其他有關(guān)數(shù)字技術(shù),對(duì)圖像進(jìn)行處理,以達(dá)到預(yù)期的目的。隨著計(jì)算機(jī)的發(fā)展,圖像處理技術(shù)在許多領(lǐng)域得......