MIYAMOTO Ryota @pal4de これは「第63回 コンピュータビジョン勉強会」というLT大会の登壇資料の1ページです @tomoaki_teshima さんの「可視化と可視化と可視化とrclone」という発表で、面白くてタメになりました 是非資料全体もご覧ください x.com/tomoaki_teshim… 2025-02-24 17:53:27 Aki Teshima 「OpenCVデバッグ探偵記」BOOTHで販売中 @tomoaki_teshima Visualize, Visualize, Visualize and rclone speakerdeck.com/tomoaki0705/vi… 第63回 コンピュータビジョン勉強会@関東 コンピュータビジョンでこんなプログラム作りました大LT大会5 のスライドをアップロードしました。 #cvsaisentan (はずい・
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第1回の記事「C++でOpenCV完全入門!」です。 第2回の「OpenCVをNPPにした結果→10倍高速に!」、第3回の「詳解V4L2 (video for linux 2)」もぜひご覧ください! はじめに こんにちは。完全自動運転EVを開発するベンチャー企業、TURING株式会社でインターンをしている東大工学部3年の井上信多郎です。 我々人類は、車を運転するにあたって多くの情報を目から取り入れています。目から取り入れた情報を元に、アクセル・ブレーキ・ハンドルを操作しています。 自動運転の場合、その目に相当するセンサがカメラであり、カメラから得た情報を元に車を運転することになります。カメラから得る情報とは、ずばり画像です。画像の中から信号、標識、前方車両などの必要なもの
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を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バックエンドで動かすことができるようにな
この記事は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
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第3回の記事「詳解V4L2 (video for linux2)」です。 第1回の「C++でOpenCV完全入門!」、第2回の「OpenCVをNPPにした結果→10倍高速に!」もぜひご覧ください! はじめに こんにちは。TURING株式会社(以下、TURING)で、インターンをしている東大B3の中村です。 TURINGは、完全自動運転EVを作ることを目的に設立されたベンチャー企業です。自動運転システムとそれを搭載したEV車の開発を行っています。 TURINGの自動運転システムは、カメラからの映像入力を肝としています。これまではOpenCVを入力のインターフェイスとして利用していました。OpenCVを使用していたのは、 buildや使用法についての情報が多い コードが簡単に
R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超解像に限らず、文字が一定サイズ以上になるような前処理 -> OCR解析 を実施すると、OCR精度改善につながることがある 超解像による見た目の滑らかさに比例して、OCR精度改善につながるわけではない 低計算コストな画像拡大から超解像に変更する恩恵は発生しにくい テスト条件を変えた場合、違った結果になる可能性あり(用いるOCRエンジン、画像の劣化条件、OpenCV未提供の後発モデル利用など) 実験内容 利用するOCRエンジンの実行条件は変えずに、前処理部分のみ変更した場合のOCR精度・速度変化を調べま
こんにちは、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.検査する内容 今回トライするのは、「樹脂成型部品のショートショットの検出」です。ショートショットと言うのは、樹脂の射出
はじめに 趣味でノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」を作りました。 その紹介の記事です。中身にOpenCVガッツリ使っているからアドカレOKですよね。。。👀? ガッツリ使っているという意味では、GUI部分の DearPyGui のほうがガッツリ使っているかもしれませんが🤔 「Image-Processing-Node-Editor」とは 以下のように、ノードを接続していくことで、処理結果を可視化しながら画像処理が行えるツールです。 以下のような特徴があります。 主要な処理は全てPython ※ライブラリ部分除く 各処理を可視化しながら画像処理が試せる 自作ノードの追加が容易 (だと信じている) 記事書くために見直していましたが、イマイチ複雑ですわ、、、😇 OSS (Apache 2.0ライセンス) デフォルトでいくつかのAI機
はじめに 以前、Zig の Tensorflow Lite のライブラリを使って遊ぶ記事を書いた。 この記事内では、静止画の処理を行うために、STB ライブラリを用いた。 こうなると次は動画の処理を行いたくなるものだ。 ... ならば OpenCV を Zig から使えるようにしようではないか。 OpenCV の C バインディングを作る OpenCV は C++で書かれているので、Zig から関数を呼び出すには C バインディングを作る必要がある。 1から OpenCV の C バインディングを作るのは大変なので、 今回は同じ手法で C バインディングを実装して呼び出している gocv のコードを利用させていただくことにした。 これで、工数の半分以上が省けることになる。 Zig バインディングを作る この記事の執筆中ではまだ完成はしていない。 しかし、Web カメラの画像を取得して文字や
ここ二、三日ずっとプログラムを考えていて pyautoguiを使って、画像認識して クリックするプログラム あるサイトをスクレイピングするのに 今までは単純に要素を find elementで調べてクリックすれば よかったのだが 最近の仕様変更で クリックする対象が #shadow rootの中にネストされてしまい findできなくなってしまったのだ shadowの中から対象の要素を探す方法を ずうっと考えていたのだが それは諦めることにした できないことないような気もするが じゃあどうしたかというと 人間がその、オブジェクトを探してクリック するという挙動をプログラムにするしかないと そこで思いついたのが pyautoguiで 対象の画像をスクショして ペイントでトリミングして それをデスクトップに保存しておく pythonも一応3.10までバージョンアップし pyautoguiに必要な
DonutはOCRを使わないend-to-endの文書理解モデルです。 Vision Encoder Decoder Modelになっており、OCRエンジンに依存せずに視覚的な文書分類や情報抽出を高い精度で行うことができます。 Donutは日本語を含む4言語で学習されたモデルnaver-clova-ix/donut-baseが公開されており、日本語で何かしたいときにファインチューニングして使えそうだなと思っていました。 今回、AIキャラクターと一緒にノベルゲームをプレイするために、ノベルゲーム風画面の合成データセットでdonut-baseをファインチューニングしました。 以下を目標として作成しました。 <unk>になる漢字をvocabに追加して学習する 選択肢、名前、メッセージを別々に認識し、jsonを出力する SKIP、LOADなどのUIの文字、日付表示などを読み取らない ルビを無視する
はじめに 異常検知AIソフトウェア・クラウドサービスを提供しているアダコテックでエンジニアをしているshin-ueです! 今回は、弊社内で保有する電子部品を撮像した画像データに対して、異常検知を実施してみます。 そもそも異常検知って? 異常検知における異常とは、みなさん何を思い浮かべますか? 例えば、毎日休まず周期的な信号を出力してくれるシステムが一家に一台あったとします。 機械とよくケンカする僕みたいな人間は「ほんとうに周期的な信号だしてるのか!?」と疑いをかけてモニタリングしてしまいます。 t=9~11の出力値がいつもと違う変化をしているぞ・・・不良品だコイツこのやろう!(過激派) という感じで、「いつもの正常状態とは異なる状態」を異常と表現しています。 定期的に状態を監視し異常傾向を予兆してあげたり、異常状態を検出するような仕組みを作成し、異常発生したら関連システムにアラート信号を送
皆さん、突然ですが上の画像をご覧ください。 (画像引用:OpenCV公式サイトより) これは、画像認識技術の応用例の一つです。コンピューターが映像の範囲内で移動する複数の人間を検知し、その移動をリアルタイムで追跡している様子が見て取れます。かなりの数の人がいるにも関わらず、ほとんどの人を正確に検出することができていますね。画像認識とは、このように画像の数値情報のパターンから写っている物体を認識する手法のことを指します。(本稿で度々登場する物体検出という用語も画像認識と同様の意味を持つと考えていいでしょう。) また、これは画像認識の例ですが、高精度の画像認識を行うために必要不可欠なのが画像処理の技術です。画像処理とは、コンピュータを用いて画像に対して行う、色を変換したり変形させたり、ぼかしたりするなどの処理全般を指します。画像処理を行うことで、コンピュータが画像内の物体を認識しやすくなります
初めに 皆さん初めましてmosyoryです。 画像処理に興味はあるがどうやってやるのかわからない、そんな方もいるのではないでしょうか。 本記事ではWindows・Macの環境でPythonとOpenCVを使ってちょっとした画像処理の方法を紹介したいと思います。関数等の詳細な解説は行っていないので予めご了承ください。 初めに OpenCVとは OpenCVのインストール Windows Mac pipでインストールできない 基本操作 読み込み 表示 保存 画像処理 色空間の変換 二値化処理 輪郭検出 輪郭描画 終わりに 参考サイト OpenCVとは OpenCV(Open Source Computer Vision Library)とはオープンソースコンピュータ・ビジョン・ライブラリです。 画像処理や汎用的な数学処理、機械学習に関するアルゴリズムが多数含まれています。 C+、Python、
こんにちは、CX事業本部 IoT事業部の若槻です。 今までOpenCVはPythonで使うものというイメージが強かったのですが、OpenCVのJavaScript実装であるOpenCV.jsなるものもあるみたいです。 OpenCV.js 今回は、OpenCV.jsをJavaScriptおよびNode.jsで使ってみました。 やってみた OpenCV.jsの導入 まず準備としてOpenCV.jsの導入を行います。 下記よりOpenCVのソース(opencv-{VERSION_NUMBER}-docs.zip)の最新版をダウンロードします。 Releases · opencv/opencv 解凍したソース内に含まれるopencv.jsを作業パスにコピーします。 JavaScriptで使ってみる こちらのチュートリアルを参考に、OpenCV.jsをJavaScriptで使ってみます。 OpenC
プログラミングの基礎が学べるTellusオンライン講座に新たな教材を追加 〜Pythonを用いたOpenCV基礎と衛星データ解析が無料で学習可能〜 インターネットインフラサービスを提供するさくらインターネット株式会社(本社:大阪府大阪市、代表取締役社長:田中 邦裕)が経済産業省事業として開発・運用する衛星データプラットフォーム「Tellus(テルース)」は、プログラミングの基礎が学べるオンライン講座「初心者向け Tellus学習コース」において、Pythonを用いて学ぶOpenCV基礎と衛星データ解析に関する新たな教材を追加し、無料提供します。 「Tellus」では2019年から、より多くの方に「Tellus」をご活用いただけるよう学習支援の一環として、プログラミングの基礎が学べるeラーニング講座「初心者向けTellus 学習コース」を期間限定・抽選登録制で無料提供を始めました。2020年
マルチコアCPU/GPU/FPGAを用いた高速化技術のグローバルリーダーである株式会社フィックスターズ(東証1部: 3687、代表取締役社長 CEO: 三木 聡)は、同社が開発した視差計算のオープンソースソフトウェア(OSS)「libSGM」が、コンピュータビジョン向けOSSライブラリ「OpenCV」に正式実装されたことをお知らせします。ステレオカメラの画像から視差計算をするlibSGMは、複雑化・高度化する自動運転システムの前方注視能力の向上など様々な用途に活用が期待されています。推定1800万ダウンロードを超えるOpenCVに採用されたことで、コミュニティを通じて世界中のデベロッパーにlibSGMを活用いただきやすくなりました。 OpenCV(https://opencv.org/)にフィックスターズのlibSGMが実装された libSGMとOpenCV libSGMは、Semi-Gl
<video id="player" controls playsinline muted autoplay></video> <script> const player = document.getElementById('player'); const constraints = { video: true, }; navigator.mediaDevices.getUserMedia(constraints) .then((stream) => { player.srcObject = stream; }); </script> <!DOCTYPE html> <html> <body> <video id="player" controls playsinline muted autoplay></video> <button id="capture">Capture</butto
・2020/06/27 【2020年】Jetson Xavier NX 開発者キットが安かったので衝動買いした件、標準販売価格5万円が4万4千円! 【ザビエル元年】Jetson Xavier NX 開発者キットを最安値で購入で、しかも国内在庫で注文から翌日で到着、ザビエル開封レビュー ・2019/03/20 NVIDIA Jetson Nano 開発者キットを買ってみた。メモリ容量 4GB LPDDR4 RAM Jetson Nanoで TensorFlow PyTorch Caffe/Caffe2 Keras MXNet等を GPUパワーで超高速で動かす! ● Jetson Nano、Jetson Xavier NXの便利スクリプト 対応環境 Jetson Nano Jetson Xavier NX 2021/02 JetPack 4.5.1 PR Production Release
はじめにこの記事は春の入門ブログ連載20236日目です。 新卒未経験でIT業界に飛び込んではや一年。だんだんと普段使うJavaに関しては余裕が出てきたところで他の言語にも手を出そうと思い、以前から気になっていた画像処理にチャレンジしました。 普段はコーディングしてもテストがうまくいく or いかないのどちらかでしか成果物を見ることができなかったので、視覚的に動いてる! を感じてみたく、新宿の紀伊國屋で分かりやすそうな書籍を買い、いろいろ試したので同じように画像処理にちょっと興味があるような人に読んでいてもらたらうれしいです(入門編ということでセットアップなどに具体的に触れるよりも、いじっていみた面白さを伝える方に寄せています) 参考書籍:実践 OpenCV 4 for Python 画像映像情報処理と機械学習 実際にPythonで画像処理を体験した感想「めっちゃ簡単なのにめっちゃ楽しいじゃ
OpenCVを使えば、次のように画像を切り抜くことが可能です。 一般的には、台形補正・射影変換(透視変換)とも言われます。 個人的には、台形補正という表現がわかりやすいと思います。 以下では、台形補正で呼び名を統一します。 この記事では、OpenCVによる台形補正のやり方を解説しています。 本記事の内容 OpenCVで台形補正を行うための環境【サンプルコード】OpenCVによる台形補正実例で比率調整を行う それでは、上記に沿って解説していきます。 OpenCVで台形補正を行うための環境 この記事では、PythonでOpenCVを利用しています。 そして、OpenCVのインストールに関しては、次の記事を参考にしてください。
カフェチームの山本です。 前回の記事では、クラウド上で動画を処理するために、エッジデバイスから動画ファイルを送信する方法として、Pythonのプログラムを実装しました。(ここでは、予め動画ファイルが作成されていることが前提となっていました) 【Kinesis Video Streams】Pythonで動画ファイルを送信する 今回は、カメラで撮影した映像をすぐに送信するケースを考えます。送信する動画ファイルを作成するまでの時間(遅延)を短縮するために、撮影した画像をリアルタイムにエンコードする方法を調べました。この記事では、FFmpegを使用する方法を記載します。 実装したコード 早速結論ですが、以下のようなコードを実装することで、リアルタイムにエンコードできました。 video_writer.py from enum import Enum def video_filepath(devic
じゅん@4/19XRミーティング北海道エリアのお世話 10/22💉5 @jun_mh4g 8か月ぶりのMediapipe活用ハンズオンかな('ω') あんまり分かってないのでまた勉強する('ω')// AI x OpenCV x WebXR: Selfie Segmentationを使ってみよう xr-fukuoka.connpass.com/event/223467/ #AR_Fukuoka 2021-08-29 19:01:11
Python, OpenCVを使って画像にモザイク処理を行う。 画像全体にモザイク処理 画像の一部をモザイク処理 顔検出して顔部分にモザイク処理 徐々にモザイクがかかるGIFアニメ作成 についてサンプルコードとともに説明する。 画像全体にモザイク処理 モザイク処理といっても複雑なアルゴリズムは必要なく、画像を一旦縮小してから拡大して元のサイズに戻すだけでOK。 以下のように実現できる。 import cv2 src = cv2.imread('data/src/lena.jpg') def mosaic(src, ratio=0.1): small = cv2.resize(src, None, fx=ratio, fy=ratio, interpolation=cv2.INTER_NEAREST) return cv2.resize(small, src.shape[:2][::-1],
UnityでOpenCVを使いたい場合には「OpenCV for Unity」と「OpenCV plus Unity」の2種類のアセットがあります。OpenCV for Unityは有償($104)でメンテナンスもこまめに行われている一方、APIが独特でpythonやC++のOpenCVに慣れている人には少し使いにくいイメージです。 一方、OpenCV plus Unityは オープンソースのOpenCVSharpをUnity用にカスタムした無償のアセットです。APIの形式も他言語のものと似ていて比較的使いやすいため、この記事ではOpenCV plus Unityを使ったサンプルを紹介します。 ここで紹介するOpenCVのサンプルは以下のとおりです。 下準備 画像の読み込み グレースケール化 画像を2値化する 画像から輪郭検出する 画像を射影変換する 座標の射影変換 ガウシアンブラーでぼか
仕事でRaspberryPiにOpenCVを使う機会があったのですが、OpenCV公式ページの情報だけではインストールできず、信頼できる情報を見つけるのに苦労したため情報共有したいと思います。 記事の流れ 1.インストールの方法は大きく分けて2通り -非公式のビルド済パッケージ(opencv-python)をインストール -RaspberryPi上で公式のOpenCVをビルドする 2.OpenCVの動作確認 -importできるかどうかを確認 -カメラ読み込みサンプルプログラムによる動作確認 3.OpenCVのライセンスについて -OpenCVは、BCDライセンス -contribモジュールには商用利用できないものが含まれる 環境 ・RaspberryPi4(OS:Raspbian Buster with desktop)に環境構築します。 ・PythonでOpenCVを使うことを前提とし
PythonのOpenCVでは画像をNumPy配列ndarrayとして扱う。NumPyの機能を使うと、2つの画像が完全一致しているか判定したり、差分画像を生成して保存したりできる。 ここでは以下の内容について説明する。 画像が完全に一致しているか判定 差分画像を算出し保存 差分の絶対値 差分0を128とする 差分を二値化 差分が生じている座標を取得 以下のサンプルコードではOpenCVで画像ファイルを読み書きしているが、画像の比較処理自体にはOpenCVの機能は使わない。 画像をNumPy配列ndarrayとして読み込めればOpenCVは必要なく、例えば、Pillowを使うことも可能。以下の記事を参照。ndarrayの処理例なども紹介している。 関連記事: Python, NumPyで画像処理(読み込み、演算、保存) なお、ここでは画素(ピクセル)ごとの単純な差分を考える。圧縮画像などの画
こんにちは。先端技術部、エバンジェリストの黒住です。(2020年10月に、グローバルイノベーションセンターから先端技術部に部署異動しました) 皆さまは、オープンソースのプロジェクトを自分でビルドする機会はあるでしょうか? 私の場合は、独自環境に合わせてカスタマイズしたり、最新環境に対応させるために、独自にオープンソースプロジェクトをビルドする機会がよくあります。 ビルドや動作が保証されている環境ならまだしも、保証の無い最新環境でビルドする場合、1回でビルドが成功する確率は極めて低くなります。そのため、ビルドしてはエラー箇所を修正し、再びビルドしてエラー箇所を修正…という作業を、何回、何十回と繰り返すことも珍しくありません。 そのため、ビルド時間は短いほど良いのですが、実際のオープンソースプロジェクトはビルドに数十分から数時間を要するものもよく見られます。数時間待った上に、ビルドエラーが出る
この記事ではRaspberry Piに接続したカメラの映像をストリーミング配信して、その映像をMacやPCで受け取る方法を紹介します。 Raspberry Piからのストリーミング映像はブラウザでも受け取れますが、ここではOpenCVで受け取る方法も合わせて紹介します。 Raspberry Piでストリーミング配信する Raspberry Piに接続したカメラからストリーミング配信するにはmjpg-streamerを使用します。mjpg-streamerのインストール方法は次の記事のとおりです。 qiita.com インストールのコマンドだけこちらにまとめておきます。 $ sudo apt-get install -y cmake libv4l-dev libjpeg-dev imagemagick $ git clone https://github.com/jacksonliam/mj
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く