• DSP技術實習報告

    時間:2022-06-22 01:47:40 實習報告 我要投稿
    • 相關推薦

    DSP技術實習報告

    一 、實習題目

    DSP技術實習報告

    1、 灰度線性變換

    2、 灰度的對數變換

    3、 鋸齒波變換

    4、 圖像剪取

    二 、實習目的:

    1、 鞏固和深化數字圖像處理技術所涉及的數理基礎、基本算法和各種圖像處理技術方法,學習和掌握圖像變換。

    2、 對學習圖像處理的基礎知識對其應用工程實踐有一定的認識,提高學生對應用軟件的使用能力。

    3、 通過理論聯系實際,綜合運用所學知識,提高學生獨立分析和解決實際問題的能力,增強學生的工程意識,打好專業基礎

    三、實習要求:

    1、能夠根據設計題目要求查閱檢索有關的文獻資料,結合題目選學有關參考書;

    2、熟悉計算機圖像處理的設計方法;

    3、熟悉圖像灰度變換程序的設計方法;

    4、掌握圖像灰度變換的仿真方法;

    5、完成圖像的灰度變換。

    四、系統原理描述:

    灰度變換將輸入圖像映射為輸出圖像,輸出圖像每個像素點的灰度值僅由對應的輸入像素點的值決定。它常用于改變圖像的灰度范圍及分布,是圖像數字化及圖像顯示的重要工具;叶茸儞Q因其作用性質有時也被稱為對比度增強、對比度拉伸或點運算,稱之為灰度變換。

    灰度變換實際上是灰度到灰度的映射過程。設輸入圖像為A(x,y)輸出圖像為B(x,y),則灰度變換可表示為:

    即灰度變換完全由灰度映射函數決定。顯然灰度變換不會改變圖像內像素點之間的空間關系。

    1. 灰度線性變換

    設圖像灰度值f(x,y)的可能值域為D,但在一定條件下,使得其取值范圍縮小為且如圖 7-11所示,這種狀態常出現于連續圖f(x,y)值的動態范圍小,或攝影曝光不足中,因而其對應的直方圖P (D)如圖所示,集中于某個較小的灰度區間內。但是通常人們希望灰度直方圖在全部灰度區域內均勻分布,最簡單地是把低反差圖像進行灰度變換得到高反差圖像,即線性變換,如下式:

    該式可以使變換后的灰度的取值范圍擴大到

    一般來說,只有當兩個相鄰像素的灰度值(亮度值)相差到一定程度時,人的視覺才能分辨。若灰度值D僅在較小區間內時,則人眼可分辨的亮度差的總級數則亦很少,從而造成目標圖像灰度值與背景灰度值相接近,人眼而無法分辨檢出。而對其進行的變換后,則如上圖可使變得更大,從而使得視覺上對變換后圖像能夠分辨的亮度差的總級數增加,造成目標圖像與背景間亮度差異的加大,使原先無法被人眼檢出的目標圖像也能檢出,且變換后圖像清晰度也大大提高。

    2. 灰度的對數變換

    對數變換常用來擴展低值灰度,而壓縮高值灰度,這樣可以使低值灰度的圖像細節更容易看清楚,對數變換的表達式為:

    其中K為一根據圖像內容來確定的常數因子。

    3. 鋸齒波變換

    這種方法常用來在動態范圍較小的顯示器上顯示動態范圍較大的圖像,或者用來發現圖像中基本輪廓,變換曲線如圖所示。

    4. 圖像剪取

    對于灰度圖像f,設定一個閾值t,若f(i,j) t,則f(i,j)的值保持不變。處理后的圖像仍然是灰度圖像,只不過閾值t以下的像素被置0。

    五、方案論證及系統設計

    六、系統程序的設計

    1、灰度線性變換

    #include

    #include

    #include "imagelib.h"

    //添加圖像和視頻處理庫頭文件

    #include "imagesample.h"

    //添加圖像例子頭文件,

    //包含原始的圖像文件goldhill[128][128]

    #define MAX_PIXEL_VALUE 256

    //包含原始圖像像素的最大灰度值

    #define WIDTH 128

    #define HEIGHT 128

    //原始圖像行和列的像素數

    int my_result[256];

    //保存自編函數得到的灰度圖結果的數組

    short histogram_output[256];

    //保存調用庫函數得到的灰度圖結果的數組

    short my_threshold_val=175;

    //short my_threshold_val=127;

    //閾值的設定

    void my_histogram();

    //聲明自編灰度圖算法顯示函數

    void main( )

    {

    int i;

    int my_size;

    short *input;

    my_size = WIDTH*HEIGHT;

    //計算所有像素點數

    input = &goldhill[0][0];

    //獲取原始圖像的首地址

    for(i= 0;i< MAX_PIXEL_VALUE;i++) histogram_output[i]= 0;

    IMG_histogram(input,histogram_output,my_size);

    //調用image.lib庫函數實現灰度圖顯示

    my_histogram();

    //自編C語言算法程序實現灰度圖顯示

    IMG_threshold( &goldhill[0][0],&goldhill[0][0],WIDTH ,HEIGHT, my_threshold_val );

    //調用image.lib庫函數實現閾值處理與顯示

    while(1);

    }

    void my_histogram()

    {

    int za=10,zb=235,i,j,z1=0,z2=255,zzba;

    short (*p)[128];

    //定義了一個指針變量p,

    //指向了一個包含128個元素的一維數組,

    //即行指針變量p

    p=goldhill;

    zzba=(z2-z1)/(float)(zb-za);

    //獲取原始圖像的首地址

    // for(i=0;i<256;i++) my_result[i]=0;

    for (i=0;i<128;i++)

    { for (j=0;j<128;j++)

    {

    if(*(*(p+i)+j)<=za)*(*(p+i)+j)=z1;

    else{

    if(*(*(p+i)+j)>=zb)*(*(p+i)+j)=z2;

    else *(*(p+i)+j)=zzba*(*(*(p+i)+j)-za)+z1+0.5;

    }

    // k=*(*(p+i)+j);

    // my_result[k]++;

    }

    }

    //自編灰度直方圖算法顯示函數

    }

    2、灰度的對數變換

    #include

    #include

    #include "imagelib.h"

    //添加圖像和視頻處理庫頭文件

    #include "imagesample.h"

    //添加圖像例子頭文件,

    //包含原始的圖像文件goldhill[128][128]

    #define MAX_PIXEL_VALUE 256

    //包含原始圖像像素的最大灰度值

    #define WIDTH 128

    #define HEIGHT 128

    #define ZERO 0

    //原始圖像行和列的像素數

    int my_result[256];

    //保存自編函數得到的灰度直方圖結果的數組

    short histogram_output[256];

    //保存調用庫函數得到的灰度直方圖結果的數組

    short my_threshold_val=175;

    //short my_threshold_val=127;

    //閾值的設定

    void my_histogram();

    //聲明自編灰度直方圖算法顯示函數

    void main( )

    {

    int i;

    int my_size;

    short *input;

    my_size = WIDTH*HEIGHT;

    //計算所有像素點數

    input = &goldhill[0][0];

    //獲取原始圖像的首地址

    for(i= 0;i< MAX_PIXEL_VALUE;i++) histogram_output[i]= 0;

    IMG_histogram(input,histogram_output,my_size);

    //調用image.lib庫函數實現灰度直方圖顯示

    my_histogram();

    //自編C語言算法程序實現灰度直方圖顯示

    IMG_threshold( &goldhill[0][0],&goldhill[0][0],WIDTH ,HEIGHT, my_threshold_val );

    //調用image.lib庫函數實現閾值處理與顯示

    while(1);

    }

    void my_histogram()

    {

    int i,j;

    double za=2,zb=128,z1=0,z2=255,fij,gij,zzlba;

    short (*p)[128];

    //定義了一個指針變量p,

    //指向了一個包含128個元素的一維數組,

    //即行指針變量p

    p=goldhill;

    zzlba=(z2-z1)/(double)(log(zb)-log(za));

    //獲取原始圖像的首地址

    // for(i=0;i<256;i++) my_result[i]=0;

    //初始化灰度直方圖結果數組

    for (i=0;i<128;i++)

    { for (j=0;j<128;j++)

    /* log transform.*/

    {

    fij=*(*(p+i)+j);

    if(fij==0)fij=0.001;

    gij=zzlba*(log(fij)-log(za))+z1;

    *(*(p+i)+j)=gij+0.5;

    }

    }

    // k=*(*(p+i)+j);

    // my_result[k]++;

    }

    3、鋸齒波變換

    #include

    #include

    #include "imagelib.h"

    //添加圖像和視頻處理庫頭文件

    #include "imagesample.h"

    //添加圖像例子頭文件,

    //包含原始的圖像文件goldhill[128][128]

    #define MAX_PIXEL_VALUE 256

    //包含原始圖像像素的最大灰度值

    #define WIDTH 128

    #define HEIGHT 128

    //原始圖像行和列的像素數

    int my_result[256];

    //保存自編函數得到的灰度直方圖結果的數組

    short histogram_output[256];

    //保存調用庫函數得到的灰度直方圖結果的數組

    short my_threshold_val=175;

    //short my_threshold_val=127;

    //閾值的設定

    void my_histogram();

    //聲明自編灰度直方圖算法顯示函數

    void main( )

    {

    int i;

    int my_size;

    short *input;

    my_size = WIDTH*HEIGHT;

    //計算所有像素點數

    input = &goldhill[0][0];

    //獲取原始圖像的首地址

    for(i= 0;i< MAX_PIXEL_VALUE;i++) histogram_output[i]= 0;

    IMG_histogram(input,histogram_output,my_size);

    //調用image.lib庫函數實現灰度直方圖顯示

    my_histogram();

    //自編C語言算法程序實現灰度直方圖顯示

    IMG_threshold(&goldhill[0][0],&goldhill[0][0],WIDTH,HEIGHT, my_threshold_val );

    //調用image.lib庫函數實現閾值處理與顯示

    while(1);

    }

    void my_histogram()

    {

    int i,j;

    float lwidth=128,ratio=128,gg=235;

    short (*p)[128];

    //定義了一個指針變量p,

    //指向了一個包含128個元素的一維數組,

    //即行指針變量p

    p=goldhill;

    //獲

    [DSP技術實習報告]相關文章:

    1.DSP技術實習報告

    2.學生認知實習報告

    【DSP技術實習報告】相關文章:

    技術實習報告07-26

    基于DSP整流器設計論文07-03

    技術測量實習報告07-02

    建筑技術實習報告01-04

    通信技術實習報告03-09

    測控技術實習報告02-14

    通信技術實習報告06-28

    想在北京的日企做dsp或java的實習生,大家來點意見07-03

    軟件技術實習報告07-03

    生物技術實習報告04-30

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看