Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2017-01-03

なこみくじ

| 17:20

 あけましておめでとうございます☆

 新年のご挨拶代わりに、おみくじでも引いていって下さい。

 たいしたヤツじゃありませんが、ちょこっと縦書きにしてみたり、こないだまでやってたAnimateWindowなど使って遊んでいます。

 いちおう乱数ではなく、「」から風水的な吉凶数を算出しています。

 ※吉凶数は二十年ごとに変動があるため、有効期限は2024年2月3日まで。

#なこみくじ
#-----------------------------------------------------------------------
!母艦設計=「母艦の可視はオフで吉凶数算出。1秒待つそれで御神籤表示。

*吉凶数算出(Sで)
 A=0
 Sの文字数
  BはSの回数から1文字抜き出し、整数変換。
  AにBを直接足す。
 もし、A>9ならば、Aで吉凶数算出。
 違えば戻る。

*御神籤表示(Aで)
 Aで条件分岐。
  1ならば、吉凶は「大吉」。神託は「健康運、金運、仕事運、すべて吉。{~}特に愛情運は吉。」。文字色赤色。
  2ならば、吉凶は「凶」。神託は「特に健康には注意。{~}暴飲暴食、無駄遣いは厳に慎むべし。」。文字色青色。
  3ならば、吉凶は「末吉」。神託は「争いを避け和を重んずれば吉。{~}関係の綻びは災厄の元。」。文字色水色。
  4ならば、吉凶は「吉」。神託は「試験、恋愛などは吉。{~}日頃のみ重ねが実を結びます。」。文字色紫色。
  5ならば、吉凶は「凶」。神託は「事故や病気、詐欺に注意。{~}思わぬ災厄に見舞われそう。」。文字色青色。
  6ならば、吉凶は「大吉」。神託は「健康運、金運、愛情運、すべて吉。{~}特に仕事運は吉。」。文字色赤色。
  7ならば、吉凶は「末吉」。神託は「口を慎み和を重んずれば吉。{~}喧嘩は事故や破財を招きます。」。文字色水色。
  8ならば、吉凶は「大吉」。神託は「健康運、仕事運、愛情運、すべて吉。{~}特に金運は吉。」。文字色赤色。
  9ならば、吉凶は「吉」。神託は「結婚、出産などは吉。{~}火の用心(色々な意味で!)」。文字色紫色。
  違えば、吉凶は「神」。神託は「大吉にして大凶。{~}運を使い果たさないように!」。文字色黄色。

 母艦について
   幅は150。高さは480。テキストは「なこみくじ」。スタイルは「枠固定」
 オフ母艦の最大化ボタン有効変更。オフ母艦の最小化ボタン有効変更。
 母艦を閉じた時は~母艦を「下から上」へ窓ロールアウト。
 母艦を$FFFFCCで画面クリア。
 文字書体は「MS 明朝|40|太字」。
 母艦の((母艦の幅)-(吉凶の文字幅取得))/2,10へ吉凶を文字描画。
 文字色黒色文字書体は「@MS 明朝|16|太字」。行=2。
 母艦の85,85へ神託を縦書文字描画。
 母艦中央移動母艦を「上から下」へ窓ロールイン。。
#-----------------------------------------------------------------------
●縦書文字描画({グループ=?}OBJのX,YへSを)
  YYは整数。YY=Y。
  処理用をイメージとして作成。処理用→可視はオフ。
  処理用→幅は「あ」の文字幅取得。
  処理用→高さは「あ」の文字高さ取得。
  もし、行<1ならば、行=1。
  もし、文字隔<1ならば、文字隔=1。

  (Sの文字数
    Sの回数から1文字抜き出す。
    文字はそれ。
    もしそれ=「{CHR(10)}」ならば、
      X=X-(「あ」の文字幅取得)*行。
      Y=YY。
      続ける。

    処理用を$FFFFCCで画面クリア。
    処理用の0,0へ文字を文字描画。
    処理用を画像右回転。
    処理用をOBJのX,Yへ画像コピー。

    Y=Y+(「あ」の文字高さ取得)*文字隔。
  VCL_FREE(処理用)
#-----------------------------------------------------------------------
# https://msdn.microsoft.com/ja-jp/library/cc430257.aspx
#-----------------------------------------------------------
●AniWin(hwnd,dwTime,dwFlags) =DLL("user32.dll",
"BOOL AnimateWindow(
  HWND hwnd,     // アニメーション化するウィンドウのハンドル
  DWORD dwTime,  // アニメーションの時
  DWORD dwFlags  // アニメーションの種類
)")
#-----------------------------------------------------------
●窓ロールイン({グループ=?}OBJを{整数=500}Timeで{文字列=「」}Aへ)
  窓アニメーション(OBJ,Time,A,オン,オフ)

●窓ロールアウト({グループ=?}OBJを{整数=500}Timeで{文字列=「」}Aへ)
  窓アニメーション(OBJ,Time,A,アウト,オフ)
#-----------------------------------------------------------
●窓アニメーション({グループ=?}OBJ,Time,A,OffOn,Slide)
  もし、(A=「左から右」)ならば、Flag=$1
  違えばもし、(A=「右から左」)ならば、Flag=$2
  違えばもし、(A=「上から下」)ならば、Flag=$4
  違えばもし、(A=「下から上」)ならば、Flag=$8
  違えばもし、(A=「中央」)ならば、Flag=$10
  違えばもし、(A=「左上から右下」)ならば、Flag=$1||$4
  違えばもし、(A=「右上から左下」)ならば、Flag=$2||$4
  違えばもし、(A=「左下から右上」)ならば、Flag=$1||$8
  違えばもし、(A=「右下から左上」)ならば、Flag=$2||$8
  違えば、Flag=$1
  もし、OffOn=オフならば、Flag=Flag||$10000
  違えば、Flag=Flag||$20000
  もし、Slide=オンならば、Flag=Flag||$40000

  ハンドルはOBJ→ハンドル。
  AniWin(ハンドル,Time,Flag)
  OBJ→可視はオン。

#-----------------------------------------------------------

めだかめだか2017/01/17 01:01突然ですが、コメントすみません。
初めまして。なでしこ歴2、3年の新人です・・・^^;
いつも参考にさせてもらっています!


さて、早々で悪いのですが、いくつかご教授をお願いしたいのですが・・・

・なでしこでノートPC搭載のカメラの映像を映す・キャプチャする。
・音声の認識(しゃべった言葉を文字に起こす、その他諸々)
・他言語同等の画像処理の速度(特に、ピクセル値の検出)(可能ならば、opencvの様な処理速度の実現)


以上の事について、ご教授を願いたいところです。

カメラの映像は、他のソフトで映した映像をキャプチャしながらの処理になるためかなりのタイムラグがでてしまいます。これを解決するためにも、できる限り、他のソフトには頼らずなでしこのみでの処理としたいのですが・・・

音声の認識はかなりの高いスキルと知識が必要になるため、半分諦めかけてます(笑)これは、当面の目標となりそうですが、ここらで一つアドバイスをと思い、質問させてもらいました。

画像処理などに関しては、以前作ろうとしていたプログラムの際に、技術不足と速度につまづき難航中です・・・
色々と試してはみましたが、やはりリアルタイムの処理となるとかなりの負荷がPCにもかかり、目的の作業自体ができない状態となったり、それを回避するにはやはり、プログラム事態の性能を落とすしかなく今に至ります・・・何かいい方法はありますでしょうか?

是非とも、ご教授の程をお願いいたします。

雪乃☆雫雪乃☆雫2017/01/17 22:58 めだかさん、はじめまして!
 コメントありがとうございます☆
 いつも参考に・・・だなんて、あわわわわ;;;

 でもでも、ワタシってば、そんな有能な人じゃないんですよ~(ToT)
 ぷろぐらむのコトも、こんぴゅーたぁのコトも、全く詳しくないのですぅ。
 お役に立てるようなことであれば、いかようにも立ちたいところなのですが・・・しくしくしく。

 だって、なにしろ、ノートPCのカメラの使い方がわからんもねー(爆)
(なでしこがどうこう以前の問題として、全く使ってみたコトない~。使い方も分からない~~・・・というようなレベルの人間なのよw)

 画像処理などについても、ほとんど知識の持ち合わせは無いのですが、なでしこは処理が遅いというような話は聞いたことあります。
 もっとも、他の言語をよく知らないから、自分ではあまり分からないし、そんなに速度を必要とするようなヤツは作ってないですからねー;

 どう考えても絶対に、めだかさんの方が、ワタシなんかよりも数段賢くて、すごそうな物を作られているように思います。
 なんかもう、ほんとスミマセン・・・
 でもでも、是非頑張ってください!!!

めだかめだか2017/01/21 17:49早々のお返事有難う御座います^^

いえいえw私なんか初歩の初歩が出来ていない様な、まだまだ素人です(笑


なでしこが、画像に対して弱いことを確認出来たので、自力でどうにかしてみますw
そこで、質問なのですが、なでしこでAPI・DLLを使う方法などはご存知でしょうか?宜しければ、そちらをご教授願いたいのですが...
もしかすると、そちらに解決のヒントがあるかもしれないです...!

雪乃☆雫雪乃☆雫2017/01/22 02:36 なでしこで、APIやDLLを使う方法は、ここに書かれています。
http://nadesi.com/doc/system/sys-1-DLL-WindowsAPI.htm

 ・・・でっ、コレ見て何か分かりますかねー?
 分かるのであれば、ワタシなどより、絶対的に賢いのです。
 ワタシは、全く分かりませんでした。今もなお、あんまりよく分かりません。人様が使えるようにしてくださったAPIを利用させてもらったことはあっても、長い間ずっと、APIなんてムリ~と思っていたのですが、急にひらめいていろいろやってみたのが、本当につい最近の出来事。
 ひらめいたからって、人に教えられるようなものではとうてい無く、直近のスクリーンセーバーからAnimateWindowまでの辺りのくだりが、リアルにぎりぎり精一杯といったところなのですよ。

 よければ、そこらへんの記事を読んでみてください。何かの参考になったりならなかったりするかもしれません。
 読む人のことを考えずに書き散らしいている上に、もともとの語学力も不足なので、書いてる意味がよくわからんとか、ここをもっと詳しく説明してくれいという質問になら、自分がやったことなので、たぶん、ある程度応じられますw

 あとは・・・
 具体的に、コレを動くようにしたいんだけどというようなことなら、解決するかしないかは別にして、一緒にうむむと悩んでみることも、可能かとは思うんですけれどね;

めだかめだか2017/01/25 02:55お返事有難う御座います。

そちらの記事は、既に読ませて頂いてます。頑張って理解をしたつもりです(笑

ですが、DLLとAPIの違いがあやふやなので、理解しようにも、理解が出来ていない状態です(T-T)
時間がなく、実際に組むことも出来ていない状態なので、なんとも言えないですが...


そうですねぇ...今やってみたいことは、なでしこ上で、カメラをうつすことですかね...
ですが、なでしこの命令にはカメラに関するものがなく、今回、API・DLLに頼ってみようかと思いました。(最悪、外部ソフトのキャプチャ画像をキャプチャするつもりです。

後は、自分なりに調べてはみましたが、どうやらJavaとHTML5(のはず)で動かすのが主流らしく、それ以外の方法となると、少し難しくなってしまう感じがしました・・・


最終的な目標としましては、プログラムの起動→カメラの起動→キャプチャを行う をとりあえずは完成させてはみたいなとは思っています。


なでしこユーザーが少なく、なでしこでカメラの接続を試みた方々はおまりおらず、ネットにも情報があまりありませんし、周りにもやっている人がおらず、1人の限界とは言いませんが、ある程度の苦しさを痛感していたところです...TT
なので、もし、ご一緒に考えてもらえれるのであれば、大歓迎です!ぜひとも、宜しくお願いします!

雪乃☆雫雪乃☆雫2017/01/26 08:34うぅんと、ワタシもあんまりよく分かりませんがWindowsAPIってのはようするに、user32.dllとかkernel32.dllとかとかの中の関数を使うって事で、おんなじ事なんじゃないんですかねー?(@_@)

取りあえず、ワタシのノートパソコンにもカメラのレンズらしきモノがついてるんだけど、使えるのかどうかもよく分からんって言うねヽ(;´Д`)ノ

でも、なんか、ここは参考にならないかな?
http://magayengineer.hatenablog.com/entry/2016/06/13/224309
ああ、見てるだけでお熱が出そう・・・(+_+)
だけど、capCreateCaptureWindowで作ったウィンドウハンドルに、SendMessageでなんか色々送る的なこったろうと思うんだよね。

もし、なんかひらめいたら、発表します~。
でも、あんま、期待しないで((((^^;

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20170103