タグ

OpenCVに関するtk18のブックマーク (15)

  • 画像の色味を変える - Pythonでいろいろやってみる

    カラー画像からB(青)、G(緑)、R(赤)の輝度を個別に0にした画像を作ります。OpenCVで読み込んだカラー画像は 高さX幅X色(BGR) の3次元からなるndarrayに収められるので、[高さ全範囲、幅全範囲、色・青]=0のようにすることで決まった色を抜くことができます。 やること ファイル名を指定して画像ファイルを読み出す 画像の全画素の青の輝度を0にする 画像を別ウィンドウで表示する キー入力で表示用ウィンドウを破棄し終了 使った関数 cv2.imread : 画像ファイルの読み出し cv2.imshow : 画像を別ウィンドウに表示する 環境 windows10 home Anaconda 3/ jupyter notebook 5.6.0 Python 3.7.0 OpenCV 4.0.0 準備 画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、ファイル名"d

    画像の色味を変える - Pythonでいろいろやってみる
    tk18
    tk18 2025/04/15
  • OpenCVでHSV色空間のHueを扱う時の注意点 - Qiita

    OpenCVで物体識別を行う際に、OpenCVのHSV色空間、特にHueの扱いではまったので、まとめておく。 まとめ Hueは0から179の範囲を取る。 他のアプリケーションではHueは0から360を取る場合もある。その場合は、OpenCVでデータを読み書きする時にHueを2倍するか1/2倍にする。 0から179の範囲外でも動くけど混乱の元なので、0から179のレンジに収める。 OpenCVの仕様 For HSV, Hue range is [0,179], Saturation range is [0,255] and Value range is [0,255]. Different softwares use different scales. So if you are comparing OpenCV values with them, you need to normalize

    OpenCVでHSV色空間のHueを扱う時の注意点 - Qiita
  • OpenCVで画像内の「最頻色」を取得する

    画像内の「最も多くの面積を占める色」を取得したく、考案したのがRGB全ての最頻値を取るというやり方でした。 BGRを3byte分の文字列に結合してstatistics.mode()で最頻値を取得してRGBそれぞれに分解し直してます。 一見同じ色に見えても、webカメラからの画像ソースだったりするとRGB値全てがキレイに揃わないことも多いですが、 inRange()で範囲を指定するときその基準となる色には使えそうです。 そのへんの事情を考慮すると当はこういうのはクラスタリングで取得するのが最適なんですかね?🤔 もっとうまい実装法を知りたいです。 import cv2 import numpy as np import statistics def 画像の最頻色を取得(img): color_arr = np.vstack(img) # pix数 * 3(原色) の形状の行列 color_

    OpenCVで画像内の「最頻色」を取得する
    tk18
    tk18 2025/04/01
  • OpenCV 入門 (10) - 色の抽出|npaka

    OpenCVで任意の色を抽出する処理についてまとめました。 ・Python 3.7 ・OpenCV 4.5 前回 1. HSV「HSV」は、色相(Hue)、彩度(Saturation)、明度(Value)の3つの成分からなる色空間です。 ・色相 (H) : 色の種類(赤青緑など) ・彩度 (S) : 色の鮮やかさ。 ・明度 (V) : 色の明るさ。照明条件が変わっても色相にあまり変化が及ばないため、WEBカメラや写真から任意の色を抽出する際によく利用されます。 2. HSVの値の範囲お絵描きソフト(PhotoShopなど)なHSV値の範囲と、OpenCVのHSV値の範囲は異なります。お絵描きソフトの色相は0〜360°ですが、OpenCV(cv2.COLOR_BGR2HSV_FULL)では0〜255になります。 ・色相 : 0〜360° (赤 0〜255 赤 ※ループ) ・彩度 : 0%〜1

    OpenCV 入門 (10) - 色の抽出|npaka
    tk18
    tk18 2025/04/01
  • OpenCV.jsで全ての画像に白黒つけてやる - Qiita

    突然ですが、皆さんは決断することが得意でしょうか? 私は決断がとても苦手で、いつも優柔不断だと言われてしまいます。 物事を白か黒か判断するのって難しいですよね。 そんな訳で、今日はOpenCV.jsの力を借りることで、画像が白か黒かを自動的に判定できるようにしようと思います。 ※判定ルールが独自のため見た目の白黒と結果が異なる場合があります 作成したもの Black or White 画像を指定してJUDGMENTボタンを押すと、白か黒かを判定して結果を表示します。 実行例 作業環境 Windows10 Google Chrome Git for Windows Docker Desktop 公式ドキュメント OpenCV.js Tutorials 目次 OpenCV.jsをビルドする ブラウザでOpenCV.jsを読み込む 画像をグレースケールに変換する 白黒判定のしきい値を求める 白か

    tk18
    tk18 2025/03/30
  • opencv.js入門。画像データの入力、出力、変換から - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに opencvは画像処理に使うライブラリーであり、来主にC++Pythonで使われるためですが、実は「opencv.js」というJavaScriptで使えるopencvも、あまり知られていないようですが、存在しています。 opencvPythonで書いた方が一番使いやすくて使い勝手がいいのですが、ウェブアプリを作る場合ブラウザで走らせる場合も多くて、その時JavaScriptで書く必要があります。opencv.jsを使うことでサーバーに画像データを送る必要せずに、ブラウザ上だけで画像処理することができて便利です。 ただしP

    opencv.js入門。画像データの入力、出力、変換から - Qiita
    tk18
    tk18 2025/03/30
  • OpenCVjsとtensorflow.jsによるモデル検証アプリ - ML Over the Horizon

    はじめに OpenCVjsは画像処理ライブラリであるOpenCVjavascript版。 tensorflow.jsはtensorflowのjavascript版である。 これらを組み合わせて、webブラウザ上で簡単な画像修正と モデル推論を行うプログラムをgithubに公開した。 https://github.com/NeverendingNotification/opecvjs_tensorflowjs_viewer 概要 近年Deep Learningは様々な分野で利用されるようになっている。 しかし、 pythonによるDeep Learning関連の環境構築は素人には難しい部分もある。 そこで、webブラウザさえあれば動作するDeep Learning環境として tensorflow.jsは有望である。これにもともとはCの画像処理ライブラリであった opencvjavascr

    OpenCVjsとtensorflow.jsによるモデル検証アプリ - ML Over the Horizon
    tk18
    tk18 2025/03/30
    TensorFlow.js
  • OpenCV.jsとWebカメラ画像表示 - Qiita

    <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

    OpenCV.jsとWebカメラ画像表示 - Qiita
    tk18
    tk18 2025/03/26
  • opencv.jsを使ってブラウザ上で顔を検出&モザイクをかける

    tk18
    tk18 2025/03/26
  • OpenCV Haar-Cascadeによる顔検出 - Qiita

    まずはじめに LGTM 乞なのでよろしくお願いします¥ この記事の目的 なんか顔認証のシステム作りたいなーと思い、OpenCVの基礎的な勉強から始めてます。 OpenCVでは、顔・目などを検出できるカスケード識別器の学習済みファイルを事前に用意されています。 学習済みファイルは下記リンク先からダウンロードできます。 今回は顔検出のために「haarcascade_frontalface_default.xml」を使ってみます。 https://github.com/opencv/opencv/tree/master/data/haarcascades 以下も用意されてるのでまとめてgit cloneしましょう。 カスケード型の識別器のファイル ファイル名 対象物体

    OpenCV Haar-Cascadeによる顔検出 - Qiita
    tk18
    tk18 2025/03/26
  • OpenCVのカスケード分類器を自作して画像認識 | パソコン工房 NEXMAG

    Raspberry Piのような超小型のコンピューターを使って特定の条件に一致する画像を抽出しようとする場合に、特定の条件をプログラムが判別できるようにまとめたものを「カスケード分類器」といいます。 今回はこのOpenCVのカスケード分類器を自分で作成し、任意の条件に合う画像を抽出するまでの流れをご紹介します。 カスケード分類器とは 画像認識ライブラリーであるOpenCVに含まれる物体検出機能を使用すると、画像の中に含まれる特定の物体を検出することが可能になります。 物体検出を行うためには検出したい物体がどんな特徴を持っているのか、該当する物体を含む画像と含まない画像(=学習用画像)を用意し、検出したい物体の特徴を抽出します。この特徴を「特徴量」と呼びますが、学習用画像すべての「特徴量」をまとめたデータのことを「カスケード分類器」と呼びます。 OpenCVには最初からカスケード分類器が用意

    OpenCVのカスケード分類器を自作して画像認識 | パソコン工房 NEXMAG
    tk18
    tk18 2025/03/25
  • Gemini でプログラミング学習 #4 OpenCV でWebカメラから自動車を認識する

    自動車の検出には分類器が必要で OpenCV がもっている haarcascade_car.xml からカスケード分類器を作れることがわかりました。 ただ、精度を上げるにはディープラーニングなど他の仕組みを使用するのがよいとのこと。 また検出精度を上げるためかと思いますがグレースケールに変換していること、検出には detectMultiScale() を使うこともわかりました。 それでは実際にコードを書いていきます。 コード コーディングは Github for Copilot の拡張機能をインストールした Visual Studio Code で行っています。 その結果、ほとんどの内容は Copilot から予測および提示されるためあっという間に終わります。 Gemini が提示するコードをそのままコピーペーストすればもっと速いというのはありますが Python に慣れたいため手打ちして

    Gemini でプログラミング学習 #4 OpenCV でWebカメラから自動車を認識する
    tk18
    tk18 2025/03/25
  • 物体検出(detectMultiScale)をパラメータを変えて試してみる(scaleFactor編) | Workpiles

    OpenCVを使って動体検出(face-detectionとか)を行う場合に使用するCascadeClassifier.detectMultiScaleについて、パラメータを変えて試してみる。 Method Detail public void detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flag, Size minSize, Size maxSize) image: CV_8U型の行列。ここに格納されていいる画像中から物体が検出されます。 objects: 矩形を要素とするベクトル。それぞれの矩形には、検出した物体を含みます。 scaleFactor: 画像スケールにおける縮小量を表します。 minNeighbors: 物体候補となる矩形は、最低でもこの数

    物体検出(detectMultiScale)をパラメータを変えて試してみる(scaleFactor編) | Workpiles
    tk18
    tk18 2025/03/25
  • 5分で理解!PythonとOpenCVを使って信号機の色を認識してみよう|NAVITIME_Tech

    こんにちは。Heavy metal is very very healthyです。ナビタイムジャパンでAIやコンピュータビジョンを用いた研究開発を担当しています。 この記事では、PythonOpenCVでコンピュータビジョンを使った画像から信号機の色を認識する手法を紹介したいと思います。画像認識には興味あるけど、難しそう、どうやってやるのかわからない、なにから手をつけていいのかわからない。そんな印象を持つ方も多いんじゃないでしょうか? ご安心ください。今回紹介する手法は難しい数式や複雑なロジック、AIなどでよくある大量の学習データやGPU学習環境など、面倒な準備は必要ありません。PythonがインストールされたPCがあれば、この記事を読みながらこの手法を一緒に体験できますので、是非トライしてみてください。 また、この手法はナビタイムジャパンのアプリ「AiRCAM」(エアカム) に搭載した

    5分で理解!PythonとOpenCVを使って信号機の色を認識してみよう|NAVITIME_Tech
  • opencv.js 4.4.0 を使ってブラウザ上で画像処理

    知らないうちにopencvjavascriptでも使えるようになっていた。 加えてopencv自体もいつのまにかバージョンが上がって4.4.0になっていた。 ブラウザで簡単に画像処理ができるのは極めて便利。 試してみる。

    opencv.js 4.4.0 を使ってブラウザ上で画像処理
  • 1