未分類

昨日、特許のお話をしたので、その続きということで。

特許権に関する幻想を持っている人って多いと思うのですが、我々研究員からすれば、発明は単なる業務です(なお、上記の内容は古い上に、若干の嘘もあります。特許法は殆ど隔年で改正されていますから)

江端さんのひとりごと「それでも貴方は特許出願したいですか?」

もっと直接的に言えば「ノルマ」。

「発明」がノルマでできるのか、と思われるかもしれませんが、特許発明というのは、一種の小説とかコミックマンガと同じような「創作物」でもあるのです。

「発明」を記載する明細書には、物語、すなわち「ストーリー」が記載されなければなりません。

それを読む特許庁の審査官を、「感動」させなければならないからです。

-----

特許明細書の内容は、概ね、こんな感じになっています。

(Step.1)まず、巨大な悪の帝国を記載します(課題)。この巨大な悪の帝国を滅ぼす為の兵器を登場させます(課題を解決する公知の技術)。

(Step.2)ところが、この兵器が全く悪の帝国の帝国軍に太刀打ちできず、自由同盟軍は敗走します(公知技術でも解決できない課題)。

(Step.3)そこに、自由同盟軍の新型兵器が登場します(本願発明)。この新型兵器は、誰も見たことがなく(特許法29条1項)、そして誰も思いつくことができな かった(同2項)ものです

(Step.4)自由同盟軍の新型兵器が、帝国軍のくりだす全ての兵器を撃破し、自由同盟軍は最終的に勝利を収めます(本願発明の効果)。

こうして、皆が幸せになることで、物語・・・もとい、明細書は終了します。

-----

前回の特許明細書で、私は8割を書き上げたところで、「あれ?」と気がつきました。

―― この新型兵器では、悪の帝国の反撃で、撃破されてしまうじゃないか?

こうなると、最初からストーリーを組み直すことになります。

仕事の大半がパーになって、かなり泣けます。

とはいえ、もっと優れた新型兵器をホイホイ発明するのは難しいです。

ですから、ストーリーの再構築に際しては、姑息な手段を考えることになります。

例えば、―― 悪の帝国を最初から「弱く」設定しておく、とか。

-----

特許明細書という楽しくもない文章を、特許庁の審査官に読んで貰うには、それ相応の技も必要なのです。

未分類

https://airuca.com/camera-rtsp/

Panasonic / i-Pro

WV-S2130

RTSPパス rtsp://

Src/MediaInput/stream_1
Src/MediaInput/stream_2
Src/MediaInput/stream_3
Src/MediaInput/h264/stream_1
MediaInput/h264
MediaInput/mpeg4
VideoInput/1/h264/1

 

なんか、ドンピシャな情報

からコピペさせて頂きました。

====== さらに引用 ここから =======

これでRTSPストリームのURLはわかりました。
次にこのURLで映像を見るとき、どうやってカメラに設定したユーザー名とパスワードを使って認証させるのか?という課題が生じます。
こちらは下記のようなURLを作れば問題ありません。
(例)H.264/H.265のストリーム1の映像を参照したい場合
rtsp://UserName:Password@IP_Address_of_camera/Src/MediaInput/stream_1

そして最後に、上のURLをffplayで再生するには下記のコマンドをffplayのあるディレクトリ内で実行します。

ffplay -i rtsp://UserName:Password@IP_Address_of_camera/Src/MediaInput/stream_1

再生はされるがよく途切れる、灰色になって表示されない部分がよく出て不安定といった場合は、RTSPでのデータ伝送にTCP接続を強制すると改善するかもしれません。
TCP接続を強制する場合のコマンドは下記のようになります。

ffplay -rtsp_transport tcp -i rtsp://UserName:Password@IP_Address_of_camera/Src/MediaInput/stream_1

このとき、ffplayのウィンドウサイズはカメラ側で設定した解像度に合わせられます。
ffplayでPanasonicのIPカメラの映像を再生する方法は以上です。

====== 引用、ここまで ======

ありがとうございました。

 

JVC

VH-H268R
VH-H268VPR

RTSPパス rtsp://

ONVIF/Streaming/channels/0
ONVIF/Streaming/channels/1
ONVIF/Streaming/channels/2
ONVIF/Streaming/channels/3

未分類

以前より、私は、時空間を取り扱う発明などを出願してきました。

I have been applying for inventions dealing with space-time and other matters for some time now.

私の特許発明は、かなり「SF小説/アニメ頼み」のところがあります。

My patented inventions are "science fiction novel/anime dependent."

(ちなみに、『シュタインズゲート』は、私の出願の"後"の放映です)。

(Incidentally, "Steins;Gate" aired "after" my application.)

-----

しかし、最近の、生成AIや、メタバースの出現で、「SF小説/アニメ頼み」も苦しくなってきました。

However, with the recent emergence of generative AI and the metaverse, "relying on science fiction novels/animations" has become difficult.

昨日も、一晩中、グループチャットで、特許ネタの案出で苦しんでおりました。

Yesterday, too, I spent all night in the group chat room struggling with a patent story idea.

「十分に発達した科学技術は、魔法と見分けがつかない」は、SF作家アーサー・C・クラークの定義ですが、

Though "Any sufficiently advanced technology is indistinguishable from magic.," as defined by science fiction author Arthur C. Clarke,

私に言わせれば、

In my opinion,

「十分に発達した汎用技術は、発明創成の阻害要因である」

"Well-developed general-purpose technology is a disincentive to invention.

です。

I believe this to be true.

今の私は、特許法第29条第2項(進歩性)に関する、特許審査官との、頭脳内戦闘(論戦)シミュレーションで、疲れ果てております。

I am now exhausted from simulating an intra-brain battle (argument) with the patent examiner regarding Article 29(2) of the Patent Law (inventive step).

江端さんのひとりごと「それでも貴方は特許出願したいですか?」

未分類

江端さんのひとりごと
「それでも貴方は特許出願したいですか?」
(出展はこちら → https://www.kobore.net/reject.txt)
(※)この文章は2002年における特許法をベースとしております。その後、何回も法改正が行われておりますのでご注意下さい

 

特許関連の資料が山積み(国内拒絶1、米国拒絶1、ヨーロッパ拒絶1、米国継続出願2(内、一つは面識のない日立のOB))になっており、自分でも何が何だか分からない状態になっております。

景気よく調子にのって、自分のアイデアを世界各国に特許出願すると、数年後に、各国から拒絶通知書の嵐となって戻ってきます。

特許出願するだけで、

―― 一生、遊んで暮せる

などという夢みたいなことを考えている人も多いようですので、その夢、この機会にしっかりと打ち砕いて差し上げます。

まず、「特許出願」をします。

特許明細書の記載方法はとても面倒で、決まりごとの嵐です。

同じ発明が、出願の一秒でも前に誰かによって出願されていたら、その出願はその時点でゴミとなります。

ゴミとならないためには、その調査をしなければなりません。

特許法成立以来の全ての膨大な出願済みの特許を*全部*調べなければなりません(「公知例調査」)。

さて、この段階で該当する公知がなかったとします。

しかし、出願された特許は、1年半の間公開されませんから、未公開の特許の中に、同じ特許があっても、やっぱりパーになります。

さて、この出願した特許は、3年間ほっておくと、自動的に消滅し、何もなかったことになります(出願を取り下げたと見なされる)。

特許出願を、「特許権」にするには、3年以内に特許庁に対して「審査請求」なる請願をしなければなりません。

審査請求をすると、ほぼ100%、特許庁から「この発明は受付られん!」と拒絶を打たれます(「拒絶通知」)。

この拒絶を取り下げて貰うために、特許請求の範囲を小さくしたり、意見書を提出したりしますが、なお受けられないと言われれることがあります(「拒絶査定」。

拒絶査定を取り下げて貰う為には、「拒絶査定不服審判」という裁判フェーズに突入します。

こうなると舞台は、東京高等裁判所に移ってしまいます。

この裁判で、差し戻し命令が仮に勝てたとしても、別の内容で拒絶を打たれたら、もう上記の「拒絶通知」からやりなおしとなります。

この闘いのフェーズを越えたら「設定登録」、すなわち特許権の発生です。おめでとうございます!! ・・・と言う程、甘くはない。

設定登録から6ヶ月間、この特許権を叩き潰す新たな闘い「特許異議申立」と言うフェーズが始まります。

この申立は、競合会社のみならず、赤ん坊でも、その辺の子供でも、あなたの特許を潰す権利があります。

卑近な例ですが、あなたの特許に記載した発明と同じ内容を、例えば、近くのオバチャンが井戸端会議で話題にしており(「公然知られた状態」)、実際にオバチャン連中を集めて自宅で試していた(「公然実施された状態」)と言うことを、別のオバチャンがメモしていたという事実があれば十分。

そのメモを特許庁に送りつけるだけで、あなたの特許権は、確実に潰されます。

これを覆す為には、「特許異議申立無効審判請求」と言う審判の請求を経て、再び裁判を始めることになります。

やっと闘いが終って、掴みとったあなたの特許権。

これでようやく安泰かと言うと、次の闘いのフェーズは、「特許無効審判請求」。

あなたの特許を叩き潰し、安心して製品を作りたい会社が立ち塞がります。

これに立ち向かう為には、自らその無効の内容を訂正する「訂正審判請求」でこの攻撃を交す必要があります。

この訂正審判とは、自分の特許権の一部を、放棄するものです。

すなわち、特許権という権利自身が生き残るために、自分の腕や足を、自ら日本刀で切り捨てるようなものです。

――  特許権とは、死ぬことと見つけたり

肉を切らせて、骨を断つ。

特許権の闘いとは、ダンディズムの極致とも言えましょう。

特許権を生き永らせたい特許権利者と、可能な限り早く抹殺したい第三者の闘いは、特許権の寿命たる20年の間、いついかなる時でも発生しえるのです。

さて、ここまでの話は、単に、特許権を潰そうとする敵をかわすためのものだけです。

皆が、特許権に群がるのは、それでお金を儲けたいと思うからだと思いますが、はっきり申し上げておきましょう。

特許権でお金が取れる期待値金額は、マクドナルドでハンバーガの売り子をやっているより、・・・、いやいや、もっと正確な引用をするのであえば、夜中に駅の構内で、ギター片手に下手糞な歌を歌うような阿呆な若者が、おひねりを貰うための空き缶に入れられる小銭の金額より、ずーーーーーーーーーーっと少ないんですよ。

# あの程度の低い歌唱力で、金をカンパして貰おうという厚かましさは、体、どこから来るのだろう。逆に金を払って貰いたいくらいだが。

もしあなたが、あなたの特許権で儲けたいと思うのであえば、*あなた自身*が、その特許を侵害している人や会社を見つけなければなりません。

あなた以外の誰も見つけてくれませんし、邪魔こそすれ協力なんぞ絶対にしません。

特許侵害を見つけて嬉しいのは、特許権者のあなただけ。

他の人にはどうでも良いことですから。

仮に見つけたとしても、今度は特許侵害の訴訟を*あなた自身*が起こさねばなりません。

これを特許侵害をしている人の立場から述べてみると「例え特許侵害をしていても、見つからなければO.K.」と言うことです。

実際、見つかり難い内容の発明なら、侵害を発見する可能性(顕現性)は、ずっと小さくなります。

例えば、プログラムの中のアルゴリズムの中にある特許侵害を、ソフトウェアを使っているだけで見い出せる人がいたら、その人は人類ではなく、神様でしょう。

こんなものは無理というか無茶です。

ですから、特許発明としては、顕現性の優れた、例えば「ゴキブリホイホイ」の発明とかの方が、断然優れているわけです。

とどめに、--- 実際のところ日本においては、これが大問題なのですが---

日本国の特許権者の勝訴率は、欧米のそれに比べてもの凄く小さい。

―― 闘えば、必ず負ける

と言うくらい、特許権者サイドの勝訴率は低いと聞いたことがあります。

今一度、あなたにお尋ねします。

―― それでも貴方は、特許出願したいですか?

(後略)

未分類

江端さんへ電子メールを出す前に
----- 江端から、効率よく回答を引き出す為に -----
(出展はこちら→https://kobore.net/mail.txt)

現在、コロラド在住(筆者注:2002年3月1日帰任)ということもあり、現地に興味のある人からのメールが多くなりました。

私としては、時間が許し、気の向く限り、お返事申し上げたいと思っているのですが、最近、礼を失念した電子メールの文面が多くて不快に感じることが多いです。

勿論、電子メールを送った方は、江端を不快にさせようなどと言う気持など全くないことは百も承知ですが、江端が江端の基準で設定した勝手なポリシー

Mr.Ebata's Mail Policy

を守らないと、江端を動かすことは出来ません。

とにかく、江端から何かしらの情報を引き出したいのであれば、江端を不快にさせるのは得策ではありません。

例えば、こんなメールは、江端を非常に不快にさせます。

--------------------------------------------

(挨拶、自己紹介、背景一切なし)

○○について何か知っていたら教えて下さい。

--------------------------------------------

馬鹿者!

何で見も知らんお前の為に、私が情報を収集し、電子メールを作成する労を取らねばならん!

こんな風に、江端が思ってしまったら最後、江端はあなたの電子メールを最後まで無視し続けます。

あんまりしつこいと『無礼メール』のサンプルとして、このページで公開しかねません。

その他、

- なれなれしいメール
- 何を言いたいのか判らないメール
- html形式のメール
- 実名が記入されていないメール

も、受け取らなかったことにします。

一方、これとは逆に、江端が読んだ瞬間に返事を書く(であろう)電子メールの構成を、例題を使ってご説明致します。

--------------------------------------------

(1)挨拶

始めてお便り申し上げます。

(2)簡単な自己紹介

現在、米国コロラド州のヒューレットパッカード社に勤務しております、Tomと申します。

(3)このメールを出すに至った経緯

江端さんがお作りになられた、「江端さんのホームページ」、とても楽しく拝見させて頂きました。

(4)質問の背景

先程申し上げました通り、私は現在米国にて仕事をしておりますが、この度、私が「江端さんのホームページ」の話題を上げましたところ、職場のアメリカ人の同僚が、是非一度読んでみたいと申しておりました。

(5)質問の内容

そこで、私としても彼らにも是非読んで貰いたいと思っておりますが、今後、「江端さんのホームページ」の英語翻訳版を作成させる予定などがございませんでしょうか。

(6)お願いの言葉

もしそのような予定がございましたら、大変お手数とは存じますが、御連絡頂けましたら幸いと存じます。

(7)終りの挨拶

これからも、ますますの御活躍を、心よりお祈り申し上げております。

--------------------------------------------

基本的には、初対面の人に、普通に手紙を出す時に普通に書く文章を、電子メールで展開して頂ければ結構なだけなのですが、電子メールの気楽さもあってか、その程度の気使いもして貰えないのは大変残念です。

ともかく、私はそういう無礼なメールは、要りません。

江端に電子メールを出して、質問の回答を引き出したい時には、江端を上手く『いい気持ち』にさせて、最大限利用できるよう、色々と電子メールの文面を工夫されることを、お勧め申し上げます。

未分類

User
以下のプログラムを実行すると、以下のようなエラーがでてきます。 [ERROR:0@0.100] global cap.cpp:643 open VIDEOIO(CV_IMAGES): raised OpenCV exception: OpenCV(4.9.0) /io/opencv/modules/videoio/src/cap_images.cpp:430: error: (-215:Assertion failed) !filename_pattern.empty() in function 'open' Traceback (most recent call last): File "/home/cam/virtual_camera/vc.py", line 32, in <module> main() File "/home/cam/virtual_camera/vc.py", line 24, in main cv2.imshow('Frame', frame) cv2.error: OpenCV(4.9.0) /io/opencv/modules/highgui/src/window.cpp:1272: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage' 対処方法を教えてください。 import cv2 def main(): # mp4ファイルのパスを指定 video_path = "192.168.1.1.mp4" # mp4ファイルを開く video_capture = cv2.VideoCapture(video_path) # カメラの解像度を設定 width = 640 height = 480 video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, width) video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, height) # RTSPカメラのフリをするための準備 rtsp_url = "rtsp://localhost:38089/live" # RTSPサーバーのアドレス fourcc = cv2.VideoWriter_fourcc(*'H264') # ビデオコーデックを指定 rtsp_camera = cv2.VideoWriter(rtsp_url, fourcc, 30, (width, height)) # 30fpsで設定 # mp4ファイルを繰り返し再生してRTSPカメラのフリをする while True: ret, frame = video_capture.read() # フレームを読み込む if not ret: video_capture.set(cv2.CAP_PROP_POS_FRAMES, 0) # ファイルの終端に到達した場合、最初に戻る continue rtsp_camera.write(frame) # フレームをRTSPカメラに書き込む # フレームを表示(テスト用) cv2.imshow('Frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # 後処理 video_capture.release() rtsp_camera.release() cv2.destroyAllWindows() if __name__ == "__main__": main()
ChatGPT

このエラーメッセージは、2つの主要な問題を示しています。

  1. ファイルが開けない問題:
    • このエラーは、OpenCVが指定されたビデオファイル(この場合は192.168.1.1.mp4)を開けないことを示しています。これは、ファイルパスが間違っているか、ファイルが存在しない、あるいはアクセス権限がない場合に発生する可能性があります。
    • 解決策としては、まずファイルパスが正しいかどうかを確認してください。また、ファイルが存在し、アクセス権限があることを確認してください。
  2. cv2.imshow関連の問題:
    • このエラーは、OpenCVがコンパイルされた時に必要なGUIウィンドウサポートが含まれていないことを示しています。これは通常、LinuxシステムでGUI関連のライブラリが不足しているか、あるいは適切にリンクされていない場合に発生します。
    • UbuntuやDebian系のLinuxディストリビューションを使用している場合、libgtk2.0-devpkg-configをインストールしてから、OpenCVを再コンパイルすることで解決できます。以下のコマンドを実行してください:
      sh
    • sudo apt-get update
      sudo apt-get install libgtk2.0-dev pkg-config

      その後、OpenCVをソースから再コンパイルする必要があります。これには、OpenCVのソースコードをダウンロードし、cmakeを使ってビルド設定を行い、makeコマンドでビルドを実行するプロセスが含まれます。このプロセスは時間がかかる場合がありますが、GUI機能を使うためには必要です。

      OpenCVの再コンパイルが必要かどうかを判断する前に、video_pathが正しいかを再確認し、必要に応じて修正してください。また、ビデオファイルが正しく読み込まれているかどうかを確認する別の方法として、ファイルの読み込みに成功したかどうかをチェックするためにret変数の値をログに出力することもお勧めします。

User
video_pathが正しいかを再確認の方法を教えてください
ChatGPT

video_pathが正しいかどうかを確認するには、いくつかの手順を踏むことができます。まず、指定されたパスが実際に存在するファイルを指しているかを確認する必要があります。これはPythonのos.pathモジュールを使用して簡単に行えます。以下のステップでvideo_pathの確認を行う方法を示します。

  1. ファイルの存在確認:
    • Pythonのos.path.exists関数を使用して、ファイルが存在するかどうかを確認します。
    • また、os.path.isfile関数を使用して、指定されたパスが実際にファイルであることを確認することもできます。
  2. パスの正確さ:
    • 絶対パスまたは相対パスが正しく指定されているかを確認します。絶対パスはファイルシステムのルートから完全なパスを示し、相対パスは現在の作業ディレクトリからの位置を示します。

以下のコードスニペットは、上記の検証を行う方法を示しています。

python
import os

video_path = "192.168.1.1.mp4" # ここでのパスは例としています。実際のパスに置き換えてください。

# ファイルが存在するかどうかを確認
if os.path.exists(video_path) and os.path.isfile(video_path):
print("ファイルが存在し、正しいパスです。")
else:
print("ファイルが存在しないか、パスが間違っています。")

このスクリプトを実行することで、指定されたvideo_pathが正しいかどうかを確認できます。ファイルが存在しない場合やパスが間違っている場合は、パスを修正してください。ファイルがネットワーク上にある場合(例えば、IPアドレスを含むパスを使用している場合)、そのファイルにアクセスできるかどうかを確認するためには、適切なネットワークパスまたはストリーミングURLが使用されていることを確認する必要があります。

User
ファイルが存在し、正しいパスです。 と表示されました。
ChatGPT

ファイルが存在し、正しいパスであることが確認できた場合、問題の原因は他にあります。エラーメッセージから、2つの主な問題が考えられます:

  1. OpenCVのGUI関連の機能が動作していない
    • cv2.imshowでエラーが発生していることから、OpenCVがGUIライブラリ(GTK、Qtなど)と正しく連携していない可能性があります。これは、OpenCVのインストール時にGUIサポートが含まれていない、またはGUIライブラリ自体がインストールされていないことが原因である可能性があります。
  2. ビデオキャプチャデバイスの問題ではない
    • ファイルパスが正しく、ファイルも存在するため、ビデオキャプチャデバイス(この場合はファイル)に関する問題ではありません。

解決策

既に確認したGUI関連の問題に対する解決策を再度試す価値があります。具体的には、OpenCVがGUIライブラリと正しく連携するようにするために必要な依存関係をインストールし、OpenCVを再コンパイルすることです。以下は、そのためのステップです:

  1. 必要なGUIライブラリのインストール: UbuntuやDebian系のシステムでは、以下のコマンドを実行します:
    bash
  1. sudo apt-get update
    sudo apt-get install libgtk2.0-dev pkg-config

    これにより、GUI開発に必要なライブラリがインストールされます。

  2. OpenCVの再コンパイル: OpenCVをソースから再コンパイルすることで、これらのライブラリを使用するように設定できます。これには、OpenCVのソースコードをダウンロードし、CMakeを使用してビルド設定を行い、その後ビルド(コンパイル)を実行するプロセスが含まれます。
  3. 別の表示方法の検討cv2.imshowが使用できない場合は、画像処理の結果を確認するための別の方法を検討することもできます。例えば、処理したフレームを画像ファイルとして保存してから、別の画像ビューアで開く方法があります。

GUIライブラリが適切にセットアップされていないことが原因である場合、上記のステップで問題が解決するはずです。それでも問題が解決しない場合は、OpenCVのインストール方法(pip経由、ソースからのビルドなど)や、使用しているシステムの詳細(OSのバージョンなど)に関する情報を再確認し、それに基づいて対処を検討してください。

User
OpenCVの再コンパイル方法を教えてください
ChatGPT

OpenCVをソースから再コンパイルするには、いくつかのステップを踏む必要があります。以下は、Linuxベースのシステム(特にUbuntuやDebian系)でOpenCVを再コンパイルするための一般的な手順です。このプロセスは、OpenCVを最新バージョンでビルドし、GUIサポートを含めることを目的としています。

事前準備

  1. 必要な依存関係をインストールします。OpenCVとそのGUI機能を使用するためには、いくつかのパッケージが必要です。
    bash
  1. sudo apt-get update
    sudo apt-get install build-essential cmake pkg-config
    sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    sudo apt-get install libxvidcore-dev libx264-dev
    sudo apt-get install libgtk-3-dev
    sudo apt-get install libatlas-base-dev gfortran
    sudo apt-get install python3-dev

OpenCVのソースコードのダウンロード

  1. OpenCVとOpenCV_contrib(追加機能を含む)のソースコードをダウンロードします。
    bash
  1. cd ~
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

    特定のバージョンをビルドしたい場合は、各リポジトリ内でgit checkout <バージョンタグ>を実行してください。

ビルド設定

  1. ビルドディレクトリを作成し、CMakeを使用してビルド設定を行います。
    bash
  1. cd ~/opencv
    mkdir build
    cd build
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

    このコマンドは、OpenCVをビルドするための様々なオプションを設定します。必要に応じてオプションを調整してください。

コンパイル

  1. コンパイルを実行します。このプロセスには時間がかかる場合があります。
    bash
  1. make -j$(nproc)

    -j$(nproc)オプションは、利用可能なすべてのCPUコアを使用してビルドを加速します。

インストール

  1. コンパイルが完了したら、システムにインストールします。
    bash
  1. sudo make install
    sudo ldconfig

確認

  1. OpenCVが正しくインストールされたかを確認します。
    bash
pkg-config --modversion opencv4

またはPythonから:

python
  1. import cv2
    print(cv2.__version__)

これらのステップを完了すると、OpenCVがシステムにインストールされ、GUI関連の機能も使用できるようになります。エラーが発生した場合は、エラーメッセージを注意深く読み、不足している依存関係がないかどうかを確認してください。

未分類

もう寝たいんだが、システムが寝かせてくれない。

止めるわけにもいかないし(そういう中断で、これまでいくつのシステムを壊してきたことやら)

つくづく思うのですが、パッケージは、そのインポートの前に「予想完了時刻」を示すべきだ、と思うのです

未分類

このプログラムでは、緯度・経度の位置情報から距離の計算を行わずに補完を行っていますが、これは私の意図したものではありません。

下記のsmall_bus_data.csvのデータを使って、私が作って欲しいプログラムのアルゴリズムを説明します。

現在1番目のデータには、12:55:00の時刻情報が入っており、30番目のデータには、13:00:00の時刻情報が入っています。
つまり、この間には、300秒の時間が経過していることになります。

次に、1番目の緯度経度と2番目の緯度経度から距離(メートル)が算出できます。
次に、2番目の緯度経度と3番目の緯度経度から距離(メートル)が算出できます。
最後に、29番目の緯度経度と30番目の緯度経度から距離(メートル)が算出できます。
これらを合計すると、合計移動距離(メートル)が算出できます。
この合計移動距離を、前述の300秒で割ると、平均の秒速が算出できます。
この秒速を使って、現在、時間情報が入っていない、2、3、4、.... 29番目の時刻が算出できますので、それを表示して下さい。

同じように、
現在30番目のデータには、13:00:00の時刻情報が入っており、39番目のデータには、13:02:00の時刻情報が入っています。
つまり、この間には、120秒の時間が経過していることになります。

次に、30番目の緯度経度と31番目の緯度経度から距離(メートル)が算出できます。
次に、31番目の緯度経度と32番目の緯度経度から距離(メートル)が算出できます。
最後に、38番目の緯度経度と39番目の緯度経度から距離(メートル)が算出できます。
これらを合計すると、合計移動距離(メートル)が算出できます。
この合計移動距離を、前述の300秒で割ると、平均の秒速が算出できます。
この秒速を使って、現在、時間情報が入っていない、30、31、.... 38番目の時刻が算出できますので、それを表示して下さい。

以下のsmall_bus_data.csvの時間情報は以下の通りです。

====== small_bus_data.csv ここから =========

1, 93, 139.62957005198, 35.36604342344, 12:55:00
2, 94, 139.62977593991, 35.36605145489,
3, 95, 139.62975577321, 35.36614821472,
(中略)
28, 180, 139.6225614208, 35.36578048832,
29, 178, 139.62231637196, 35.36565733887,
30, 179, 139.62231637196, 35.36565733887, 13:00:00
31, 178, 139.62231637196, 35.36565733887,
(中略)
38, 122, 139.62212431581, 35.36739269906,
39, 123, 139.62186543167, 35.36793117811, 13:02:00

====== small_bus_data.csv ここまで =========

まあ、それでも、私が着手開始できる程度のコードの叩き台は作ってくれましたので、まずまず満足しています。

未分類

江端さんのひとりごと
「配線学」

2001/06/29

ベストセラーとなった、「話を聞かない男、地図の読めない女」を夫婦で読んで以来、嫁さんは、旅行中のナビゲーション担当を完全に放棄してしまいました。

この本は、全女性から「地図を読む」と言う生活必須の行為を放棄せしめ、彼女らに、地図が読めないことを正当化させてしまったと言う意味で、焚書に値する悪書であります。

私は、サンフランシスコや、ロサンゼルスの高速道路を、時速75マイル(120km)で運転しながら、コンマ1秒以内で、地図とGPSの座標を同時に読み取ると言う、ある意味『サーカスの綱渡りなんぞ、なんぼのもんじゃ』と言う程危険なこともせざるを得なくなってしまいました。

一方、この本が主張する(「話を聞かない男」と言うのはよく分からんが)、「冷蔵庫の中にあるマヨネーズを見つけだせない」「箪笥から該当のジーパンを探り当てれない」などは、恐しい程に当っているため、嫁さんのナビゲーション担当の放棄をあからさまに批判できない私がいます。

-----

私が中学の頃、「技術家庭」なるクラスがありました。

男子と女子が分かれて講義を受けると言う、時代錯誤も甚だしい ---- と言うよりも、今になって思えば、無益な区別をしていた授業がありました。

当時の文部省は、現在の結婚の高齢化、結婚率の低下、離婚率の増加などを全く、予測できなかったのしょうか。

勝手な言い分かもしれませんが、先見の明のない役人だ、と思います。

男子生徒と言う理由だけで、使いもしない本箱や、実用に耐えないドライバーやらを作らせて、一体どうする。

そんなもんなくても生きていけます。

生きることの基本は、飯です。

栄養バランスの悪い外食に頼らないように、先ず自炊から教えないかんでしょうが。

一体、何の為の義務教育だ。

私のように、一月に一度、市民サークルの「男の料理教室」に通っていたような人間は特殊な部類に入るので除外するとして、アパートに帰ったら、ピザをレンジで暖めるだけの夕食、あるいは、ソーセージを突込んで煮たてるだけのスープを喰うような大量の男達を、文部省はどう捉えているのでしょうか。

上記の話が嘘だと思うのであれば、私は、日立の各事業所からアメリカに来ている独身男のサンプルを、山ほど提出してみせます。

まあ、とにかく、ここで私の主張したいことは、数学も英語も大事かもしれんが、先ず、家庭科(と言うか家政学)を徹底的に叩き込まねば、今の世代は勿論、次世代の日本も非常に危うい、と言うことです。

-----

私は、国語と技術家庭のカリキュラムに、それぞれ次の2項目の追加を提言したいと思います。

それは、「マニュアル学」と「配線学」です。

太宰も芥川も漱石も良いだろうが、それより先に、マニュアルの読み方を教えなあかんだろうが、文部省。

『マニュアルの内容は、わからん』と言う奴の話をよく聞いてみると、一度もマニュアル開いていなかった、なんてふざけた話はざらにあります。

こういう甘ったれを叱り飛ばすのは易いですが、それでは何の問題解決にもなりません。

実際、マニュアルの内容が判りにくいのは事実です。

その理由としては、マイコンを使った各種製品の高機能化、それに共なうユーザインターフェース(ボタンやらスイッチ)数の増大が挙げられます。

限られたインタフェース(例えば3つのスイッチ)で、100以上の機能を実現するには、そのスイッチの時系列方向の組み合わせに依存するしかありません。

具体的には、『Aのスイッチを2秒押し続けながら、Bのスイッチを2回押し、最後にCのスイッチを、電子音がするまで押し続ける』等。

はっきり言って、こんな操作は、普通の人間には無理です。

しかし、それが可能な人間もいます。

その製品の製作者と、マニュアルの執筆者です。

なんったって、彼等は、その製品の開発過程で、100を越えるマイコンのパラメータを同時にトレースし、デバッグを行っているのです。

製品のインターフェースなんぞは、それらのパラメータのほんの一部に過ぎません。

彼等の感覚からすれば、「マニュアルの内容が判らん」と言うこと自体が判らんでしょう。

これらの根本的な解決方法は、100以上の機能を、5つ以下にすることですが、他社製品との競争上、むやみに機能を落すこともできません。

しかし、この「機能」の件に関しては、購買客も悪いのです。

日本中が、バブル景気で踊り狂っていたとき、私は、ファジィ・ニューロ制御の炊飯器や洗濯機や電子レンジを作っていました。

ファジィ・ニューロ制御が、一体どのようなもので、本当のところ、どれほど役に立っていたか、私は本当によーーーく知っていました。

ファジィ・ニューロが、本当に旨い米を焚くことが出きたかどうか -----

私は、この秘密は自分の墓の中に持っていくつもりですが ----- は、さておき、「ファジィ・ニューロ機能」と書かれていれば、客はそちらを購入したのです(と言うか、こう書かないと売れなかった)。

技術者の立場からすれば、
『高機能を要求すれば、その操作が難しくなるのは、当たりまえではないか!』
『己の頭の程度と相談して、製品を購入せんかい!!』

と言いたいこともありますが、メーカーの社員の立場では、そのようなことは口が裂けても言えません。

で、「これっきりボタン」とか出てくる訳ですが、それについては、いずれまたの機会に。

マニュアルの話に戻ります。

どだい、技術者の理系的発想で記述されたマニュアルが、読みやすいものになる訳がないのです。

技術者は、「動かないのが当たり前」「動かすのが仕事」と言う認識で、技術開発をしています。

「電源入れれば、動いて当たり前」と考えるユーザと同じ視点に立てる訳がない。

ですから、ここは、一つ文系的な見地から、マニュアルを見なおす必要があると思います。

私は以下の事項を提案します。

文部省は、まず全国の国立大学に、「文学部マニュアル学科」を設立し、体系的なマニュアルについての学問を推進します。

次に、義務教育過程に、「マニュアルの読みかた」と言うカリキュラムを導入します。

中間、期末の国語のテストには、次のような問題が出されるようにならなければなりません。

設問10 以下のマニュアルを読んで、問に答えなさい。

ethereal-*-non-capture.zipでは、パケットキャプチャはできないので、ethereal-*-capture.zipのほうを落とします。この段階で、c:\bin\etherealには、2つのzipファイルがあるはずです。これを、c:\bin\etherealの中で展開します。ethereal-0_8_8-capture.zipの方が、ディレクトリを掘ってしまうので、展開後にc:\bin\etherealのディレクトリを作って移動させて下さい。

(1)以下の単語の読みがなと、意味を書きなさい。

読み 意味

zip ( ) ( )

bin ( ) ( )

(2)このマニュアル内の、2個所の不適切な表現を選んで、それぞれ正しい文章

に直しなさい。

(3)このマニュアルを書いた作者の心情を30文字以内で記述しなさい。

受験用の参考書としては、「やさしいマニュアル学」「精解マニュアル解読」などが出版されることでしょう。

マニュアルは、「読む」「理解する」の次元を超越して、「感じる」ところまで高みに至る必要があります。

『あのマニュアルは、泣けた』とか『私の人生を決めたのは、この一冊のマニュアルです』と言う発言が日常会話で普通に出てくるようになるまで、マニュアル学は、高まる必要があると思います。

-----

次に「配線学」について述べます。

テレビ、ビデオは勿論、パソコンなど、今や「配線できぬもの、文明人にあらず」は、もはや誇張でも何でもなく、事実、配線ができないと、人並にAV機器や電子メールを楽しむことすらできません。

女性はこの配線に関しては弱い、と断言して良いでしょう。

一方で、男性は、収納に関しては、致命的なほど無能です。

理由はよく分からないのですが、女性はスカラー量には強く、ベクトル量には弱く、男性はその逆、と思われる場面が多いです。

配線とは、つまるところ「流れ(ベクトル)」を理解するだけのことなのです。

例えば、ビデオデッキを例に上げれば、

(1)映像を流し出すところと、それを受けるところ(テレビ)がある
(2)音声を流し出すところと、それを受けるところ(テレビ)がある
(3)その映像と音声を受けとるところと、それを出すところ(アンテナ)がある。
(4)電気を受けとるところがある。

と4つの「流れ」があり、それを正しく流すように線を継いでやれば、必ずビデオは動くのです。

ところが、配線が苦手な人は、この(1)-(4)が、頭の中で大混乱している訳です。

で、結果として何をしてしまうか。

総当たり戦を実施してしまう訳です。

映像出力端子、映像入力端子、音声出力端子、音声入力端子、NTSCケーブル2本、アンテナ線用同軸ケーブル、これにS端子でもついていたら、配線の組み合わせは、軽く100を越えるでしょう。

ビデオごときで、総当たり戦を実施している人に、パソコンの組み立てなんぞやらせたら、組み合わせ爆発は必至。

パソコンが動き出すのに25世紀くらいまでかかってしまう。

このような「配線問題」に関しては、現状2つのアプローチがあると思われます。

(1)「配線は素人にはできない」と割りきって、「配線サービス」と言う新しい産業の育成に力を注ぐ

(2)「配線学」を義務教育課程に組みこむ

の2つです。

しかし、私は、(1)の「配線アウトソーシング」が、一つの産業になるのは難しいであろう、と推測しています。

3万円のビデオデッキに、出張費と拘束時間を考え、安く見積っても1万円以下にはならないであろう配線サービス料金を、本当にエンドユーザは払えるだろうか。

そもそも家電製品と言うものは、大量生産によるコスト低減を掲げて製造されるものです。

激しいコスト競争の中で扱われているこれらの家電製品は、それ自体、ソフト的なサービスとは合い入れません。

ソフトサービスをエンドユーザに押しつけて、コストダウンを図る。

これが家電製品の市場原理なのです。

上記の分析が示すことは、当面の間、「配線問題」は、独力、あるいは、プライベートな極めて狭い範囲の人間による解決しかありえない、と言う悲観的な結論となります。

ですから、私は(2)の「配線学」を義務教育課程に組みこむしかないと思います。

ラジカセの操作は、小学3年生までに、

ビデオデッキは、小学6年生までに、

パソコンの組み立て(周辺機器付き)は、中学3年までに体得することを、今からでも遅くはありません、是非とも文部省は、技術家庭課程のカリキュラムとして採用することを、検討して貰いたいです。

日本のIT化を本気で考えるのであれば、これらのことが実施できない児童、生徒は、留年もやむなし、との処置でお願いします。

「炊飯器で飯が喰えず餓死」「メールが使えず孤独死」などと言う、ハイテク家電が引き起こしかねない悲しい事件を回避するためにも、国は断固とした姿勢で、接続学の取得を国民に課して貰いたいと切望します。

-----

あながち、大袈裟でもないのです。

電子レンジに猫を入れて、乾かそうとした主婦の話を例に上げるまでもなく、(赤ん坊でなくて、本当によかった)、パソコンのプリンタの設定ファイルと、ISPのプロバイダの接続設定を壊してしまい、アメリカに行ってしまった息子の帰省を1年以上も待っている、実家の両親たち ----

そして、紙切れが判っていても、補充されないFAX。

設定方法が分からず、いつまでも動き出さない全自動洗濯機。

マニュアルの例文を、2回印刷しただけのワープロ

ユーザにとっても、製品にとっても、これは悲劇に違いあません。

そのような悲劇を、この日本からなくす為にも、私はここに声を大にして、「マニュアル学」と「配線学」の、速やかな導入を提言したいと思います。

(本文章は、全文を掲載し内容を一切変更せず著者を明記する限りにおいて、転載して頂いて構いません。)

 

未分類

組織から「やれ」と言われたら、なんでもやるのがサラリーマンです。

とは言え、『この歳になって、Java(×JavaScript)かぁ』と、少々意外な感じです。

私、C/C++, Go, Python、SQL、JavaScriptは、普通にしゃべれますが、そのすきまを狙ったかのような"Java"とは ―― うん、面倒ですが、仕方ありません。

という訳で、今、VSCodeの環境にJava開発環境を仕込んでいます。

しかし、こんなトラブルが発生していて、ChatGPTと議論をしていました。

public class App {
public static void main(String[] args) throws Exception{
System.out.println("Hello, World!");
}
}
vscodeを使って、F5で実行しようとしたのですが、
Missing artifact org.json:json:jar:20140107
Missing artifact redis.clients:jedis:jar:2.7.2
等がでてきます。
コマンドからはちゃんとコンパイルして実行できるようですが。

色々教えて貰い、他のツールを入れたりしないように言われましたが、VSCodeの拡張機能で、同じような機能入っているようなので、『???』となやんでいました。

で、今回は、こちらが私には当たりでした。

VSCodeでJavaを始める方法(環境構築)

まあ、Javaだろうと、C/C++だろうと、Goだろうと構いません。今回の私の真の目的は、Github Copilotの攻略ですから。

GitHub Copilotが『怖い』件

以前、ChatGPTの登場で、英語の教師が本気でヤバイかもしれない、とか書きました。

私は生れて始めて『AI技術による廃業』の予感を感じました ―― 最初の犠牲者は、語学教師です。

Copilotでは、ソフト外注が ―― というか、今なお、現場でコーディングをやっている、この私(江端)が、本気でヤバい。

しかし、これ、もしかしたら、良い意味で「ヤバい」かもしれません。

ChatGPTやGitHub Copilotと、ガチで語り合えるスキルがあってこそ、彼らを使い倒すことができると思えるからです。

生成AIを使い倒す技能は、場数を踏んできたシニアの方が上手いと思う。

だから、これはチャンスだ ―― と、そう思うことにします、当面の間は。