Matlab数字图像处理——图像的空间变换
生活随笔
收集整理的這篇文章主要介紹了
Matlab数字图像处理——图像的空间变换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Matlab空間變換函數 imtransform
Matlab空間變換函數 imtransform 可以實現圖像仿射變換(如 平移、旋轉、剪切、縮放)、投影變換, 該函數可與 maketform 配合使用。不過官網目前更推薦使用 imwarp
用法說明:
- B = imtransform(A,tform)
根據 tform 定義的二維空間變換來變換圖像 A,并返回變換后的圖像 B。如果 A 是彩色圖像,則 imtransform 會對每個顏色通道應用相同的二維變換。類似地,如果 A 是三維體或具有三個或更多維度的圖像序列,則 imtransform 將相同的二維變換應用于沿更高維度的所有二維平面。對于任意維度的數組變換,請使用 tformarray。 - B = imtransform(A,tform,interp)
指定要使用的插值形式。 - B = imtransform(___,Name,Value)
使用名稱-值對組來控制空間變換的各個方面。 - [B,xdata,ydata] = imtransform(___)
還返回輸出圖像 B 在輸出 X-Y 空間中的范圍。默認情況下,imtransform 會自動計算 xdata 和 ydata,使得 B 包含整個變換后的圖像 A。但是,您可以通過為 XData 和 YData 名稱-值對組輸入參數指定值來覆蓋此自動計算。
變換的原理:
(x’, y’) = T(x, y) x' = a0x + a1y + a2 y' = b0x + b1y + b2矩陣形式:
我們通過控制 a0, a1, a2, b0, b1, b0 來達到圖像變換的目的
以下表格為具體變換數值:
| 平移Δx, Δy | 1 | 0 | Δx | 0 | 1 | Δy |
| 縮放[Sx, Sy] | Sx | 0 | 0 | 0 | Sy | 0 |
| 逆時針旋轉角度 | cosθ | sinθ | 0 | -sinθ | cosθ | 0 |
| 水平切變shx | 1 | 0 | 0 | shx | 1 | 0 |
| 垂直切變shy | 1 | shy | 0 | 0 | 1 | 0 |
| 整體切變[shx, shy] | 1 | shy | 0 | shx | 1 | 0 |
以下代碼演示圖像旋轉、縮放、平移、整體切變:
I = imread('火影2.jpg');%實現圖像旋轉 Ia = maketform('affine', [cosd(30) -sind(30) 0; sind(30) cosd(30) 0; 0 0 1]); Ia = imtransform(I, Ia);%實現圖像縮放 Ib = maketform('affine', [5 0 0; 0 10.5 0; 0 0 1]); Ib = imtransform(I, Ib);%實現圖像平移 xform = [1 0 55; 0 1 115; 0 0 1]'; Ic = maketform('affine', xform); Ic = imtransform(I, Ic, 'XData', ...[1 (size(I, 2) + xform(3, 1))], 'YData', ...[1 (size(I, 1) + xform(3, 2))], 'FillValues', 255);%實現圖像整體切變 Id = maketform('affine', [1 4 0; 2 1 0; 0 0 1]); Id = imtransform(I, Id, 'FillValues', 255);figure; subplot(231);imshow(I); %顯示原圖像 subplot(232);imshow(Ia); %旋轉 subplot(233);imshow(Ib); %縮放 subplot(234);imshow(Ic); %平移 subplot(235);imshow(Id); %整體切變結果演示:
完整目錄
Matlab數字圖像處理——圖像處理工具箱Image Processing Toolbox
Matlab數字圖像處理——圖像類型的轉換
Matlab數字圖像處理——圖像文件的讀取
Matlab數字圖像處理——圖像文件的顯示
Matlab數字圖像處理——視頻文件的讀寫
Matlab數字圖像處理——圖像的像素運算(灰度變換)
Matlab數字圖像處理——圖像的空間變換
Matlab數字圖像處理——圖像的平移、鄰域操作、區域選取
Matlab數字圖像處理——圖像增強
Matlab數字圖像處理——圖像復原
總結
以上是生活随笔為你收集整理的Matlab数字图像处理——图像的空间变换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络学习笔记 概论
- 下一篇: uni-app使用支付宝小程序开发者工具