MATLAB近期推出了R2021a版本,該版本中Image Processing Toolbox更新了《影像處理之旅》,有助于初次使用MATLAB的朋友迅速熟悉MATLAB影像處理相關的操作,Image Processing Toolbox該版本更新的內容如下:
- 處理因過大而無法放入記憶體的二維、三維和 N 維影像
- 代碼生成:針對多個函式提升了生成代碼的執行速度
- 影像處理入門之旅:學習 MATLAB 中的實用影像處理技術的基礎知識
1 MATLAB的安裝
MATLAB R2021a的下載和安裝可以參考老友的一篇專欄:MATLAB R2021a詳細安裝教程(附資源)
2 MATLAB影像處理基礎操作
2.1 影像的獲取及顯示
I = imread("IMG_001.jpg"); //讀取名為IMG_001.jpg的圖片
imshow(I); //顯示資料I對應的圖片IMG_001.jpg
I2 = imread("IMG_002.jpg"); //讀取名為IMG_002.jpg的圖片
imshow(I2); //顯示資料I2對應的圖片IMG_002.jpg
imshowpair(I,I2,"montage"); //將資料I、I2對應的圖片并排顯示
2.2 灰度圖與彩色圖
I = imread("IMG_003.jpg"); //讀取名為IMG_003.jpg的圖片
imshow(I); //顯示資料I對應的圖片IMG_003.jpg
sz = size(I); //獲取資料I的size資訊
R = I(:,:,1); //將I的第三維的第一個通道(對應紅色)賦值給R
imshow(R); //顯示資料R
Rmax = max(R,[],"all"); //求資料R中的最大值
Rmin = min(R,[],"all"); //求資料R中的最小值
[R,G,B] = imsplit(I); //拆分資料I的三個通道RGB
montage({R,G,B}); //并列顯示RGB三通道資料
gs = im2gray(I); //將資料I轉化為單通道的灰度資料
imshow(gs);
sz = size(gs); //單通道灰度資料gs的size為資料I的1/3
imwrite(gs,"gs.jpg"); //將資料gs保存到gs.jpg檔案中
2.3 調整影像對比度
// 載入圖片
I = imread("IMG_001.jpg");
I2 = imread("IMG_002.jpg");
gs = im2gray(I);
gs2 = im2gray(I2);
imshowpair(gs,gs2,"montage");
//顯示gs和gs2的直方圖,可以看出兩者的差異
imhist(gs); //顯示gs的直方圖
imhist(gs2); //顯示gs2的直方圖
//對gs2進行直方圖均衡操作,并對比顯示
gs2Adj = imadjust(gs2);
imshowpair(gs2,gs2Adj,"montage");
imhist(gs2Adj);
//imadjust能夠很好的調節灰度圖的對比度,需要調節彩色圖的對比度時,需要使用imlocalbrighten
I2adj = imlocalbrighten(I2);
imshow(I2adj);
2.4 使用imtool進行互動處理
imtool是MATLAB提供一個對圖片進行互動處理的工具,我們可以通過imtool查看影像中像素的資料,影像的相關資訊等等,
// 載入圖片
sunset = imread("sunset.jpg");
//使用命令調出imtool
imtool(sunset)

也可以通過APP欄中的應用直接打開image viewer.

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291139.html
標籤:其他
