




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、空域內(nèi)對(duì)圖像進(jìn)行平移運(yùn)算(幾何運(yùn)算)圖像平移變換式的矩陣形式為:P37close all;clear all;clc;%圖像的平移運(yùn)算Im = imread('meinv.jpg');if numel(size(Im) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 Im = rgb2gray(Im); endIm = im2double(Im); %歸一化處理subplot(1, 2, 1); imshow(Im); title('平移前的圖像');m, n = size(Im); %獲取圖像大小res = zeros(m, n) + 255; %構(gòu)造結(jié)果矩陣
2、。每個(gè)像素點(diǎn)默認(rèn)初始化為0(黑色)delX = 50; %平移量XdelY = 50; %平移量Ymask = 1 0 delX; 0 1 delY; 0 0 1; %平移的變換矩陣for i = 1 : m for j = 1 : n tmp = i; j; 1; tmp = mask * tmp; %矩陣乘法 得到的結(jié)果是一個(gè)3行1列的數(shù) x = tmp(1, 1); y = tmp(2, 1); %判斷變換后的位置是否越界 if (x <= m) && (y <= n) && (x >= 1) && (y >= 1)
3、 res(x, y) = Im(i, j); end endendsubplot(1, 2, 2); imshow(res); title('平移后的圖像');空域內(nèi)對(duì)圖像進(jìn)行鏡像運(yùn)算(幾何運(yùn)算)%灰度圖像clcclearimg = imread('meinv.jpg');%讀取圖像if ndims(img) = 3 %ndims(a)表示矩陣a的維數(shù)。如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); % 轉(zhuǎn)換endsubplot(1, 3, 1); imshow(img); title('原始圖像');img = im2
4、double(img);% 轉(zhuǎn)換為double類型,使所有點(diǎn)在0-1之間m, n = size(img);%獲取圖像大小res1 = zeros(m, n) + 255;%構(gòu)造結(jié)果矩陣,加255將圖像初始化為白色,不加就是黑色res2 = zeros(m, n) + 255;for i = 1 : m for j = 1 : n res1(i, n - j + 1) = img(i, j);%水平鏡像 res2(m - i + 1, j) = img(i, j);%垂直鏡像 endendsubplot(1, 3, 2); imshow(res1); title('水平鏡像');
5、subplot(1, 3, 3); imshow(res2); title('垂直鏡像');imwrite(res1, 'hor.bmp');imwrite(res2, 'ver.bmp');%彩色圖像clcclearimg = imread('meinv.jpg');%讀取圖像subplot(1, 3, 1); imshow(img); title('原始圖像');img = im2double(img);% 轉(zhuǎn)換為double類型,使所有點(diǎn)在0-1之間m, n, l = size(img);%獲取圖像大小res
6、1 = zeros(m, n, l) + 255;%構(gòu)造結(jié)果矩陣,加255將圖像初始化為白色,不加就是黑色res2 = zeros(m, n, l) + 255;for i = 1 : m for j = 1 : n for k = 1 : l res1(i, n - j + 1, k) = img(i, j, k);%水平鏡像 res2(m - i + 1, j, k) = img(i, j, k);%垂直鏡像 end endendsubplot(1, 3, 2); imshow(res1); title('水平鏡像');subplot(1, 3, 3); imshow(re
7、s2); title('垂直鏡像');imwrite(res1, 'hor.bmp');imwrite(res2, 'ver.bmp');空域內(nèi)使用指定的模板對(duì)灰度圖像進(jìn)行平滑處理1%均值濾波clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); endfigure;imshow(img);img = double(img);%n是模板大小(即n×n) n = 3
8、; a(1 : n, 1 : n) = 1; %a即n×n模板,元素全是1 height, width = size(img); %輸入圖像是height,width的,且hight>n,width>n x1 = double(img); x2 = x1;for i = 1 : height - n + 1 for j = 1 : width - n + 1 c = x1(i : i + (n - 1), j : j + (n - 1) .* a; %取出x1中從(i,j)開始的n行n列元素與模板相乘 s = sum(sum(c); %求c矩陣中各元素之和 x2(i +
9、(n - 1) / 2,j + (n - 1) / 2) = s / (n * n); %將與模板運(yùn)算后的各元素的均值賦給模板中心位置的元素 end end %未被賦值的元素取原值 pha = uint8(x2); figure; imshow(pha);2%中值濾波(最大值濾波、最小值濾波)clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); endfigure;imshow(img);img = double(im
10、g);%n是模板大小(即n×n) n = 3; a(1 : n, 1 : n) = 1; %a即n×n模板,元素全是1 height, width = size(img); %輸入圖像是height,width的,且hight>n,width>n x1 = double(img); x2 = x1;for i = 1 : height - n + 1 for j = 1 : width - n + 1 c = x1(i : i + (n - 1),j : j + (n - 1); %取出x1中從(i,j)開始的n行n列元素,即模板(n×n的) e =
11、c(1, :); %是c矩陣的第一行 for u = 2 : n e = e, c(u, :); %將c矩陣變?yōu)橐粋€(gè)行矩陣 end %mm=median(e);%mm是中值(mm=max(e)是最大值,mm = min(e)是最小值) mm = min(e); x2(i + (n - 1) / 2,j + (n - 1) / 2) = mm; %將模板各元素的中值賦給模板中心位置的元素 end end %未被賦值的元素取原值 pha = uint8(x2); figure; imshow(pha);彩色圖像平滑處理(均值濾波)close all;clearclcimg = imread(
12、9;meinv.jpg');if (numel(size(img) < 3) disp('請(qǐng)輸入彩色圖像');else subplot(2, 3, 1); imshow(img); title('原始圖像'); img = imnoise(img, 'gaussian');%g=imnoise(f,gaussian,m,var)是將均值為m,方差為var的高斯噪聲加到圖像f上。m的默認(rèn)值是0、var默認(rèn)值是0.01 subplot(2, 3, 2); imshow(img); title('添加噪聲后的圖像'); %
13、分解 img = double(img); R = img(:, :, 1); G = img(:, :, 2); B = img(:, :, 3); %對(duì)彩色圖像的R分量進(jìn)行平滑處理,而其它分量保持不變 m, n = size(R); for i = 2 : m - 1 for j = 2 : n - 1 R(i, j) = (R(i - 1, j - 1) + R(i - 1, j) + R(i - 1, j + 1) + R(i, j - 1) + R(i, j) + R(i, j + 1) + R(i + 1, j - 1) + R(i + 1, j) + R(i + 1,j + 1)
14、 / 9; end end img1 = cat(3, R, G, B); img1 = uint8(img1); subplot(2, 3, 3); imshow(img1); title('R分量平滑處理后'); %對(duì)彩色圖像的R分量和G分量進(jìn)行平滑處理,B分量保持不變 R = img(:, :, 1); G = img(:, :, 2); B = img(:, :, 3); m, n = size(R); for i = 2 : m - 1 for j = 2 : n - 1 R(i, j) = (R(i - 1, j - 1) + R(i - 1, j) + R(i -
15、 1, j + 1) + R(i, j - 1) + R(i, j) + R(i, j + 1) + R(i + 1, j - 1) + R(i + 1, j) + R(i + 1,j + 1) / 9; G(i, j) = (G(i - 1, j - 1) + G(i - 1, j) + G(i - 1, j + 1) + G(i, j - 1) + G(i, j) + G(i, j + 1) + G(i + 1, j - 1) + G(i + 1, j) + G(i + 1,j + 1) / 9; end end img2 = cat(3, R, G, B); img2 = uint8(i
16、mg2); subplot(2, 3, 4); imshow(img2); title('對(duì)R和G分量進(jìn)行平滑處理后'); %對(duì)彩色圖像的3個(gè)分量同時(shí)進(jìn)行平滑處理 R = img(:, :, 1); G = img(:, :, 2); B = img(:, :, 3); m, n = size(R); for i = 2 : m - 1 for j = 2 : n - 1 R(i, j) = (R(i - 1, j - 1) + R(i - 1, j) + R(i - 1, j + 1) + R(i, j - 1) + R(i, j) + R(i, j + 1) + R(i +
17、 1, j - 1) + R(i + 1, j) + R(i + 1,j + 1) / 9; G(i, j) = (G(i - 1, j - 1) + G(i - 1, j) + G(i - 1, j + 1) + G(i, j - 1) + G(i, j) + G(i, j + 1) + G(i + 1, j - 1) + G(i + 1, j) + G(i + 1, j + 1) / 9; B(i, j) = (B(i - 1, j - 1) + B(i - 1, j) + B(i - 1, j + 1) + B(i, j - 1) + B(i, j) + B(i, j + 1) + B(
18、i + 1, j - 1) + B(i + 1, j) + B(i + 1, j + 1) / 9; end end img3 = cat(3, R, G, B); img3 = uint8(img3); subplot(2, 3, 5); imshow(img3); title('對(duì)3個(gè)分量進(jìn)行平滑處理后');end空域內(nèi)對(duì)灰度圖像或彩色圖像進(jìn)行模板卷積運(yùn)算及增強(qiáng)處理 1模板:clcclose all;clear%FileName, FilePath = uigetfile('*.jpg;*.png;*.tif;*.img;*.gif;','請(qǐng)選擇圖像
19、數(shù)據(jù)');%str = FilePath FileName;img = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); endsubplot(1, 3, 1); imshow(img); title('原始圖像');m, n = size(img);img = im2double(img);dimg = img;%邊界for i = 2 : m - 1%非邊界 for j = 2 : n - 1 dimg(i, j) = (img(i
20、+ 1, j) + img(i - 1, j) + img(i, j + 1) + img(i, j - 1) / 4; endendsubplot(1, 3, 2); imshow(dimg); title('模板運(yùn)算后的圖像');subplot(1, 3, 3); imshow(img + dimg); title('增強(qiáng)的圖像');2模板:clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(
21、img); endfigure;imshow(img);m, n = size(img);img = im2double(img);a = input('請(qǐng)輸入a值(范圍在0, 1之間):');dimg = img; %邊界for i = 2 : m - 1 %非邊界 for j = 2 : n - 1 dimg(i, j) = img(i - 1, j) * (-a) + img(i, j - 1) * (-a) + img(i, j) * (1 + 4 * a) + img(i, j + 1) * (-a) + img(i + 1, j) * (-a); endendfig
22、ure; imshow(img + dimg);3模板:clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); endfigure;imshow(img);m, n = size(img);img = im2double(img);dimg = img; %邊界for i = 3 : m - 2 %處理非邊界像素 for j = 3 : n - 2 dimg(i, j) = img(i - 2, j - 2) + img
23、(i - 2, j - 1) * 4 + img(i - 2, j) * 7 + img(i - 2, j + 1) * 4 + img(i - 2, j + 2) + img(i - 1, j - 2) * 4 + img(i - 1, j - 1) * 16 + img(i - 1, j) * 26 + img(i - 1, j + 1) * 16 + img(i - 1, j + 2) * 4 + img(i, j - 2) * 7 + img(i, j - 1) * 26 + img(i, j) * 41 + img(i, j + 1) * 26 + img(i, j + 2) * 7
24、 + img(i + 1, j - 2) * 4 + img(i + 1, j - 1) * 16 + img(i + 1, j) * 26 + img(i + 1, j + 1) * 16 + img(i + 1, j + 2) * 4 + img(i + 2, j - 2) + img(i + 2, j - 1) * 4 + img(i + 2, j) * 7 + img(i + 2, j + 1) * 4 + img(i + 2, j + 2); endendfigure; imshow(img + dimg / 273);拉普拉斯模板、銳化算子(P65)4彩色圖像 拉普拉斯模板clos
25、e all;clearclc;img = imread('meinv.jpg');if (numel(size(img) < 3) disp('請(qǐng)輸入彩色圖像');else subplot(2, 2, 1); imshow(img); title('原始圖像'); img = im2double(img); R = img(:, :, 1); G = img(:, :, 2); B = img(:, :, 3); %對(duì)R分量使用基本的Laplacian模板(P65)進(jìn)行增強(qiáng)處理;R1 = R + R0 m, n = size(R); R1
26、= R; for i = 2 : m - 1 for j = 2 : n - 1 R1(i, j) = R(i, j) * (-4) + R(i - 1, j) + R(i + 1, j) + R(i, j - 1) + R(i, j + 1); end end R2 = R - R1; %模板中心為負(fù), 做減法運(yùn)算 img1 = cat(3, R2, G, B); subplot(2, 2, 2); imshow(img1); title('對(duì)R分量處理后'); %對(duì)R和G分量使用擴(kuò)展的Laplacian模板進(jìn)行增強(qiáng)處理; m, n = size(R); R1 = R; G1
27、 = G; for i = 2 : m - 1 for j = 2 : n - 1 R1(i, j) = R(i, j) * (-8) + R(i - 1, j) + R(i + 1, j) + R(i, j - 1) + R(i, j + 1) + R(i - 1, j - 1) + R(i + 1, j - 1) + R(i - 1, j + 1) + R(i + 1, j + 1); G1(i, j) = G(i, j) * (-8) + G(i - 1, j) + G(i + 1, j) + G(i, j - 1) + G(i, j + 1) + G(i - 1, j - 1) + G
28、(i + 1, j - 1) + G(i - 1, j + 1) + G(i + 1, j + 1); end end R2 = R - R1; %模板中心為負(fù), 做減法運(yùn)算 G2 = G - G1; img2 = cat(3, R2, G2, B); subplot(2, 2, 3); imshow(img2); title('對(duì)R和G分量處理后'); %使用擴(kuò)展的Laplacian模板對(duì)彩色圖像的三個(gè)分量進(jìn)行增強(qiáng)處理 m, n = size(R); R1 = R; G1 = G; B1 = B; for i = 2 : m - 1 for j = 2 : n - 1 R1(
29、i, j) = R(i, j) * (-8) + R(i - 1, j) + R(i + 1, j) + R(i, j - 1) + R(i, j + 1) + R(i - 1, j - 1) + R(i + 1, j - 1) + R(i - 1, j + 1) + R(i + 1, j + 1); G1(i, j) = G(i, j) * (-8) + G(i - 1, j) + G(i + 1, j) + G(i, j - 1) + G(i, j + 1) + G(i - 1, j - 1) + G(i + 1, j - 1) + G(i - 1, j + 1) + G(i + 1, j
30、 + 1); B1(i, j) = B(i, j) * (-8) + B(i - 1, j) + B(i + 1, j) + B(i, j - 1) + B(i, j + 1) + B(i - 1, j - 1) + B(i + 1, j - 1) + B(i - 1, j + 1) + B(i + 1, j + 1); end end R2 = R - R1; %模板中心為負(fù), 做減法運(yùn)算 G2 = G - G1; B2 = B - B1; img3 = cat(3, R2, G2, B2); subplot(2, 2, 4); imshow(img3); title('對(duì)3個(gè)分量處
31、理后');end頻域內(nèi)對(duì)圖像進(jìn)行低通處理(理想、Butterworth等)。6部(P83)1Butterworth濾波:clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 %如果是彩色圖像就轉(zhuǎn)換為灰度圖像 img = rgb2gray(img); endsubplot(221); imshow(img); xlabel('原圖像');img = double(img); %數(shù)據(jù)類型轉(zhuǎn)換img = fft2(img); %圖像Fourier變換img = fftshif
32、t(img); %Fourier變換平移,中心變換%中心變換代碼實(shí)現(xiàn),反中心變化也是一樣的% for i = 1 : m% for j = 1 : n% img(i, j) = (-1) (i + j) * img(i, j);% end% endF2 = log(abs(img); %對(duì)Fourier變換結(jié)果取絕對(duì)值,然后取對(duì)數(shù)subplot(222);imshow(F2, ,'InitialMagnification','fit'); %將計(jì)算后的矩陣用圖像表示xlabel('(b)原始圖像的Fourier變換圖像 ');N1, N2 = s
33、ize(img); %Fourier變換圖像尺寸n = 2; %參數(shù)賦初值。高通n = 0.3d0 = 205;n1 = round(N1 / 2); %數(shù)據(jù)取整n2 = round(N2 / 2); %數(shù)據(jù)取整for i = 1 : N1 %遍歷圖像像素 for j = 1 : N2 d = sqrt(i - n1) 2 + (j - n2) 2); if d = 0 h = 0; else h = 1 / (1 + (d / d0) (2 * n);%高通:h = 1 / (1 + (d0 / d) (2 * n); end img(i, j) = h * img(i, j); %圖像矩陣
34、計(jì)算處理 endendF3 = log(abs(img); %對(duì)Fourier變換結(jié)果取絕對(duì)值,然后取對(duì)數(shù)subplot(223); imshow(F3, 'InitialMagnification', 'fit');xlabel('(c)濾波后的Fourier變換圖像');img = ifftshift(img);img = ifft2(img);img = uint8(real(img);subplot(224);imshow(img); xlabel('(d)Butterworth低通濾波圖像');2理想濾波:clcclose all;clearimg = imread('meinv.jpg');if numel(size(img) > 2 img = rgb2gray(img);endsubplot(121); imshow(img);title('原圖像');img = double(img);img = fftshift(fft2(img);m, n = size(img);m0 = round(m / 2);n0 = round(n / 2);d = 20;%d = input('請(qǐng)輸入d:');for i = 1 : m for j =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 我的寵物狗狗故事寫物作文15篇
- 城市的秋天1500字(10篇)
- 中西文學(xué)經(jīng)典對(duì)比閱讀:大學(xué)文學(xué)課程教案
- 網(wǎng)絡(luò)安全服務(wù)保障協(xié)議及承諾書
- 九年級(jí)英語小說閱讀課:掌握文本中的語言知識(shí)點(diǎn)
- 八評(píng)八比活動(dòng)方案
- 公交公司宣教活動(dòng)方案
- 少年中國說:勵(lì)志美文欣賞與創(chuàng)作教學(xué)教案
- 我的植物伙伴寫物并抒情類作文(11篇)
- 公眾咨詢?nèi)栈顒?dòng)方案
- 兒童傳染病疫情報(bào)告分析
- 24春國家開放大學(xué)《機(jī)電一體化系統(tǒng)綜合實(shí)訓(xùn)》大作業(yè)參考答案
- 2022-2023學(xué)年河南省鄭州市高一下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 英文版中國故事繪本愚公移山
- 霍尼韋爾空氣凈化器說明書kj550
- 在線網(wǎng)課知慧《流行病學(xué)與循證醫(yī)學(xué)(山盟-山東第一醫(yī)科大學(xué))》單元測試考核答案
- 企業(yè)使用危險(xiǎn)化學(xué)品分裝作業(yè)安全管理指引
- CATIA知識(shí)工程參數(shù)化教程課件
- 酥餅行業(yè)分析
- 2024年1月浙江省高考地理真題 Word版含解析
- 《樹莓派應(yīng)用開發(fā)》課件 第03、4章-樹莓派操作基礎(chǔ)、樹莓派常用命令
評(píng)論
0/150
提交評(píng)論