質問編集履歴

2

画像の追加

2016/04/23 06:43

投稿

_pumpkin
_pumpkin

スコア30

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,10 @@
7
7
  ###発生している問題・エラーメッセージ
8
8
 
9
9
  変換後の画像が変換したい四角形におさまらず、歪んだ画像になってしまいます。
10
+
11
+ 元画像...256 * 256
12
+
13
+ ![青い四角が変換したい位置で、Aとかかれた図形が変換後の図形です。](ba15914ae75bdf128f30e20a237387c7.png)
10
14
 
11
15
  ###該当のソースコード
12
16
 

1

指摘された通りに内容を変更しました

2016/04/23 06:43

投稿

_pumpkin
_pumpkin

スコア30

test CHANGED
File without changes
test CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
  ###該当のソースコード
12
12
 
13
+ //指摘された通りに内容を変更しました
13
14
 
14
-
15
- double* getSystem(POINTd* in,POINTd* out) {//8個のパラメータを求める
15
+ void getSystem(POINTd* in,POINTd* out,double *ht) {//8個のパラメータを求める
16
16
 
17
17
  Matrix<double, 8 , 8> dATA;
18
18
 
@@ -34,15 +34,13 @@
34
34
 
35
35
  dATA = dATA.inverse();
36
36
 
37
- double dATA2[8] = { 0.0 };
38
-
39
37
  for (int i = 0; i < 8; i++) {
40
38
 
41
- dATA2[i] = 0;
39
+ ht[i] = 0;
42
40
 
43
41
  for (int j = 0; j < 4; j++) {
44
42
 
45
- dATA2[i] +=
43
+ ht[i] +=
46
44
 
47
45
  dATA(i, j) * out[j].x;
48
46
 
@@ -50,15 +48,13 @@
50
48
 
51
49
  for (int j = 0; j < 4; j++) {
52
50
 
53
- dATA2[i] +=
51
+ ht[i] +=
54
52
 
55
53
  dATA(i, j + 4) * out[j].y;
56
54
 
57
55
  }
58
56
 
59
57
  }
60
-
61
- return dATA2;
62
58
 
63
59
  }
64
60
 
@@ -68,7 +64,9 @@
68
64
 
69
65
  /* 変数の定義など */
70
66
 
67
+ double ht[8] = { 0 };
68
+
71
- double *ht = getSystem(pointin, pointout);
69
+ getSystem(pointin, pointout,ht);
72
70
 
73
71
  for(int x = 0;x < image_src.Width;x++){
74
72