タグ

opencvに関するrichard_rawのブックマーク (24)

  • ノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」 - Qiita

    はじめに 趣味でノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」を作りました。 その紹介の記事です。中身にOpenCVガッツリ使っているからアドカレOKですよね。。。👀? ガッツリ使っているという意味では、GUI部分の DearPyGui のほうがガッツリ使っているかもしれませんが🤔 「Image-Processing-Node-Editor」とは 以下のように、ノードを接続していくことで、処理結果を可視化しながら画像処理が行えるツールです。 以下のような特徴があります。 主要な処理は全てPython ※ライブラリ部分除く 各処理を可視化しながら画像処理が試せる 自作ノードの追加が容易 (だと信じている) 記事書くために見直していましたが、イマイチ複雑ですわ、、、😇 OSS (Apache 2.0ライセンス) デフォルトでいくつかのAI

    ノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」 - Qiita
    richard_raw
    richard_raw 2022/12/23
    おお、OpenCVを触り始めた頃(何年前?)から欲しかったやつだ!
  • Python OpenCV の cv2.imread 及び cv2.imwrite で日本語を含むファイルパスを取り扱う際の問題への対処について - Qiita

    概要 Python OpenCV で日語を含むファイルパスを扱う際の以下2点の問題への対処方法の案. cv2.imread でファイルパスに日語を含む画像を読み込もうとすると失敗する. cv2.imwrite を実行した際にファイルパスに含まれる日語が化ける. 私の環境に問題...? → umyu様に「Windows & OpenCV の問題」とコメントいただきました. アスキー文字にしか対応していないみたい. Unicode Path/Filename for imread and imwrite · Issue Currently, the imread and imwrite method only supports std::string as an input. This isn't working with non-ascii directories/paths. The

    Python OpenCV の cv2.imread 及び cv2.imwrite で日本語を含むファイルパスを取り扱う際の問題への対処について - Qiita
    richard_raw
    richard_raw 2022/01/07
    画像ファイルを読み込めないなーと思ったらそういうことでしたか。直る見込みなさそう(と言ってPRしないビビりです)。/「cv2.imread を np.fromfile + cv2.imdecode に分解して実行する.」
  • OpenCV-Python Is Now An Official OpenCV Project

    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

    OpenCV-Python Is Now An Official OpenCV Project
    richard_raw
    richard_raw 2021/02/19
    今まで公式じゃなかった……だと……?
  • フィックスターズ、独自開発した画像情報ソフトウェアがOpenCVに正式実装

    マルチコアCPU/GPU/FPGAを用いた高速化技術のグローバルリーダーである株式会社フィックスターズ(東証1部: 3687、代表取締役社長 CEO: 三木 聡)は、同社が開発した視差計算のオープンソースソフトウェア(OSS)「libSGM」が、コンピュータビジョン向けOSSライブラリ「OpenCV」に正式実装されたことをお知らせします。ステレオカメラの画像から視差計算をするlibSGMは、複雑化・高度化する自動運転システムの前方注視能力の向上など様々な用途に活用が期待されています。推定1800万ダウンロードを超えるOpenCVに採用されたことで、コミュニティを通じて世界中のデベロッパーにlibSGMを活用いただきやすくなりました。 OpenCV(https://opencv.org/)にフィックスターズのlibSGMが実装された libSGMとOpenCV libSGMは、Semi-Gl

    フィックスターズ、独自開発した画像情報ソフトウェアがOpenCVに正式実装
    richard_raw
    richard_raw 2021/02/08
    “libSGMは、Semi-Global Matchingというアルゴリズムを用いて、ステレオカメラの画像から被写体までの距離を計算するソフトウェアです。” へー。
  • 画像処理で大腸菌のコロニー数を数えたかった話 - kivantium活動日記

    生物の実験でシャーレに生えた大腸菌のコロニーの数を数えるという作業をしたのですが、こんなものは人間の仕事ではないので自動化したいと思いました。 OpenCVのインストール OpenCV 3.0で入った関数を使いたいので記事を書いた時点で最新版のOpenCV 3.1をビルドしてインストールします。 環境はUbuntu 15.10で、基的にInstallation in LinuxOpenCV 2.4.13.0 documentationに従います。 sudo apt-get install build-essential sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev wge

    画像処理で大腸菌のコロニー数を数えたかった話 - kivantium活動日記
    richard_raw
    richard_raw 2020/10/30
    助かります。connectedComponentsをfindContoursに差し替えて使っています。
  • 第6回 初めてのOpenCV開発 ― highgui/imgcodecs/videoioモジュール【OpenCV 3.1.0】

    第6回 初めてのOpenCV開発 ― highgui/imgcodecs/videoioモジュール【OpenCV 3.1.0】:OpenCV入門【3.0対応】(2/2 ページ)

    第6回 初めてのOpenCV開発 ― highgui/imgcodecs/videoioモジュール【OpenCV 3.1.0】
    richard_raw
    richard_raw 2020/09/30
    “Windows環境で利用する場合にはcv::CAP_DSHOW(DirectShowを使ったキャプチャ)か、cv::CAP_MSMF(Media Foundationを使ったキャプチャ)を指定することをお勧めします。” 知らんかった……。
  • OpenCV をビジュアルプログラミングできるアプリを Electron + Vue.js で作成 - Qiita

    要約 Electron + Vue.js で、OpenCVをビジュアルプログラミング的に実行できるアプリ(仮称: OpenCVFlow)を自分の勉強がてら作ってみました。 上の動画のように、画像処理を定義したブロックを並べ、それをリンクでつなげることで、処理を順次実行して結果を確認、保存することができます。機能としてはそれほど多くなく、実用まではいかないかもしれませんが、なにか参考になれば幸いです。(個人的には、ElectronやVue.jsを格的に使用するのは初めてでしたが、それなりに動くものが作れて満足しています。) 採用技術 アプリケーションエンジン: Electron フロントエンドフレームワーク: Vue.js UIフレームワーク: Photon OpenCVライブラリ: opencv4nodejs デザインパターン: アトミックデザイン アトミックデザインについて 今回は、U

    OpenCV をビジュアルプログラミングできるアプリを Electron + Vue.js で作成 - Qiita
    richard_raw
    richard_raw 2019/11/25
    試してみたいけどWindows7だと難しいかしら。
  • githubで最もやべー関数を発掘する - Qiita

    はじめに 先日、職場で「自分が 改修したor 書いちゃった いちばんやべー関数」ネタで盛り上がりました。 みんないろいろ話してくれましたが、やっぱり僕の書いた「コマンドパターンのメインループ関数(1500行)」の圧勝でした。 なんであんなコード書いたんだろ。 そこで、今日は僕の傷ついたプライド癒すべくgithubから「世界でいちばんやべー関数」を発掘します。 つまり、「俺が書いた関数よりやべー関数に会いに行く」 結論 マジでやべー関数は次の2つ 「opencvリポジトリのcv::agast_cornerScore<AgastFeatureDetector::AGAST_7_12s>関数」(複雑度1868) 「SuiteCRMリポジトリのOpenTag関数」(複雑度1509) 言語毎の傾向に着目すると... javascriptにはやべー関数が多い python/java/swift/rub

    githubで最もやべー関数を発掘する - Qiita
    richard_raw
    richard_raw 2019/11/11
    OpenCVのAGAST、こんなにやばいコードだったのか……。
  • 無料RPAで「ソリティア」に挑んでみた 業務自動化でゲームも自動化できるか

    巷には今、「働き方改革」とともに「RPA」という言葉が台頭し始めている。RPAは「ロボティック・プロセス・オートメーション」のことで、普段の業務を自動化してくれるソフトだという。 こんな説明がなされているが、これまでプログラミングに触れてきた人にとってはやや疑問が浮かぶのではないだろうか。「Excelマクロやバッチと何が違うのか」と。 例えば、RPAの動作説明でよくあるのは「ファイルをゴミ箱に捨てる」という操作だ。RPAソフトがファイルをゴミ箱にドラッグ&ドロップするという操作だが、ファイルを削除するのが目的なら、Windowsであれば「del hogehoge.txt」と書いたバッチファイルを実行すれば済む話だ。「del *.txt」とすればフォルダ内のテキストファイルを一網打尽に消すこともできる。 Webブラウザの操作であれば、「Node.js」や「Selenium」などですでに自動化

    無料RPAで「ソリティア」に挑んでみた 業務自動化でゲームも自動化できるか
    richard_raw
    richard_raw 2019/03/04
    お疲れ様でした。最初からデジタル画像なんだから完全一致とそれ以外で区別できそうな気がしますが難しいんですね。
  • 物体セグメンテーションアルゴリズム"watershed"を詳しく - Qiita

    Watershed algorithm 接触する物体をうまい具体に分離(セグメンテーション)して認識してくれるアルゴリズム OpenCVでも利用可能 結構古典的なアルゴリズム watershed = 分水嶺? 画像の輝度勾配を山と谷の地形図に見立て、そこに水を流すイメージをした時に、水を貯める分水嶺(壁)を"輪郭"として判定する手法 参考: The Watershed Transformation 要は、"オブジェクトの輪郭"を正しく判定するアルゴリズム 実際に動かしてみる 以下、watershedの公式チュートリアルを追っていきつつ、補足内容を追加 ※ 以下、Jupyter notebook上で実行した結果を貼り付けているので、下記のアウトプットやコードの細かいところはJupyter notebook上の実行想定で。 以下、同内容のJupyter notebookをGithubにおいてあ

    物体セグメンテーションアルゴリズム"watershed"を詳しく - Qiita
    richard_raw
    richard_raw 2018/07/10
    watershedの解説。けっこう前準備が必要なんですね。cppのサンプルコードはもっと短かったような……と思って確認するとマウスイベント拾って処理するやつだった。/所々typoが。
  • わかりやすい画像のdiffを求めて - Qiita

    どうも。フロントエンドエンジニアの @Quramy です。 さて、前回、1日10万枚の画像を検証するためにやったことで書いているとおり、reg-suitという画像に特化した回帰テストツールをメンテしています。 画像回帰テストという文脈において、差分の可視化方法はとても重要なファクターです。なぜなら、画像(=スナップショット)に差分が発生したからといって、それすなわち棄却、というわけではなく、その差分の内容を判断して、意図せぬ変更であれば棄却、意図した変更であればexpectedを更新する必要があります。すなわち、ワークフローに目視による差分のレビューが発生するのです。 そこで、少しだけ異なる2枚の画像について差分を効果的に可視化する、というテーマに向き合ってみました。 主にC++OpenCVでの実装ですが、これらの知識が無くとも読めるよう、コードやAPIへの言及を少なくして、中間画像で説

    わかりやすい画像のdiffを求めて - Qiita
    richard_raw
    richard_raw 2017/12/26
    ある程度はローカルでやっていいんだ。/領域の拡張のところで振り切られた。自分はまだまだ修行が足りない……。
  • ビルド職人になるために覚えたコマンドメモ - ainameの日記

    ここ2年ぐらいffmpegとかopencvとかRuby + CUDAみたいなやつとか たまーにビルド職人になることがあって上手くコンパイルするために各種コマンドを使うことがあるのだけど、 使い方はおろか、普段あんまり使わないのでコマンド名すら忘れることが多々あるためコマンド名とか使い時を覚えている限りざっくりメモしとく。 あとはmanを読めば良い。 pkg-config インストール済みのライブラリをコンパイルに利用するときに必要なコンパイルオプションを返してくれるやつ .pcファイルを元に返してくれる。 PKG_CONFIG_PATHを指定して利用したりする。 ldd .so(Shared Object)ファイルが動的リンクで依存しているライブラリへの依存関係を表示してくれる。 何かをコンパイルした結果、共有ライブラリがリンクできているかを調べるのに使える。 $ ldd `which f

    ビルド職人になるために覚えたコマンドメモ - ainameの日記
    richard_raw
    richard_raw 2017/03/02
    ARM向けにOpenCVをビルドしてるけどクロス環境用のlddコマンドみたいなのないかしら……。
  • OpenCV完全体コンパイル難易度ランキング - Qiita

    OpenCV完全体とは OpenCVのすべての機能を有効化するべく,様々な外部ライブラリを吸収してした変化した,OpenCVの最終段階のこと. cmakeにて練成される. 関東のとある勉強会中で発言されたネタに由来する. https://twitter.com/UnaNancyOwen/status/43956620241285120 OpenCVのライブラリに関連するライブラリ&コンパイルオプション一覧 この記事は,前提知識としてOpenCVをcmakeしたことがある人を想定しています.cmakeを使った環境構築に関する詳細はここを参照してください. 必要な外部ライブラリは実に多岐に渡ります.すべてを網羅しきっているわけではないですが主要なものを列挙します. 以下は,公式から配布されているOpenCVのインストーラでデフォルトで有効化されているもの一覧です. 普通のモジュール ドキュメン

    OpenCV完全体コンパイル難易度ランキング - Qiita
    richard_raw
    richard_raw 2016/12/21
    Windowsにて。QtとVTKは喰い合うのか……。近くにお高めのGPU搭載PCがあるけど、CUDAは無理そうだなあ。
  • 【超高速】Single Shot Multi-box DetectionをMacで試す【物体検出】:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活

    FasterRNNは遅すぎることが問題だった。darknetによるYOLOはなかなか良かった。 しかし最近はもっと高速かつ高精度な物体位置検出手法があるらしい。それがSSDこと、Single Shot Multi-box Detectionだ!! https://github.com/weiliu89/caffe/tree/ssd まあ細かいことはどうでもいいが、重要なのは精度がそこそこ高くてかつ高速な位置検出ができるということだ。それ以外のことは基的にどうでもいいのだ。詳しいことが知りたい人は論文を参照のこと さて、このSSDですが、ウェイ・リューさんという人が作った実装は相変わらずCaffe魔改造実装なので基的にはすぐには動かない。面倒くさい。どうしてこんなことになっているのか。 とはいえ、まあ愚痴っても仕方がないので動かす方法を探す。できればCaffeのインストールは避けたい。M

    【超高速】Single Shot Multi-box DetectionをMacで試す【物体検出】:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活
    richard_raw
    richard_raw 2016/12/03
    「精度がそこそこ高くてかつ高速な位置検出」
  • 画像処理をやるなら知らないと損!OpenCVがわかる資料まとめ

    OpenCV(オープンシーヴィ)は多機能なコンピュータビジョンライブラリで、動画や画像の処理に幅広く利用できるさまざまな機能が実装されています。 動画・画像処理を用いたアプリやサービスを開発するために、OpenCVを学びたいと思っている方は少なくないのではないでしょうか。 そこで今回は、OpenCVが学べる資料(記事・サイト・スライド)を10個ご紹介します。 OpenCVを基礎から解説している資料を中心に紹介していますので、OpenCVの学習にぜひご活用ください。 OpenCVがわかる記事・サイト 10分で学ぶOpenCV超入門 / MetaArt http://iphone.moo.jp/app/?p=1101 「画像を読み込み表示する」「画像のサイズを変更する」「画像をグレースケール化する」「画像を2値化する」、以上の4つのOpenCVを使ったプログラムについて学べる記事です。 各コー

    画像処理をやるなら知らないと損!OpenCVがわかる資料まとめ
    richard_raw
    richard_raw 2016/09/20
    3.0以降はよく知らないので助かります。
  • OpenCV + Google Cloud Vision API + Intel Edison で笑った瞬間を撮るカメラを作る - from scratch

    やりたいこと 最近娘が生まれて二ヶ月経過し、そろそろ笑ったりするようになりました。今回のテーマは娘が笑った瞬間を逃さずにカメラで撮影する事です。ちなみにこういう子どもをネタにして行うハック、僕はこれを『親バカハック』と呼んでます。 TL; DR Intel Edison でカメラをセット、一定のタイミングで撮影しつつ OpenCV で粗く笑顔認識させてから Google Cloud Vision API で表情解析 笑顔だと判定された画像を Slack で飛ばして画像をいつでも見れるようにする。 かわいい笑顔が撮れたので最高でした。 ハードウェアセットアップ Intel Edisonを手に入れたのでそれを使って作ります。Edison は Arduino 拡張ボードなら普通のUSB web camera 対応しているので、それをただぶっさして使います。 Intel Edison はSDカード

    OpenCV + Google Cloud Vision API + Intel Edison で笑った瞬間を撮るカメラを作る - from scratch
    richard_raw
    richard_raw 2016/06/09
    親バカハックいいね!
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
    richard_raw
    richard_raw 2016/04/07
    そうか、BGR2RGB変換しないと表示がおかしくなるのか。/OpenCVのインストールが面倒臭いな……と思ったら「conda -c」コマンドでいけるっぽい。
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

    画像処理は難しい。 Instagramのキレイなフィルタ、GoogleのPhoto Sphere、そうしたサービスを見て画像は面白そうだ!と心躍らせて開いた画像処理の。そこに山と羅列される数式を前に石化せざるを得なかった俺たちが、耳にささやかれる「難しいことはOpenCVがやってくれるわ。そうでしょ?」という声に身をゆだねる以外に何ができただろう。 稿は石化せざるを得なかったあの頃を克服し、OpenCVを使いながらも基礎的な理論を理解したいと願う方へ、その道筋(アイテム的には金の針)を示すものになればと思います。 扱う範囲としては、あらゆる処理の基礎となる「画像の特徴点検出」を対象とします(実践 コンピュータビジョンの2章に相当)。なお、記事自体、初心者である私が理解しながら書いているため、上級画像処理冒険者の方は誤りなどあれば指摘していただければ幸いです。 画像の特徴点とは 人間が

    画像処理の数式を見て石になった時のための、金の針 - Qiita
    richard_raw
    richard_raw 2016/02/04
    「cornerの検出」からじっくりと理解していきたい。
  • ARMORBET78: Solusi Main Game Online Populer

    Armorbet78 adalah sebuah solusi terbaik untuk bermain game online terlengkap dengan layanan daftar login gratis di situs link armor bet78! ARMORBET78: Solusi Main Game Online Populer ARMORBET78 muncul sebagai solusi yang signifikan di dalam industri permainan online. Platform ini menawarkan akses ke berbagai game populer, menjadikannya sebagai pilihan utama bagi banyak penggemar game. Dengan anali

    ARMORBET78: Solusi Main Game Online Populer
    richard_raw
    richard_raw 2015/07/11
    そうか、Pythonから使うだけならこれだけでいいのか!……って、OpenCVのバージョンは選べないんですかね。3.0使いたいYo
  • OpenCVで時間の計測 - schima.hatenablog.com

    cv::TickMeter を使いましょう。なんか影の薄いcontribにあります。 cv::TickMeter meter; meter.start(); // 何かの処理 meter.stop(); std::cout << meter.getTimeMilli() << "ms" << std::endl; 定番は以下のような書き方ですが、卒業しましょう。OpenCVのを使わずQueryPerformanceCounter, timeGetTime等の別の手段を使うにしろ、大抵これと似たようになると思います。TickMeterにより、これよりも見通し良く、何をしているか直感的にわかるコードにできます。 int64 start = cv::getTickCount(); // 何かの処理 int64 end = cv::getTickCount(); double elapsedMse

    OpenCVで時間の計測 - schima.hatenablog.com
    richard_raw
    richard_raw 2015/06/22
    cv::TickMeterは便利ですわー。……って、もしかして3.0だと使えない?