影像變形MLSD2DTransform---matlab自帶的函式,其中內嵌的子函式PrecomputeWeights預先計算了權重,對三維資料可以使用
clear all;
mesh_source = ‘C:\Users\lixiaohu\Desktop\101028\101028_l\TOOTH_0.obj’;
[v,F] = load_mesh(mesh_source);
v=v(1:16,:)
v=v’
size(v,1)
p = [-1.0843 -1.2803 -1.5304 -1.4777 ;
-3.1908 -3.1335 -3.0674 -3.0253;
-3.1908 -3.1335 -3.0674 -3.0253];
repmat(p(:,1),[1,size(v,2)])-v
w=PrecomputeWeights(p,v,2)
%
% repmat(p(:,1),[1,size(v,1)])-v’
Pstar = PrecomputeWCentroids(p,w);
M1 = v - Pstar;
a = zeros(1,size(Pstar,2));
b = a;
d = a;
Phat = cell(1,size(p,2));
for i=1:size(p,2)
Phat{i} = repmat(p(:,i),[1,size(Pstar,2)])-Pstar;
a = a + w(i,:).*Phat{i}(1,:).^2;
b = b + w(i,:).*Phat{i}(1,:).*Phat{i}(2,:)
d = d + w(i,:).*Phat{i}(2,:).^2
end
執行結果
Pstar = PrecomputeWCentroids(p,w)
Pstar =
-1.3445 -1.3447 -1.3442 -1.344 -1.3444 -1.3447 -1.3449 -1.3457 -1.3458 -1.3461 -1.3454 -1.3446 -1.3441 -1.3436 -1.3438 -1.3435
-3.1034 -3.1033 -3.1035 -3.1036 -3.1034 -3.1033 -3.1033 -3.103 -3.1029 -3.1029 -3.1031 -3.1033 -3.1035 -3.1037 -3.1036 -3.1037
-3.1034 -3.1033 -3.1035 -3.1036 -3.1034 -3.1033 -3.1033 -3.103 -3.1029 -3.1029 -3.1031 -3.1033 -3.1035 -3.1037 -3.1036 -3.1037
M1 = v - Pstar
M1 =
2.3105 2.2425 2.3533 2.4221 2.3424 2.2746 2.2249 2.038 2.0007 1.9343 2.0629 2.2246 2.3421 2.4737 2.4552 2.5385
3.9956 4.0692 3.9985 3.9137 3.9273 3.9565 4.0432 4.1844 4.2351 4.283 4.1876 4.0763 4.0164 3.955 3.9367 3.8959
3.8089 3.7174 3.6999 3.8551 3.9683 4.0005 3.8981 4.0514 3.9442 3.8814 3.6956 3.5969 3.5901 3.6063 3.7114 3.7918
repmat(p(:,i),[1,size(Pstar,1)])
ans =
-1.0843 -1.0843 -1.0843
-3.1908 -3.1908 -3.1908
-3.1908 -3.1908 -3.1908
Phat{i} = repmat(p(:,i),[1,size(Pstar,2)])-Pstar
Phat =是一個結構體,用來承載與P*這個重心的距離差,即去重心化後的座標。
1×4 cell 陣列
{3×16 double} {0×0 double} {0×0 double} {0×0 double}
a = a + w(i,:).*Phat{i}(1,:).^2
a =
5.2061e-05 5.3246e-05 5.3843e-05 5.1402e-05 4.9685e-05 4.9209e-05 5.0118e-05 4.6011e-05 4.7441e-05 4.8313e-05 5.3087e-05 5.6067e-05 5.6078e-05 5.5263e-05 5.3602e-05 5.1548e-05
b = b + w(i,:).*Phat{i}(1,:).*Phat{i}(2,:)
b =
-1.7489e-05 -1.7888e-05 -1.8088e-05 -1.7267e-05 -1.669e-05 -1.6531e-05 -1.6837e-05 -1.5457e-05 -1.5938e-05 -1.6232e-05 -1.7836e-05 -1.8837e-05 -1.884e-05 -1.8564e-05 -1.8006e-05 -1.7315e-05
相關文章
- 函式外與函式內的變數函式變數
- Python自帶的函式Python函式
- JVM鉤子函式的使用JVM函式
- 函式內部的變數提升函式變數
- Python函數語言程式設計自帶函式Python函數程式設計函式
- 課時20:內嵌函式和閉包函式
- 第五篇 匿名函式、內建函式、import的使用、包的使用函式Import
- webgl內建函式--角度和三角函式Web函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- 鑲嵌資料集工具小結(十)函式鏈函式
- 函式: 函式是怎麼使用的?函式
- 預設建構函式和帶預設值的建構函式不能同時存在函式
- 關於變數的宣告和定義、內部函式和外部函式變數函式
- 後來才知道的JavaScript自帶函式JavaScript函式
- 自帶的 print 函式居然會報錯?函式
- QImage:使用QImage建構函式載入影像和使用成員函式loadFromData載入影像的區別函式
- 排序(對於 sort 函式的使用)排序函式
- C++行內函數、函式過載與函式預設引數C++函數函式
- 計算機程式的思維邏輯 (93) – 函式式資料處理 (下)計算機函式
- 外層函式的變數直接被巢狀函式引用計算函式變數巢狀
- Django ModelForm中使用鉤子函式校驗資料DjangoORM函式
- webgl內建函式--通用函式Web函式
- JavaScript:鉤子函式與回撥函式的區別JavaScript函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- webgl內建函式--指數函式Web函式
- 子函式呼叫函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- webgl內建函式--向量函式與紋理查詢函式Web函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- MATLAB影像處理imadjust()函式調節影像的對比度示例Matlab函式
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- 三、函式函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- 函式的提升與重寫函式
- Shell 函式的使用函式
- Thunk函式的使用函式
- Generator 函式的使用函式