国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應用 > 軟件技巧 > 正文

Matlab圖像如何處理?Matlab圖像處理的基本操作

2024-07-16 15:50:42
字體:
來源:轉載
供稿:網友

  雖然說Matlab是一款數學處理軟件,但是這款軟件特別強大,強大之處在于他還能夠處理圖像,這個功能是很多新手學習Matlab的時候感到驚訝的地方,所不了解,所要學習的,下面小編就給大家介紹Matlab處理圖像的方法。一起去看看吧!

  

軟件名稱:
數學軟件Matlab R2016a 64位 完全破解版(附破解文件+密鑰+安裝教程)
軟件大小:
7.4GB
更新時間:
2016-02-04

 

  一、圖像基本操作

  1、讀取圖像并顯示:

  》》 clear;close all %清空Matlab工作平臺所有變量(準備工作)

  》》 I=imread(‘pout.tif’); % 該圖像是Matlab圖形工具箱中自帶的圖像(/toolbox/images/imdemos)

  》》 imshow(I)

Matlab,圖像處理

  2、檢查內存(數組)中的圖像:

  》》 whos

  Name Size Bytes Class

  I 291x240 69840 uint8 array

  Grand total is 69840 elements using 69840 bytes

  表示該圖像采用8位存儲方式并占用了69840B的存儲空間。

  3、實現圖像直方圖均衡化:

  》》 figure,imhist(I) % 在新圖中顯示圖像I的直方圖

Matlab,圖像處理

  》》 I2=histeq(I); % 均衡化以后的圖像存在I2數組中(圖像灰度值擴展到整個灰度范圍,對比度提高)

  》》 figure,imshow(I2) % 顯示均衡化后的圖像

  》》 figure,imhist(I2) % 顯示均衡后的灰度值分布情況

  8位圖像取值范圍:[0,255],16位圖像取值范圍:[0,655351],雙精度圖像取值范圍:[0,1]

Matlab,圖像處理

Matlab,圖像處理

  4、保存圖像:

  》》 imwrite(I2,‘pout2.png’); % 將圖像由原先的tif格式另存為png格式

Matlab,圖像處理

  5、檢查新生成文件的信息:

  》》 imfinfo(‘pout2.png’) % 觀察保存圖像的文件信息

  ans =

  Filename: ‘pout2.png’ % 文件名

  FileModDate: ‘11-Apr-2009 21:55:35’ % 文件修改日期

  FileSize: 36938 % 文件大小

  Format: ‘png’ % 文件格式

  FormatVersion: [] % 格式

  Width: 240 % 文件寬度

  Height: 291 % 文件高度

  BitDepth: 8 % 文件位深度

  ColorType: ‘grayscale’ % 顏色類型

  ……

  二、圖像處理Matlab的應用:

  實例:消除rice.png圖像中亮度不一致的背景,并使用閾值將修改后的圖像轉換為二值圖像,使用成員標記返回圖像中對象的個數以及統計特性。按照如下步驟進行:

  1、讀取和顯示圖像

  》》 clear;close all

  》》 I=imread(‘rice.png’);

  》》 imshow(I)

Matlab,圖像處理

  2、估計圖像背景:

  圖像中心位置背景亮度強于其他部分亮度,用imopen函數和一個半徑為15的圓盤結構元素對輸入的圖像I進行形態學開操作,去掉那些不完全包括在圓盤中的對象,從而實現對背景亮度的估計。

  》》 clear;close all

  》》 I=imread(‘rice.png’);

  》》 imshow(I)

  》》 background=imopen(I,strel(‘disk’,15));

  》》 imshow(background)

  》》 figure,surf(double(background(1:8:end,1:8:end))),zlim([0,255]);

  》》 set(gca,‘ydir’,‘reverse’);

Matlab,圖像處理

Matlab,圖像處理

  顯示了背景圖(左)和背景表面圖(右)

  3、從原始圖像中減去背景圖像(原始圖像I減去背景圖像得到背景較為一致的圖像):

  》》 I2=imsubtract(I,background);

  》》 figure,imshow(I2)

Matlab,圖像處理

  4、調節圖像的對比度 (圖像較暗,可用imadjust函數命令來調節圖像的對比度)

  》》 I3=imadjust(I2,stretchlim(I2),[0 1]);

  》》 figure,imshow(I3);

Matlab,圖像處理

  5、使用閾值操作將圖像轉換為二進制(二值)圖像(bw),調用whos命令查看圖像的存儲信息。

  》》 level=graythresh(I3); % 圖像灰度處理

  》》 bw=im2bw(I3,level); % 圖像二值化處理

  》》 figure,imshow(bw) % 顯示處理后的圖片

  》》 whos

  Name Size Bytes Class

  I 256x256 65536 uint8 array

  I2 256x256 65536 uint8 array

  I3 256x256 65536 uint8 array

  background 256x256 65536 uint8 array

  bw 256x256 65536 logical array

  level 1x1 8 double array

  Grand total is 327681 elements using 327688 bytes

Matlab,圖像處理

  6、檢查圖像中對象個數(bwlabel函數表示了二值圖像中的所有相關成分并返回在圖像中找到的對象個數)

  》》 [labeled,numObjects]=bwlabel(bw,4);

  》》 numObjects

  numObjects =

  101

  表示圖像中的米粒對象個數是101.

  7、檢查標記矩陣:(imcrop命令進行交互式操作,圖像內拉出較小矩形并顯示已標記的對象和部分背景內的像素)

  》》 grain=imcrop(labeled)

  grain =

  0 0 42 42 42 42 42 42 42 0

  0 0 42 42 42 42 42 42 42 42

  0 0 42 42 42 42 42 42 42 42

  0 0 42 42 42 42 42 42 42 42

  0 0 42 42 42 42 42 42 42 42

  0 0 42 42 42 42 42 42 42 42

  0 42 42 42 42 42 42 42 42 42

  0 42 42 42 42 42 42 42 42 42

  8、觀察標記矩陣(用label2rgb將其顯示為一副偽彩色的索引圖像):

  》》 RGB_label=label2rgb(labeled,@spring,‘c’,‘shuffle’);

  》》 imshow(RGB_label);

Matlab,圖像處理

  9、測量圖像對象或區域的屬性(Regionprops,返回一個結構數據)

  》》 graindata=regionprops(labeled,‘basic’)

  graindata =

  101x1 struct array with fields:

  Area

  Centroid

  BoundingBox

  》》 graindata(40).Area % 顯示矩陣中第40個元素的屬性

  ans =

  197

  》》 graindata(40).BoundingBox,graindata(40).Centroid % 尋找最近的邊緣和中心點

  ans =

  82.5000 59.5000 24.0000 20.0000

  ans =

  95.4213 70.4924

  》》 allgrains=[graindata.Area]; % 創建一個新的向量allgrains,其包含每個米粒的范圍

  》》 whos allgrains

  Name Size Bytes Class

  allgrains 1x101 808 double array

  Grand total is 101 elements using 808 bytes

  》》 allgrains(51) % 相當于整個矩陣的索引為51的屬性是多少,可見與原來得到的結果相同

  ans =

  140

  》》 max(allgrains) % 獲取最大的米粒大小

  ans =

  404

  》》 biggrain=find(allgrains==404) % 使用find命令返回這個最大尺寸米粒的標記號

  biggrain =

  59

  》》 mean(allgrains) % 獲取米粒的平均大小

  ans =

  175.0396

  10、繪制包含30個柱的直方圖來說明米粒大小的分布情況

  》》 hist(allgrains,30)

Matlab,圖像處理

  米粒大小分布柱狀圖

  以上就是小編為大家帶來的關于Matlab圖像處理的基本操作,多次使用后你會發現這些方法在使用Matlab的過程中很實用,并且使用起來非常簡單。希望對大家會有幫助!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香港| 大庆市| 苍南县| 抚顺县| 永泰县| 桦甸市| 松潘县| 利辛县| 天等县| 九寨沟县| 塘沽区| 通州市| 胶南市| 喀喇沁旗| 文山县| 沾益县| 乐山市| 扬中市| 桂阳县| 韩城市| 南宫市| 肇东市| 鄢陵县| 宽甸| 镇江市| 上饶县| 沂水县| 临颍县| 定南县| 永兴县| 万年县| 宁海县| 东乌| 宁陕县| 鹰潭市| 聂拉木县| 通榆县| 康保县| 商城县| 蒲江县| 手游|