質問編集履歴
1
未完成部を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,28 @@
|
|
1
|
-
pythonからc++ライブラリCavalierContours
|
1
|
+
pythonからc++ライブラリCavalierContoursのparallelOffsetを
|
2
|
+
|
3
|
+
pybind11を使用して呼び出したいと思っています。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
- python 3.8.5
|
8
|
+
|
9
|
+
- cmake 3.18.3
|
10
|
+
|
11
|
+
- windows10 64bit
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
std::vector<cavc::Polyline<double>> results = cavc::parallelOffset(polyline, offset);
|
16
|
+
|
17
|
+
は与えられたpolylineをoffsetだけ平行移動して返す関数です。
|
18
|
+
|
19
|
+
返り値がstd::vectorなのは、ヒョウタンのような形状のparallelOffsetだと
|
20
|
+
|
21
|
+
上下でpolylineが分断される場合があるので、[上のpolyline,下のpolyline]という
|
22
|
+
|
23
|
+
形で返すためです。
|
24
|
+
|
25
|
+
c++は初めてなのでWeb情報を頼りに下記のようなコードを作成しました。
|
2
26
|
|
3
27
|
```c++
|
4
28
|
|
@@ -76,7 +100,7 @@
|
|
76
100
|
|
77
101
|
```
|
78
102
|
|
79
|
-
と
|
103
|
+
「python setup.py install 」は無事に通るのですが、いざpython上で使用すると、
|
80
104
|
|
81
105
|
```ここに言語を入力
|
82
106
|
|
@@ -142,4 +166,22 @@
|
|
142
166
|
|
143
167
|
```
|
144
168
|
|
169
|
+
と、std::vectorで返してもらうのをあきらめて単独のpolylineのみ
|
170
|
+
|
171
|
+
(ヒョウタン形状だと上下どちらかのpolylineのみ)
|
172
|
+
|
173
|
+
で妥協すると,きちんとparallelOffsetされたnumpy.arrayを受け取れます。
|
174
|
+
|
175
|
+
|
176
|
+
|
145
|
-
|
177
|
+
参考にしたサイトは
|
178
|
+
|
179
|
+
[plibfacedetection](https://eqseqs.hatenablog.com/entry/qiita-python-advent-calendar-2019)です。
|
180
|
+
|
181
|
+
妥協バージョンはうまく動いていることを考えると、返り値のstd::vectorの作成がうまくいってない
|
182
|
+
|
183
|
+
と思うのですが、よくわかりませんでした。
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
以上、よろしくお願いします。
|