Kuwahara filterとかいう明らかに日本人の名前な画像フィルターに出会い、試してみたらすごかったので紹介する。Python画像処理画像加工フィルター 6/15追記 あとがきの提案について書きました 写真表現としての桑原フィルターの提案 #はじめに Kuwahara filter(桑原フィルター)とは 桑原フィルターは桑原道義さんという大学教授(Wikipedia曰く)が考案した平滑化フィルターの一種で、内容のシンプルさに反して上手いことかけるとまるで油絵のようになる、なんだかすごいフィルターであーる(先に結果が見たい方は記事の一番下を覗いてみよう) Kuwahara filter -Wikipedia SPECT用データ処理 (元論文?) #桑原フィルターの内容 https://upload.wikimedia.org/wikipedia/commons/4/49/Kuwahar
概要 pythonからOpenCVのテンプレートマッチ及びGUI操作モジュールを使うことで、 webブラウザ上の麻雀牌をBOTに認識・クリック操作させることができ、プレイの自動化ができました。 また、どの麻雀牌をクリックするかのロジック部分には機械学習を用いました。 テンプレートマッチの探索用画像を差し替えれば雀魂に限らず他の麻雀ゲーム全般で利用可能であり、機械学習の部分を変えれば、特定条件下で合理的選択を繰り返し求められるようなゲーム全般で応用が可能です。 ※内容理解の一助とするために記事内随所に雀魂のゲーム内画像を利用していますが、著作権保護等の観点から強いボカシを入れています。 対象読者 (麻雀が好きで)機械学習を触ってみたい人 WindowsやGUI操作の自動化に興味があるけどOpenCVって何だろうって人 雀魂は好きだけど試練イベント走るのがマジ試練すぎて心が折れた人 過去に大学
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第1回の記事「C++でOpenCV完全入門!」です。 第2回の「OpenCVをNPPにした結果→10倍高速に!」、第3回の「詳解V4L2 (video for linux 2)」もぜひご覧ください! はじめに こんにちは。完全自動運転EVを開発するベンチャー企業、TURING株式会社でインターンをしている東大工学部3年の井上信多郎です。 我々人類は、車を運転するにあたって多くの情報を目から取り入れています。目から取り入れた情報を元に、アクセル・ブレーキ・ハンドルを操作しています。 自動運転の場合、その目に相当するセンサがカメラであり、カメラから得た情報を元に車を運転することになります。カメラから得る情報とは、ずばり画像です。画像の中から信号、標識、前方車両などの必要なもの
Raspberry Pi Advent Calendar 2019 | 5日目 長男くんがハエトリソウがハエを食べるところが見てみたいというので、ラズパイカメラで監視して捕食の瞬間を動画におさめるシステムを製作しました。 また こういったIoTシステムで一番問題となる電源の確保をソーラ発電によるエコエネルギーで実施したく同時にシステムに導入しました。 システム概要 システムはベランダに配置してラズパイカメラでハエトリソウを撮影しハエトリソウに虫を捕食するなどの動きがあるとその前後の動画を生成し、IFTTTを用いてケータイ端末に通知します。 電源はソーラパネルを使用して完全に自立したシステムとなります。 構成 ソーラパネルと鉛蓄電池をチャージコントローラに接続します。コントローラが出力する12Vをコンバータで5Vに変換してUSBコネクタで出力します。 負荷としてラズパイZero&ラズパイカメ
要約 Electron + Vue.js で、OpenCVをビジュアルプログラミング的に実行できるアプリ(仮称: OpenCVFlow)を自分の勉強がてら作ってみました。 上の動画のように、画像処理を定義したブロックを並べ、それをリンクでつなげることで、処理を順次実行して結果を確認、保存することができます。機能としてはそれほど多くなく、実用まではいかないかもしれませんが、なにか参考になれば幸いです。(個人的には、ElectronやVue.jsを本格的に使用するのは初めてでしたが、それなりに動くものが作れて満足しています。) 採用技術 アプリケーションエンジン: Electron フロントエンドフレームワーク: Vue.js UIフレームワーク: Photon OpenCVライブラリ: opencv4nodejs デザインパターン: アトミックデザイン アトミックデザインについて 今回は、U
import cv2 img = cv2.imread('test.jpg') (await winocr.recognize_cv2(img, 'ja')).text pip install jupyterlab jupyter_http_over_ws jupyter serverextension enable --py jupyter_http_over_ws jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --ip=0.0.0.0 --port=8888 --NotebookApp.port_retries=0
はじめに 先日、ポケモンたかさおじさんこと、生㌔Pのブログにて次のような記事が投稿された。 ポケモンらしさ-2_意見分析 マスコット感検証 https://pkmnheight.blogspot.com/2020/04/2.html ざっくり引用すると、以前バズってた以下の海外の分析画像を、転載したTweetがあった。 ポケモンのデザインはどんどん生物的じゃなくなって行ってて、色んな部位が丸みを帯びてただの可愛いマスコットキャラクターと化してるっていう海外の分析画像が凄い pic.twitter.com/qHHVaHzEue — Χ十 ◤カイジュー◢(⃔ *`꒳´ * )⃕↝♡ (@KaijuXO) June 13, 2019 このTweetに対して、ポケモンたかさおじさんが 猛撃 していたというものである。 ざっっっくり要約すると、各世代ごとに幼虫・昆虫ごとに部位をピックアップし、 そう
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第2回の記事「OpenCVをNPPにした結果→10倍高速に!」です。 第1回の「C++でOpenCV完全入門!」、第3回の「詳解V4L2 (video for linux 2)」もぜひご覧ください! はじめに TURINGで働いている木更津高専の越智です。TURINGでは「We Overtake Tesla」を目標に掲げて、完全自動運転EVの開発・製造を行っています。 TURINGでは、社内で使っている自動運転ソフトウェアにおいて、画像処理部分のライブラリをOpenCVからNVIDIA Performance Primitives(NPP)に変更するプロジェクトに取り組んでいました。これによって、CPUで動かしていた画像処理をGPUバックエンドで動かすことができるようにな
「Raspberry Pi Advent Calendar 2019」の3日目記事です。 ラズパイ5・最新OSでのセットアップ記事を追記しました 最新のラズパイ5や最新OSでの環境構築は、以下記事も合わせて参照ください。 ラズパイ4を入手しました ラズパイ4を入手しました。色々事情があり、ポケットに入れて叩いたら2台に増えてしまいました。 ラズパイ4が2つ 手に入ったものは仕方ないので、恒例のセットアップと洒落込みたいと思います。ラズパイ4からラズパイ始める人もいるかもしれませんしね。そして今までラズパイ使っていたユーザーとして、4でCPU・メモリが大幅にスペックアップしているので、せっかくならそれらを体感できて役に立ちそうなアプリを動かしてみることにしました。 というわけで、ほどよく処理が重く、役に立ちそう(?)なディープラーニングを使った画像認識(正確には物体検出)を試したいと思います
この記事はOpenCV Advent Calendar 2021の 23 日目の記事です。 はじめに 3 日目の記事で紹介されているように、OpenCV 4.5.4 では新しく顔検出/顔認識の API が実装されました。この記事ではこの顔検出 API をブラウザから呼んでみることにします。ブラウザから呼び出すにあたって、先にきちんとパフォーマンスを確認して使用する解像度を決めます。更に高速化のために SIMD とマルチスレッドを使った OpenCV の Wasm バイナリを作ります。その後、実用的な環境を想定して React のフロントエンドから呼び出すようにしてみます。ついでに WebRTC で実際に加工した画像が送信できることのデモまで行います。 OpenCV.js での新機能の扱い OpenCV.js で JavaScript から呼び出せる機能はホワイトリスト形式になっており、ビル
OpenCV-Python Is Now An Official OpenCV Project OpenCV Library February 14, 2021 Leave a Comment News Uncategorized Good news, everyone! OpenCV.org is pleased to announce that the popular and long-running package OpenCV-Python is now an official OpenCV project. What is OpenCV-Python? It’s a package that contains pre-built OpenCV with dependencies and Python bindings, so there’s no need to install
手っ取り早く、やられたシーンを抽出したい人向け OBSと連携するWebアプリを作成しました 詳細はこちらの記事をご参照ください。 スプラトゥーン3で、やられたシーンをOBSのリプレイバッファで自動保存する 以前のWebアプリ スプラトゥーン2 やられたシーン自動頭出しツール「iKut」 Dockerイメージ こちらでDockerイメージを配布しています。 はじめに スプラトゥーン2を発売日からやりこんで3年になります。2年かけて全ルールがウデマエXに到達しましたが、そこからXパワーが上がらずウデマエX最底辺で停滞しています。最近は自分のプレイ動画を見て対策を立てるのですが、すべての動画を見るのは大変です。そこで敵にやられたシーンは特に修正すべき自分の弱点があると考え、そこだけを自動で抽出するシステムを作ってみました。 ↑このシーンを切り出します。 画像の引用 この記事では任天堂株式会社のゲ
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第3回の記事「詳解V4L2 (video for linux2)」です。 第1回の「C++でOpenCV完全入門!」、第2回の「OpenCVをNPPにした結果→10倍高速に!」もぜひご覧ください! はじめに こんにちは。TURING株式会社(以下、TURING)で、インターンをしている東大B3の中村です。 TURINGは、完全自動運転EVを作ることを目的に設立されたベンチャー企業です。自動運転システムとそれを搭載したEV車の開発を行っています。 TURINGの自動運転システムは、カメラからの映像入力を肝としています。これまではOpenCVを入力のインターフェイスとして利用していました。OpenCVを使用していたのは、 buildや使用法についての情報が多い コードが簡単に
初心者向けTellus学習コース 本教材は2020年度に提供した教材のため、Tellusの画面やAPIが現在の仕様と異なっている部分がありますのでご注意ください。 2018年度にリリースした衛星データをクラウド上で分析できる日本発の衛星データプラットフォーム「Tellus」は、2019年度にTellusをより多くの方にご活用いただけるようeラーニング講座を応募者への抽選登録制で提供してまいりましたが、2020年3月から、プログラミングと機械学習の基礎が学習できる「Tellus Trainer」と「初心者向け Tellus 学習コース」の2つのeラーニング講座を公開制限なしで提供することとなりました。 本教材「Tellus初心者向け学習コース」では、Python初心者向け教材となる基礎編と、Pythonで学ぶ実践的な衛星データ解析となる地理空間情報解析編(応用編)に分かれます。 基礎編では、
R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超解像に限らず、文字が一定サイズ以上になるような前処理 -> OCR解析 を実施すると、OCR精度改善につながることがある 超解像による見た目の滑らかさに比例して、OCR精度改善につながるわけではない 低計算コストな画像拡大から超解像に変更する恩恵は発生しにくい テスト条件を変えた場合、違った結果になる可能性あり(用いるOCRエンジン、画像の劣化条件、OpenCV未提供の後発モデル利用など) 実験内容 利用するOCRエンジンの実行条件は変えずに、前処理部分のみ変更した場合のOCR精度・速度変化を調べま
幾何形状マッチングはOpenCVには非実装だったため、自動的に候補から除外されます。個人的にはかなり便利なマッチング方式だと思うので、実装してほしいんですけどね…。 次に、形状変化への強さは特徴点マッチングが優秀です。 テンプレートマッチングと幾何形状マッチングは、マッチングの元画像と対象画像が拡大・縮小・回転を用いて一致するものしか対応できません。 一方の特徴点マッチングは、拡大・縮小・回転に加え、せん断・歪みまで対応できます。冒頭にもあるように斜めから見た画像(=歪み変形した画像)同士を比較したいので、特徴点マッチングを採用しました。 ちなみに、拡大・縮小・回転・せん断が可能で、更に移動を実現できる変形をアフィン変換(変形)、このアフィン変換に歪み変形を加えたものを射影変換(変形)と呼びます。 画像の多くの箇所が同時に色味の変化を起こすことはないだろうと予想し、特徴点マッチングで問題な
AI時代に必要な画像処理の本 今や猫も杓子もAIだディープラーニングだと言われる時代です。特に画像認識だと、とりあえずAIでしょ!みたいな感じはありますが、やはりそのバックグラウンドにある基本的な画像処理は重要なのではないかなと思う今日この頃です。 そんなことを思ったのは、Interface誌2020年7月号の画像処理特集が良かったからです。 Interface(インターフェース) 2020年 07 月号 CQ出版Amazon 気づいている人は気づいていると思うのですが、Interface誌の画像処理特集は毎年の恒例行事です(笑)正直、内容も同じような感じなので(めちゃくちゃ失礼)、今年は買わなくても良いかなと思っていたのですが、YouTube時代の画像処理特集にあった写真の、筆者の身体の張り具合をみて思わず手を出してしまいました。 Interface誌より引用。話題のFaceAppなんて
こんにちは、CX事業本部 IoT事業部の若槻です。 前回のエントリではOpenCV(Python)のHigh-level GUIを使用して画像をウィンドウで開いてみました。 OpenCV(Python)で画像をウィンドウで開いたり閉じたりする | DevelopersIO 今回は、OpenCVPython)でTemplate Matchingを使用して画像内の検索(物体検出)をしてみました。 環境 $ sw_vers ProductName: macOS ProductVersion: 11.6 BuildVersion: 20G165 $ python Python 3.9.6 (default, Jun 29 2021, 06:20:32) [Clang 12.0.0 (clang-1200.0.32.29)] on darwin Type "help", "copyright", "
1.はじめに 今回のタスクはRaspberry PiとUSBカメラを使って画像処理による外観検査装置を作ることです。 いわゆる外観検査装置には様々な専門メーカーが非常に多機能な装置を提供しており入手も簡単ですが、高価すぎてコストメリットが出しにくいケースもあるかと思います。 ちなみにみんな大好き○ーエンスさんの外観検査装置は、カメラ+コントローラー+照明でざっくり150万円くらいしますが、今回は照明無し、カメラ(USBカメラ)+コントローラー(Raspberry Pi 4B 4GB)の計1万円強でやってみます。 外観検査をする際は撮影環境の設定がとても重要です。 前編ではv4l2によるカメラのパラメータ設定を行います。 後編では実際に検査を行うプログラムを解説します。 2.検査する内容 今回トライするのは、「樹脂成型部品のショートショットの検出」です。ショートショットと言うのは、樹脂の射出
ディープラーニングを使わない顔認識 Githubで公開されている「Face-Detection-OpenCV」を実行し、OpenCVでの顔認識の限界を探ってみました。 このコードには、OpenCV(オープンシーヴィ)による、「非ディープラーニングの顔認識のテスト用コード」がまとまっています。 赤ちゃんのグレイ表示/顔認識テスト3人の赤ちゃんの顔認識テスト顔認識精度をパラメータ調整で向上させた例LBP方式の顔認識テストHaar方式とLBP方式の比較最終的にHaar方式、LBP方式という2種類の顔認識を比較しています。 Haar方式については、認識速度が遅く、壁に貼ったポスターの顔まで「顔」と認識してしまいました。 しかし、LBP方式は、実際の人間の顔のみキレイに認識出来た上、認識にかかる時間が1/3以下。 ここだけ見ると、「ああ、Haar方式って良いところないんだな。使わないようにしよう…」
機械学習用の画像の前処理方法を調べたのを書いていきます。 中途半端な内容ですが、今後書き足していくと思います。 試行環境 Windows10 python 3.6 opencv-python 4.1.2.30 閾値処理: cv.Threshold(src, threshold, maxValue, thresholdType) opencvドキュメント http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html 閾値を指定して二値化 適当なグラデーション画像を作って二値化してみます # make gray scale picture im_gray = np.array([np.arange(0, 256
以前、Keras+Tensorflowで学習したモデルをOpenCVで推論に使用する方法について解説したことがありました。 run Keras model on opencv from Takuya Minagawa www.slideshare.net OpenCVにはDNNモジュールという畳み込みニューラルネットワークを使用するための機能があります。ただこれは主に推論用で、学習のためには別のディープラーニングフレームワークで作成したモデルを別途読み込む必要があります。 OpenCVはTensorflowやCaffe等いくつかのフレームワークをサポートしているのですが、前回は初学者にも使いやすいだろうという理由でKears+Tensorflowのモデルを選択しました。なお、OpenCVはTorchはサポートしてますがPyTorchはサポートしてませんでした。 しかしながら、OpenCVは
スプラトゥーン動画解析してみた スプラトゥーンの観戦動画から、プレイヤーの位置情報を解析してみました。 元ネタは、北海道甲子園(?)のイカ自慢コンテストで有名チームの解析を行ってるかたがいて、興味があったので自分もやってみました。 解析結果 INPUTは観戦視点の動画。 OUTPUTは各プレイヤーの位置情報の分布です。 例えばある試合の4人の位置情報は以下でした。 シューターのほうがステージをまんべんなく動いてることが分かりますねー。 ■リッター ■スパッタリー ■プライム ■スクイク 解析方法 こんな感じです ①観戦動画を撮る(地味にハードル高い。説明は割愛) ②動画を白黒変換 ③白黒変換された動画から、各プレイヤー名の画像を抜き出す ④openCVのパターンマッチングで位置情報取得 ⑤④で取得した位置情報の周辺も適当に重みづけして位置情報を画像で出力 ⑥ステージ画像を⑤の画像を合成 解
こちらは ドワンゴ Advent Calendar 2021 4日目の記事です。 はじめに 新型コロナウイルス対策の一環としてテレワークが急速に普及し、今はご自宅でお仕事をされている方も多いのではないでしょうか。 私が働く会社でも、感染対策として昨年2月という比較的早い時期から原則在宅勤務が導入され、昨年7月にその制度が恒久化されました。 さて突然ですが、みなさんの仕事部屋に防球ネットは置いてありますか? 私はあります。(マウント) 仕事部屋です 防球ネットが仕事部屋にあると非常に便利です。仕事で溜まったストレスをいつでも軟式M号球に込めて防球ネットにぶつけて発散することが出来ます。 ただ、仕事部屋の広さは約7帖で、日本の一般的な住宅の1室としては普通の広さかなと思いますが、軟式球を投げるにはあまりに狭過ぎます。 それでも防球ネットは安定して私の投げたボールを受け止めてくれるので素晴らしい
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く