日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字图像处理 实验一 图像的基本运算

發布時間:2024/7/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像处理 实验一 图像的基本运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗一 圖像的基本運算

一、實驗目的

1)掌握點運算和代數運算的算法實現和概念

2)掌握和幾何運算的算法實現和概念

2)掌握灰度變換和幾何變換的基本方法

3)理解圖像灰度直方圖的概念

二、實驗內容

1)任意選擇幾幅圖像,查看其直方圖,說明直方圖和圖像的對應關系。

2)任意選擇幾幅圖像,對其進行灰度線性變換,結合以下情況分析輸入圖像和輸出圖像兩者有何變化。

???當斜率a>1時;

???當斜率 a<1時;

???當斜率a1b<0時;

???當斜率a1b>0時;

???當斜率a1b=0時;

???當斜率a-1b=255時;

3)選擇幾幅圖像,對其進行灰度拉伸,選擇不同的拉伸參數,觀察圖像與原圖有何不同,總結灰度拉伸的原理。

4)選擇幾幅圖像對其進行幾何變換,理解不同變換對圖像產生的影響。

三、實驗代碼、結果、分析

1代碼:

I=imread('C:\Users\xxxy\Desktop\1.jpg');?imshow(I)

I=rgb2gray(I); %真彩色圖像轉換為灰度圖像,即灰度化處理

add=[]; ?tab1=zeros(1,256);

for?n=0:255

????X=I==n; ?????add=[add;sum(sum(X))];

end; ?

[a b]=size(I);???final=add/(a*b);

figure; imshow(I);

figure; ?bar(0:255,final,'g')

figure; imhist(I)

結果:

???? ? ? ? ? ? ?

1-1:原圖? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1-2:灰度圖

? ? ? ? ? ??

1-3 直方圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1-4 縱坐標擴大直方圖

分析:灰度直方圖描述了該灰度級的像素的個數,其橫坐標是灰度級,縱坐標是該灰度級出現的概率,eg:灰度值為100的概率可近似看做0.004

2代碼

I=imread('C:\Users\xxxy\Desktop\2.jpg');????imshow(I)

y=a*I+b/255;????%線性點運算

figure???subplot(2,2,1);????imshow(y);

?

2-1 ?原圖

a,b值分別如下,及結果圖:

[1]a=2;b=10;?????????????????????????????[2]a=0.3;b=1;

?? ? ? ? ? ??

2-2:a>1 ????????????????????????????????2-3a<1

[3]a=1;b=-10;?????????????[4]a=1;b=10;??????????????[5]a=1;b=0;

? ?? ??

2-4a1b<0 ??? ? ?2-5a1b>0 ? ? ? ? ?2-6a1b=0

[7]a=-1;b=255;

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2-7a-1b=255

分析:

[1]?如果a>1,輸出圖像的對比度變大,即圖像變得更亮

[2]?如果a<1,輸出圖像的對比度減小,即圖像變得更暗

[3]?如果a=1,b<0,輸出圖像下移,圖像顯示的更暗

[4]?如果a=1,b>0,輸出圖像上移,圖像顯示的更亮

[5]?如果a=1,b=0,輸出圖像不變,與原圖像一樣

[6]?如果a=1,b<0,輸出圖像下移,圖像顯示的更暗

[7]?如果a<0,b<0,輸出圖像亮區變暗,暗區變亮

3代碼:

I=imread('C:\Users\xxxy\Desktop\3.jpg');imshow(I)

Y=double(I); ?%將參數I轉為雙精度浮點類型

[M,N]=size(Y);

for i=1:M ?????????

????for j=1:N ?????????????

????????if Y(i,j)<=30 ????????????????

????????????Y(i,j)=I(i,j); ????????????

????????else if Y(i,j)<=150 ?????????????????

????????????????Y(i,j)=(200-30)/(160-30)*(I(i,j)-30)+30; ???????????

????????????else???Y(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200; ????????????

????????????end

????????end

????end

end

????figure(2);?????imshow(uint8(Y))

結果:

?? ? ? ? ? ? ? ? ? ?

???????3-1:原圖 ????????????????????????????????????圖3-2:灰度拉伸

分析:

將其小于30的灰度值不變,將30150的灰度值拉伸到30200,同時壓縮150255的灰度值到200255之間

4代碼:

I=imread('C:\Users\xxxy\Desktop\4.jpg');?imshow(I); ?figure;

se = translate(strel(1), [100 100]);??

a = imdilate(I,se);?????imshow(a)%平移 ?????figure;

b = imresize(I,1.5)?????imshow(b)%放大1.5 ??figure;

c= imresize(I,0.5)??????imshow(c)%縮小0.5 ???figure;

[height,width,dim]=size(I);

tform1=maketform('affine',[-1 0 0;0 1 0;width 0 1]);

d1=imtransform(I,tform1,'nearest');??imshow(d1);%水平鏡像?figure;

tform2=maketform('affine',[1 0 0;0 -1 0;0 height 1]);

d2=imtransform(I,tform2,'nearest');??imshow(d2);%垂直鏡像 figure;

e1 = imrotate(I,90);??imshow(e1)%旋轉90 ???figure;

e2 = imrotate(I,180);?imshow(e2)%旋轉180 ??figure;

e3 = imrotate(I,270);??imshow(e3)%旋轉270 ?figure;

e4 = imrotate(I,360);??imshow(e4)%旋轉360 ?figure;

??? ? ? ??

????????圖4-1:原圖 ?????????????????????????????????圖4-2:平移

? ? ? ? ? ?

????????圖4-3:放大1.5? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4-4:縮小0.5

????????????????

???????????圖4-5:水平鏡像????????????????????????????????4-5:垂直鏡像

????????????

? ? ? ????????4-7:旋轉90度 ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4-8:旋轉180

?? ? ? ? ? ? ? ? ? ?

????????????圖4-9:旋轉270度 ???????????????????????????4-10:旋轉360度 ?

總結

以上是生活随笔為你收集整理的数字图像处理 实验一 图像的基本运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。