質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

0回答

552閲覧

ファイルを読み込むと自動的に角度を出して、条件分岐も行いたい

退会済みユーザー

退会済みユーザー

総合スコア0

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

1クリップ

投稿2019/09/09 14:27

編集2019/09/10 03:52

以下jsonファイルになります.

{"version":1.3,"people":[{"person_id":[-1],"pose_keypoints_2d":[697.949,94.5086,0.94138,707.771,188.626,0.848754,650.953,186.622,0.811076,633.314,278.739,0.71239,633.262,353.129,0.488111,762.639,192.509,0.823329,776.307,286.508,0.759441,774.344,368.784,0.857891,682.34,376.676,0.637581,645.007,368.791,0.591105,558.818,468.779,0.699771,482.45,554.885,0.64443,725.383,382.537,0.603878,739.041,513.835,0.599071,760.679,621.513,0.671196,690.146,88.7003,0.88057,711.711,86.7748,0.952311,682.239,114.095,0.319907,733.239,114.094,0.925611,762.639,648.948,0.645668,778.303,645.02,0.677848,756.741,631.319,0.429501,494.209,586.314,0.559349,478.536,582.399,0.491725,472.6,558.846,0.350561],"face_keypoints_2d":[],"hand_left_keypoints_2d":[],"hand_right_keypoints_2d":[],"pose_keypoints_3d":[],"face_keypoints_3d":[],"hand_left_keypoints_3d":[],"hand_right_keypoints_3d":[]}]}
var json=`{"version":1.3,"people":[{"person_id":[-1],"pose_keypoints_2d":[ 697.949,94.5086,0.94138, 707.771,188.626,0.848754, 650.953,186.622,0.811076, 633.314,278.739,0.71239, 633.262,353.129,0.488111, 762.639,192.509,0.823329, 776.307,286.508,0.759441, 774.344,368.784,0.857891, 682.34,376.676,0.637581, 645.007,368.791,0.591105, 558.818,468.779,0.699771, 482.45,554.885,0.64443, 725.383,382.537,0.603878, 739.041,513.835,0.599071, 760.679,621.513,0.671196, 690.146,88.7003,0.88057, 711.711,86.7748,0.952311, 682.239,114.095,0.319907, 733.239,114.094,0.925611, 762.639,648.948,0.645668, 778.303,645.02,0.677848, 756.741,631.319,0.429501, 494.209,586.314,0.559349, 478.536,582.399,0.491725, 472.6,558.846,0.350561 ],"face_keypoints_2d":[],"hand_left_keypoints_2d":[],"hand_right_keypoints_2d":[],"pose_keypoints_3d":[],"face_keypoints_3d":[],"hand_left_keypoints_3d":[],"hand_right_keypoints_3d":[]}]}`; var data=JSON.parse(json).people[0].pose_keypoints_2d.map((x,y,z)=>y%3?null:[x,z[y+1],z[y+2]]).filter(x=>x!==null); console.log(data);
var a=JSON.parse(`{"version":1.3,"people":[{"person_id":[-1],"":[697.949,94.5086,0.94138,707.771,188.626,0.848754,650.953,186.622,0.811076,633.314,278.739,0.71239,633.262,353.129,0.488111,762.639,192.509,0.823329,776.307,286.508,0.759441,774.344,368.784,0.857891,682.34,376.676,0.637581,645.007,368.791,0.591105,558.818,468.779,0.699771,482.45,554.885,0.64443,725.383,382.537,0.603878,739.041,513.835,0.599071,760.679,621.513,0.671196,690.146,88.7003,0.88057,711.711,86.7748,0.952311,682.239,114.095,0.319907,733.239,114.094,0.925611,762.639,648.948,0.645668,778.303,645.02,0.677848,756.741,631.319,0.429501,494.209,586.314,0.559349,478.536,582.399,0.491725,472.6,558.846,0.350561],"face_keypoints_2d":[],"hand_left_keypoints_2d":[],"hand_right_keypoints_2d":[],"pose_keypoints_3d":[],"face_keypoints_3d":[],"hand_left_keypoints_3d":[],"hand_right_keypoints_3d":[]}]}`); var b=a.people[0][""]; console.log([b[20],b[21]]); console.log([b[24],b[25]]);
var width=1; var height=Math.sqrt(3);//ルート3 var radian=Math.atan(height/width); var angle=radian*180/Math.PI; console.log(radian); console.log(angle);

openposeで取得した、2dのjson形式のデータとなっています。2dのデータから取得した(x,y,p)座標のデータを用いるため、できればpは使用せず行いたいと思っています。
例)1セット(697.949,94.5086,0.94138),(x,y,p)となっています.
右足首と右尻と左足首と左尻
右尻と右足首と右肩と右手首
左尻と左足首と左肩と左手首
の内角度を求めたいです。
その後3つの条件分岐を行いたいです.
18個の関節位置×3となっています。
54個求められるとされています。

x,y座標のみで角度を求められるようなので,(x,y).参考文献を見たのですがコードを書くことができず,参考文献などありましたら,教えていただきたいです.
どなたか解説いただける方よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2019/09/09 14:36

言葉は正しく使いましょう。 質問文に「jsonファイル」は出てきてないし、仮にファイルがあっても「jsonファイルの角度」なんてものは存在しません。
退会済みユーザー

退会済みユーザー

2019/09/09 14:54 編集

失礼しました,おかしな点があれがアドバイスよろしくおねがいいたします.
gentaro

2019/09/09 14:46

おかしな点 「コード上にjsonファイル」は存在しない(2回目のアドバイス)※あるのはJSON形式のデータ 「jsonファイルの角度」という言葉(2回目のアドバイス) 「教えていただ機体です」という表現(質問文) 「おながいいたします」という表現(コメント) 投稿前にちゃんと推敲しましょう。
退会済みユーザー

退会済みユーザー

2019/09/09 14:57

失礼いたしました.アドバイスありがとうございます.
gentaro

2019/09/09 15:08

これ以上日本語の先生やる気はないけど、「jsonファイルのx,y座標」という表現では何も改善されてない。 書くとしたら「json形式のデータから取得したx,y座標のデータ」みたいになるはず。 ちゃんとした文章書けない人はこの業界やっていけないんで、まず国語の勉強からした方が良い。 また、提示されたデータはどれがx座標でどれがy座標を表しているのかわからない。 データの仕様の説明をちゃんと書かないと誰にも伝わらない。
退会済みユーザー

退会済みユーザー

2019/09/09 15:37 編集

指摘ありがとうございます.
meg_

2019/09/09 22:08

使用言語は何ですか?
退会済みユーザー

退会済みユーザー

2019/09/09 23:55 編集

すみませんごめんなさい,javascriptになります.よろしくお願いいたします。
Zuishin

2019/09/10 01:26

いくつも同じ質問をしていますが、最低限これを提示しなければ話になりません。 https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/output.md ずいぶん以前の質問の修正依頼で私が「ドキュメントを提示してください」と言ったと思います。 次にあなたはこれを翻訳して自分で読んでください。 あなた自身が仕様をわかっていないので言葉が通じません。 そして「角度」が何を示すのか具体例を挙げて明確に伝わるように書かなければいけません。 角度というのは交わる二辺の傾きの差異です。 そんなことは誰でもわかっています。 わからないのは、その二辺がどの二辺なのかということです。 あなたは大人なのでしょうから、「自分だけが知りえる情報」と「客観的な情報」の区別がつくはずです。 「縦が」とか「Jsonが」のように、何かわからないものを書いたら書きっぱなしではなく、投稿する前に一度見直し、他人が読んでわかるように修正してください。
退会済みユーザー

退会済みユーザー

2019/09/10 01:38

ご意見、アドバイスありがとうございます。
Zuishin

2019/09/10 01:40

もうその返事だけで解決不可能なことがわかります。 > x,y座標のみで角度を求められるようなので そんなわけがありません。 点に角度はありません。
Zuishin

2019/09/10 01:41

> 一つずつ条件分岐を行いたいです あなたには条件分岐の意味がわかっていません。 私たちの使っている条件分岐という言葉はそのような使い方はできません。
退会済みユーザー

退会済みユーザー

2019/09/10 01:46

アークタンジェントは行えないでしょうか? すみません、何度も失礼します。
退会済みユーザー

退会済みユーザー

2019/09/10 01:48

条件分岐で、全ての角度に対して行うことは可能でしょうか?
Zuishin

2019/09/10 01:51

それができるとあなたに言った人に直接詳細を聞いてください。 詳しく聞くと、あなたが聞いたことがその人の言ったこととは全く違うということがわかるでしょう。 あなたは専門用語を聞いただけで満足して、それがどういう意味を持つのかわかっていません。
退会済みユーザー

退会済みユーザー

2019/09/10 01:55

座標点から角度を求める事は出来ないのでしょうか? そうなんですか、ありがとうございます。 点から角度を求める事は出来ないんですね。
Zuishin

2019/09/10 01:56

あなたは東京都の角度を求めることができますか?
退会済みユーザー

退会済みユーザー

2019/09/10 01:59

座標点からは求められないんですね。 ありがとうございます。
Zuishin

2019/09/10 02:04

先ほど書いたように、角度には直線が二本必要です。 二本の直線には点が四つ必要です。 そのうち一つを交点とすれば二つが一つに重なるので三つで済みます。 つまり、すでに二点わかっていれば、あと一点で角度を求めることができます。 しかし、一点だけで角度を求めるのは不可能です。 ちなみに、あなたは人工知能ではなく人間ですか? 角度が何か知っていますか?
Zuishin

2019/09/10 02:06

お前を消す方法
退会済みユーザー

退会済みユーザー

2019/09/10 02:10

右尻と右足首と左尻と左足首から足を開いた内角度を求める事は可能でしょうか?
退会済みユーザー

退会済みユーザー

2019/09/10 02:12

お前を消す方法とはどういう意味でしょうか? 失礼な態度をとってしまったでしょうか?
Zuishin

2019/09/10 02:15 編集

それなら座標さえわかっていれば可能です。 ただし x, y 座標からわかるのは二次元への投射で、三次元での角度がわかるわけではありません。たとえば足を 30 度に開いていても、見る角度によって 10 度に見えたり 20 度に見えたりしますが、わかるのはこの見かけの角度です。 「お前を消す方法」は、相手が人工知能かどうか確かめるお約束です。
退会済みユーザー

退会済みユーザー

2019/09/10 02:16

安心しました。日本語が下手で申し訳ありません。
Zuishin

2019/09/10 02:32 編集

ついでに計算方法を書いておきます。 まず直線を二本求めます。 https://mathtrain.jp/nitentyokusen そこから角度を求めます。 https://mathtrain.jp/nasukaku 結果はディグリーではなくラジアンになるので、ディグリーが必要ならそこから更に変換してください。
退会済みユーザー

退会済みユーザー

2019/09/10 02:31

posファイルを用いれば3次元の取得がかのうのようなのですが、実際手元にありまして、x.z.yと並んでいるようで、zはoとなっています。 丁寧ありがとうございます。
退会済みユーザー

退会済みユーザー

2019/09/10 02:42

本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問