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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

实验一 MATLAB数字图像处理基本操作

發(fā)布時(shí)間:2024/8/1 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验一 MATLAB数字图像处理基本操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

1、讀入一幅RGB圖像(sunset.jpg),分別轉(zhuǎn)換為灰度圖像和二值圖像,并在同一個(gè)窗口內(nèi)分成三個(gè)子窗口來(lái)分別顯示這三幅圖像,注上文字標(biāo)題,即“原圖像”、“灰度圖像”、“二值圖像”。

?

a = imread("L:\圖像處理\實(shí)驗(yàn)文件\sunset.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、說(shuō)明以下程序的顯示結(jié)果為何是一幅幾乎全黑的圖像。

clear; close all;

myi=zeros(20,20);

myi(2:2:18,2:2:18)=1;

myi=uint8(myi);

figure, imshow(myi,'notruesize');

由程序myi=uint8 (myi) ;可知此程序編寫(xiě)的圖像在計(jì)算機(jī)中采用的是8位存儲(chǔ),即灰度

值為0^255,其中0為黑,255為白,中間值為由黑向白過(guò)度的值。而程序myi=zeros(20,20);

構(gòu)造了一個(gè)20行20列的0值矩陣,程序myi (2:2:18, 2:2:18)=1;將1賦值給矩陣的2, 4,

6,8,10,12,14,16,18行和2,4,6,8,10,12,14,16,18列,即這些位置的值為

1。因?yàn)?, 1都在人眼識(shí)別的黑色范圍內(nèi),固圖像是全黑的

?

3、閱讀分析下列程序,對(duì)每條語(yǔ)句給出注釋,運(yùn)行并解釋最終執(zhí)行結(jié)果;若將for循環(huán)改為方框中的程序,有何不同?

clear all;close all;

I=imread('d:\lena512.jpg');導(dǎo)入圖像

[height,width]=size(I); heightwidth賦值為該圖像的參數(shù)值

figure;?? 控制畫(huà)圖的窗口

subplot(2,3,1); subplot(2,3,1)是指一個(gè)2行3列的圖中從左到右從上到下的第一個(gè)位置。

imshow(I);? 展示i圖像

title('原圖像');? 標(biāo)題

L=1;?? 定義L

for m=1:5??? 循環(huán)m的值,生成五幅圖像

??? L=2*L; ?L等于L*2

??? quartimage=zeros(ceil(height/L),ceil(width/L));

zeros是生成全零的矩陣函數(shù)M*Nceil函數(shù)將數(shù)值

取整

??? k=1;n=1;

??? for i=1:L:height 進(jìn)行循環(huán)

???????? for j=1:L:width

???????????? quartimage(k,n)=I(i,j); 將矩陣內(nèi)的值進(jìn)行修改

???????????? n=n+1;? n值加一

???????? end

???????? k=k+1;n=1;

??? end

??? subplot(2,3,m+1); ?subplot(2,3,1)是指一個(gè)2行3列的圖中從左到右從上到下的第一個(gè)位置。

??? imshow(uint8(quartimage)); 展示uint8格式的quatimage圖像

end

for m=1:5

??? L=2*L;

??? quartimage=I(1:L:height,1:L:width);

??? subplot(2,3,m+1);

??? imshow(uint8(quartimage));

end

因?yàn)槭褂?/span>for m=1:5? ,所以會(huì)循環(huán)5次循環(huán)內(nèi)的條件,5次循環(huán)修改矩陣內(nèi)的值,并展示圖像,加上初試圖像,所以共有6幅圖像。

若改成框內(nèi)程序,直接修改原圖像的值,然后輸出圖像。

5、改變灰度圖像的灰度分辨率(256顏色-128顏色-64顏色-32顏色-16顏色-8顏色-4顏色-2顏色),給出實(shí)驗(yàn)結(jié)果;圖像大小不變的情況下,仿真改變圖像的空間分辨率(變?yōu)樵瓉?lái)的1/4(例如原圖像(1,1);(1,2);(2,1);(2,2)四個(gè)像素值設(shè)成相同的值);1/16),給出實(shí)驗(yàn)結(jié)果。

分辨率變換:

close all;clear all;clc;

%通過(guò)imadjust()函數(shù)調(diào)整灰度圖像的灰度范圍

I=imread("L:\圖像處理\實(shí)驗(yàn)文件\orangutan.tif");??

for i=1:7

??? J=I(1:2^i:end,1:2^i:end);

??? figure;

??? subplot(2,1,1);imshow(I);title('原圖')

??? subplot(2,1,2);imshow(J);title('8bits 變換');

end

?

?

?

不改變大小改變空間分辨率

clc;close all;

image = imread("L:\圖像處理\實(shí)驗(yàn)文件\orangutan.tif");?? %代表要處理的圖像

mysize = size(image);

%把圖像轉(zhuǎn)換成灰度圖

if numel(mysize) > 2

??? image = rgb2gray(image);

end

r_e = mysize(1);

c_e = mysize(2);

subplot(2,1,1); imshow(image,[]); title('Input Image');

temp1 = imresize(image,0.25); %表示把圖像縮小到原來(lái)的1/4,但同時(shí)圖像矩陣也變成了原來(lái)的1/4

[r_t2,c_t2] = size(temp1);

temp2 = zeros(r_e,c_e);

temp2(round(r_e/2)-floor(r_t2/2) : round(r_e/2)+ceil(r_t2/2)-1, round(c_e/2)-floor(c_t2/2) : round(c_e/2)+ceil(c_t2/2)-1) = temp1;%固定寫(xiě)法,具體了解matlab,調(diào)整大小

ss = temp2;

subplot(2,1,2); imshow(ss,[]); title('Minification');

總結(jié)

以上是生活随笔為你收集整理的实验一 MATLAB数字图像处理基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。