OpenCVを使用してPythonで画像内のオブジェクト(物体)の数をカウントしてみます。 画像内のオブジェクト(物体)を見つけるために、外形が必要となります。外形を見つけるためには、外部輪郭が必要となり、これは画像の最も外側のエッジです。外部輪郭を見つけることで、画像内のオブジェクト(物体)が区別されます。 OpenCVモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。 ■Python 今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10) ■画像を用意するOpenCVモジュールを使用してPythonで画像内のオブジェクト(物体)の数をカウントする前に、オブジェクト(物体)が表示されている画像を用意します。 今回は「square_sample.png」という4つのオブジェクト(物体)が表示されている画像を
この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第3回の記事「詳解V4L2 (video for linux2)」です。 第1回の「C++でOpenCV完全入門!」、第2回の「OpenCVをNPPにした結果→10倍高速に!」もぜひご覧ください! はじめに こんにちは。TURING株式会社(以下、TURING)で、インターンをしている東大B3の中村です。 TURINGは、完全自動運転EVを作ることを目的に設立されたベンチャー企業です。自動運転システムとそれを搭載したEV車の開発を行っています。 TURINGの自動運転システムは、カメラからの映像入力を肝としています。これまではOpenCVを入力のインターフェイスとして利用していました。OpenCVを使用していたのは、 buildや使用法についての情報が多い コードが簡単に
この記事はOpenCV Advent Calendar 2022の11日目の記事です。 1. はじめに OpenCVのvideoioモジュールはいくつかのbackendを用意しています。このbackendの一つにFFmpegがあります。https://docs.opencv.org/4.6.0/d0/da7/videoio_overview.htmlの「The FFmpeg library」にも OpenCV can use the FFmpeg library (http://ffmpeg.org/) as backend to record, convert and stream audio and video. とあります。また、 FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version
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
・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
この記事はOpenCV Advent Calendar 2020の12日目の記事です。 他の記事は目次にまとめられています。 対象者 以下みたいな作業依頼を受けることのある人。 つまり、デザインに予算はつかないけど、ある程度の工夫を求められるやつ。。。 上長「部内とかで見せるちょっとしたデモをパパッと作って欲しい」 高橋「デザインは○○さんか、△△社さんにお願いします?」 ※○○さん:デザイン会社から派遣で来ているデザイナーさん ※△△社:デザイン会社 上長「今回、デザインに出すお金は無い」 高橋「What?」 高橋「それじゃ、見た目は気にしな」 上長「偉い人も見る可能性あるからソレっぽくしといてもらわないと困る」 高橋「短い間ですが、お世話になりました」 Flaskとか立てて、UI作る人とデザイナーと役割分担出来るようなプロジェクトは対象外 はじめに OpenCVとかPillowで出来る
全体像 全体としてはこんな感じです。レンズを通して顔の像を作るところは光学の世界、センサ面に結像された像を読み取る電子の世界。そして、センサと PC の橋渡しを USB で行う通信の世界、受け取ったフレームを処理するソフトウエアの世界、という流れで説明していきます。 物理(光学)の世界~一眼とWebカメラ(とスマホ)の違い~ 一番大きな違いは設計思想そのものです。レンズとセンサの大きさ、撮影設定などの柔軟性などに現れています。 一眼レフ:でっかいレンズ × でっかいセンサ = つよい Web カメラ:写ってればいいでしょレベル~産業用レベル スマホ:目的ごとに複数のカメラモジュールを用意したりソフトで後処理したり。ともかく小さく薄く。 光学の世界で大事なことを一つだけ(機種選択の基準として) ピント合わせ の方式はどうなっているか? マニュアルフォーカス → 自分でリング回す:ピント合わせ
業務でOpenCV.jsを使用していたのですが、OpenCV.jsのドキュメントや記事って結構少ない印象です。 なのでOpenCV(C++)のドキュメントや、OpenCV.jsのモジュールをconsole.logしたりして何を、どのように使えばいいのだろうかと試行錯誤しながら使っていました。 使い方がわかった関数は業務で使いやすいようにTypeScriptでラップして使用していましたが、OpenCV.jsのドキュメント、記事、実際に動くコードがもっと充実していればさらに使い勝手がよくなるのではと思いました。 そこで、業務が終わった後、環境構築が不要で、コードの再利用が可能で、ドキュメントが充実している、そんな状態を夢見ながら、誰でもブラウザでOpenCV.jsを試せるOpenCV.js Playgroundを作ってみました。 OpenCV.js is very convenient, bu
<経緯> 機械学習の教師データを作成するためにアノテーションを行う必要ができました。 そのために静止画が大量に必要になり、動画から静止画を切り出すことにしました。 はじめは動画から静止画を抽出するツールを使用して手作業で行っていましたが、 その作業が面倒であったので、自動化することにしました。 <手順> opeCVのインストール 動画の読み込み 単位フレーム毎に静止画を切り出す 静止画サイズを再調整する opeCVのインストール 今回はwindows+anacondaで行いましたので、anacondaプロンプトで C:Users\user\conda install -c conda-forge opencv コマンドでインストールできました。 基本的には全自動でできますが、時間は2時間程度かかりました。 実際に動かすために少しだけPythonでの記述が必要です。 <コード> ラプラシアン
手っ取り早く、やられたシーンを抽出したい人向け OBSと連携するWebアプリを作成しました 詳細はこちらの記事をご参照ください。 スプラトゥーン3で、やられたシーンをOBSのリプレイバッファで自動保存する 以前のWebアプリ スプラトゥーン2 やられたシーン自動頭出しツール「iKut」 Dockerイメージ こちらでDockerイメージを配布しています。 はじめに スプラトゥーン2を発売日からやりこんで3年になります。2年かけて全ルールがウデマエXに到達しましたが、そこからXパワーが上がらずウデマエX最底辺で停滞しています。最近は自分のプレイ動画を見て対策を立てるのですが、すべての動画を見るのは大変です。そこで敵にやられたシーンは特に修正すべき自分の弱点があると考え、そこだけを自動で抽出するシステムを作ってみました。 ↑このシーンを切り出します。 画像の引用 この記事では任天堂株式会社のゲ
特徴点マッチングて? こんなやつ。 400x400px の画像と、それを 200x200px にリサイズし回転させたものを特徴点を検出しマッチングさせています。 コード 上の画像を出力しているコードです。 これだけ。 import cv2 from IPython.display import Image from IPython.display import display # 画像読み込み img1 = cv2.imread('/path/to/dir/megane400x400.png') img2 = cv2.imread('/path/to/dir/megane200x200_rotate.png') # 特徴点検出 akaze = cv2.AKAZE_create() kp1, des1 = akaze.detectAndCompute(img1, None) kp2, des
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く