前回、OpenCVを使って画像の回転や二値化などを行って動作確認をしました。 今回はMFCでダイアログベースのアプリケーションを作成し、ピクチャーコントロールにOpenCVで読み込んだ画像を表示させて …
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を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バックエンドで動かすことができるようにな
画像処理の研究を昨年から始めました。その過程で厄介な商用利用の可否について調査したので、これをまとめておきます🐜 (Dlibの商用利用可否はこちらです。) ただし、以下の内容はあくまで私自身の解釈であり、この記事だけを理由に「商用利用OK」と判断することはないようお願いします。 本記事で発生するいかなる損害に関して、一切責任を負いかねます。(更新日:2021年04月26日) 記事作成の動機 商用利用の可否 OpenCV 商用利用不可機能 OpenCV-Python その他注意点 おわりに 記事作成の動機 商用で既存のツールを使用する際には、ライセンスを調査することは、企業の技術者としては当然ですよね。1 いつものように、今回はOpenCVのライセンスを調査したのですが、記事によって主張内容がマチマチでした。 また、これを利用する研究テーマの継続が決定したので、改めて調べ直して整理してみま
やりたいこと クソデカ画像をリサイズしたい。 この画像、実は等倍で読み込むとディスプレイ2枚分くらいの大きさになるので、このままだと非常に困る。 やりかた OpenCVSharp は NuGet から導入できる。(割とアプデが最近だった) とりあえず WPF で作ってみる。ウィンドウ生成時に画像を表示したいので Loaded イベントにラムダ式を使って画像表示用のメソッドを呼び出す形にしてみた。XAML は特に変更せず、コードビハインドだけ実装。ちなみに、そのまま OpenCVSharp を using ディレクティブに追加すると、Windows.Window と OpenCVSharp.Window でクラス名が衝突するので、名前空間を含めてあげないといけない。 using OpenCvSharp; public partial class MainWindow : System.Win
OpenCVで物体検出器を作成する① ~基礎知識~ こんにちは。新入社員のザキヤマです。最近は気温が上がってきて、夜も寝苦しくなってきましたね。。冬が待ち遠しいです!! いきなりですが、OpenCVや物体検出の初心者向けに、 「OpenCVでカスケード分類器を作る際に、知っていると便利かもしれない基礎知識からカスケード分類器作成まで」を全7回に分けて簡単に説明していきます。 それでは、第1回目です。今回はOpenCVの物体検出について導入知識をサクッと説明します。 OpenCVで物体検出器を作成するシリーズ、記事一覧はこちら! OpenCVで物体検出? OpenCVとは、有名な画像処理のライブラリです。その機能の一つに物体検出があります。 顔・眼・鼻・口・上半身などの検出器が用意されていますが、自分でカスケード分類器を作成すれば、好きな物体を検出させることができますよ!! カスケード分類器
この記事はOpenCV Advent Calendar 2021の 23 日目の記事です。 はじめに 3 日目の記事で紹介されているように、OpenCV 4.5.4 では新しく顔検出/顔認識の API が実装されました。この記事ではこの顔検出 API をブラウザから呼んでみることにします。ブラウザから呼び出すにあたって、先にきちんとパフォーマンスを確認して使用する解像度を決めます。更に高速化のために SIMD とマルチスレッドを使った OpenCV の Wasm バイナリを作ります。その後、実用的な環境を想定して React のフロントエンドから呼び出すようにしてみます。ついでに WebRTC で実際に加工した画像が送信できることのデモまで行います。 OpenCV.js での新機能の扱い OpenCV.js で JavaScript から呼び出せる機能はホワイトリスト形式になっており、ビル
R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超解像に限らず、文字が一定サイズ以上になるような前処理 -> OCR解析 を実施すると、OCR精度改善につながることがある 超解像による見た目の滑らかさに比例して、OCR精度改善につながるわけではない 低計算コストな画像拡大から超解像に変更する恩恵は発生しにくい テスト条件を変えた場合、違った結果になる可能性あり(用いるOCRエンジン、画像の劣化条件、OpenCV未提供の後発モデル利用など) 実験内容 利用するOCRエンジンの実行条件は変えずに、前処理部分のみ変更した場合のOCR精度・速度変化を調べま
1 はじめに CX事業本部の平内(SIN)です。 前回、Amazon SageMaker(以下、SageMaker)の物体検出(組み込みアルゴリズム)を、SageMaker Neo(以下、Neo)で最適化して、Jetson Nanoで利用してみました。 今回は、イメージ分類(組み込みアルゴリズム)について、確認してみました。 最初に、動作を確認している様子です。GPUがフルに回っていますが、約0.1秒で推論できています。 2 モデル 使用したモデルは、下記で作成したものです。 17種類の商品を回転台に乗せて動画撮影したデータから、イメージ分類のモデルが作成されています。 3 SageMaker Neo 下記の諸元で、上記のモデルを最適化しています。 ジョブ名: ic-SYOHIN17-jetson-Nano-001(任意です) データ入力値: {"data": [1, 3, 224, 22
やりたいこと 居住しているマンションの玄関に夜な夜な不審者が出没しているようなので、玄関のドアにWEBカメラを取り付けRaspberryPiで解析・記録するシステムを作ってみました。仕様は次の通りです。 画面上に撮影した映像と時刻を表示する 玄関の前に誰かきたら静止画をjpeg形式で記録する 記録した静止画には撮影時刻を埋め込む 誤検知はある程度許容する ※ちなみに、カメラの設置は許可取得済みです。 参考にした記事 最初はパソコン工房さんの記事を参考に顔検知でやろうと思いました、誤検知が多くて今回の用途には適しませんでした。 https://www.pc-koubou.jp/magazine/19205 いろいろ考えた結果、動体検知(撮影している映像に変化があったことを検知)によって実現できそうだな、と思い試行錯誤の結果そこそこ上手く行ったので方法を紹介します。 なお、動体検知のやりかたは
超小型のシングルボードコンピューター「Raspberry Pi」は安価で拡張性も高いのが魅力ですが、実際に外部モジュールなどと連携して使用するためにはプログラムで機器の動作を制御する必要があります。 今回はRaspberry Piにカメラモジュールと画像認識ライブラリー「OpenCV」を用いて、カメラモジュールが捉えた画像から人の顔を判別して動作するプログラムをいくつかご紹介します。 画像認識の流れ 今回はRaspberry Piに接続したカメラモジュールで捉えた画像を「OpenCV」と呼ばれる画像認識ライブラリーを用いて人の顔かどうかを判別します。 「OpenCV(Open Source Computer Vision Library、オープンシーブイ)」はオープンソースの画像認識ライブラリ(プログラムの集まり)で、カメラが捉えた画像の解析、パターン認識による物体検出や機械学習のための画
タイトルの通り、OpenCVSharpを使用して画像の読み取りと、画像の部分的な切り出しを行います。 パッケージと導入方法 今回使用するのはWPFで利用性の高い以下のパッケージを使用します。 github.com VisualStudio上でパッケージマネージャを開いて以下を入力します。バージョンは自機で変わると思うので PM > Install-Package OpenCvSharp3-AnyCPU -Version 3.3.1.20171117 実行例 ちょうどdアニメストアで見ていた怪獣娘のキャプチャを切り抜いてみました。 ps: 上の画像は半分の大きさに縮小表示しています。下の画像は原寸大なのでスケールが違います。 コード XAMLはこんな感じ。普通にスタックパネルにImageコントロールを縦に2つ並べているだけです。 <Window x:Class="OpenCV.MainWin
はじめに これはOpenCV Advent Calendar 2017の13日目の記事となります。 本来はバーコード読み取り精度を高めた上で記事にする予定だったのですが、別の開発の遅れにより13日に間に合わなかったので、それは後々とします。 【2017/12/23追記】14日以降に幾つか分かったことを追記しました。 お仕事でKEYENCEやDENSOなどの専用バーコードスキャナーを使っています。最近は、アスタリスク社のiPod Touchを使ったバーコードスキャナーの提案も受けます。 今回、マイクロソフト Surface Pro 4 の内蔵カメラを使って、バーコードを読めないかという依頼がありました。Surfaceなら持ち歩けるので、その場で読みたい。バーコードスキャナーを一緒に持ち歩きたくない。 QRコード QRコード(Quick Responce Code)は1994年にデンソーウェブ
3. プロジェクトの作成 Visual Studio 2017を起動し、「新規作成」→「新しいプロジェクト」→「Visual C#」→「Windowsフォームアプリケーション」を作成する。 注意点として、ご自身の環境のVisual StudionにC#がインストールされてない場合があります。その場合、Visual Studio InstallerからC#の開発環境をインストールしておく必要があります。 4. OpenCV Sharpのインストール NuGetを利用するのが便利なので、ソリューションエクスプローラーからソリューション名を右クリックし、「NuGetパッケージの管理」を選択。 OpenCVと入力して検索すると、「OpenCvSharp3-AnyCPU.3.4.1.20180319」というパッケージがあるので、インストールを実行する。1~2分するとインストールが完了する。 プロジェ
C#で利用できるOpenCVのラッパーライブラリの「OpenCvSharp」を使ってWebカメラで撮影した画像をWPFに表示したいと思います。 OpenCVを使用すれば数行で実現できるのでとっても簡単に実装できます。 今回使用するOpenCvSharpはバージョンが、3.4.1.20180319で2018年5月30日現在の最新版です。 準備編 外部ライブラリが必要なので、OpenCvSharp3をNuGetから取得します。 まずソリューションエクスプローラー上のプロジェクトから 参照 > NuGet パッケージ管理 を選択します。次に、参照タブにて、OpenCvShapr3 と入力しパッケージを検索します。 そうしたら画像のパッケージを選択してインストールを実行します。 これで準備は完了です。 WPFで画面を作成 一応上部に撮影終了ボタン、下に撮影した画像の表示をする画面を用意します。 画
OpenCVSharpを用いてC#でOpenCVを利用する手順を紹介します。 準備 OpenCVのダウンロードとインストール OpenCVをダウンロードしてインストールします。手順はこちらの記事を参照してください。 OpenCVSharpのダウンロード OpenCVSharpをダウンロードします。こちらのサイトからダウンロードできます。NuGetまたはZipファイルでのダウンロードができます。Zipファイルでダウンロードした際にはファイルを展開しておきます。 アプリケーションの作成 Windowsフォームアプリケーションプロジェクトを新規作成します。 参照設定の追加 ソリューションエクスプローラの[参照設定]ノードを選択し右クリックします。ポップアップメニューが表示されますので[参照の追加]メニューを選択します。 参照マネージャダイアログが表示されます。ダイアログ下部の[参照]ボタンをクリ
OpenCVとは OpenCV(Open Source Computer Vision Library)は、コンピューターで画像や動画を処理するための機能がまとめて実装されている、オープンソースのライブラリです。 機能が豊富すぎてこの記事では紹介しきれません。 「OpenCV-Python Tutorials」というサイトで、様々な機能が紹介されていますので、ぜひ確認してみてください。 なお、OpenCVはPythonに限らず、C++用のインターフェースやJava用のインターフェースが用意されており、これらの言語からも同じ機能を利用できます。 この記事では、Pythonから利用するopencv-pythonだけを紹介します。 opencv-pythonをインストールしよう PythonからOpenCVを利用するには、opencv-pythonライブラリをインストールします。OpenCVは、
前回、高機能な画像動画ライブラリのOpenCVに関して、インストールから簡単な使い方を紹介した。今回は、OpenCVのWebカメラの機能を利用して、自作の監視カメラを作ってみよう。ここでは、留守宅に侵入者があった場合に画像を保存するというものを作ってみよう。 監視カメラを実行したところ - 侵入者があると画像をファイルに保存する Webカメラをセットアップしよう 最近のノートPCには、だいたいWebカメラが付いているので、今回は、これを利用しよう。もし、Webカメラが付いていないとしても、2000円ちょっと出せば、USBのWebカメラが入手できる。そして、OpenCVがインストールされていれば、手軽にWebカメラの画像を取得出来る。OpenCVのインストールについては、前回紹介した。 OpenCVでWebカメラの画像を得るには、以下のようなプログラムを記述すれば良い。以下のプログラムを「c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く