OpenCV

cv::transform は変換行列が2行2列または2行3列でなくても動くかもしれない

試した環境 OpenCV 4.5.3 Microsoft Visual Studio Community 2019 Version 16.10.3 本題 cv::transform のドキュメントには変換行列m は2行2列または2行3列の行列であることが書かれています。 https://docs.opencv.org/4.5.3/d2/de8/group__core__array.ht…

cv::remap で用いる固定小数点マップ(整数型マップ)で参照される補間係数テーブルの在り処と生成タイミングについて【OpenCV】

確認した環境 OpenCV4.1.1 Windows10 Visual Studio Community 2019 Version 16.3.7 はじめに OpenCV には汎用的な幾何変換を行う cv::remap 関数があります。 この関数では変換情報を表す cv::Mat 型のマップ情報を使用します。 マップ情報は大きく分けて浮…

最大値255の PGM バイナリ形式の画像を読み込む(OpenCV)

はじめに この記事では、最大値255のPGM バイナリ(PNM P5)形式の画像を cv::Matに読み込むコードを載せております。 しかし OpenCV はcv::imreadで上記の形式に限らず PNM 形式を読み込めますので、 本来このような処理を自分で書く必要はありません。 所謂…

OpenCV の const cv::Mat の中身を書き換える方法

はじめに この記事では const cv::Mat を書き換える方法を示しますが、 const cv::Mat の書き換えを推奨する意図はございません。 cv::Mat に限らず const が付いた変数は基本的に書き換えるべきでは無いと思っています。 この記事は OpenCV に慣れていない…

Pillow と OpenCV とでそれぞれ二値画像処理および膨張処理

Pillow でOpenCV の膨張処理とを同じ処理がしたかったので、 その方法と処理結果が等しくなるか確認しました。 環境 python 3.5.6 opencv 3.4.2 pillow 5.2.0 コード全体 先に今回書いたコードを載せます。 # -*- coding: utf-8 -*- import cv2 import numpy…

Pillow とOpenCV(numpy) で読み込んだ画像に対して一致しているか調べる

同じ画像ファイルをPillow とOpenCV でそれぞれ読み込み、 一致しているか確認する処理を書きました。 import cv2 import numpy as np from PIL import Image def is_equal(cv_img, pil_img): return np.array_equal(cv_img, np.asarray(pil_img.convert('RG…

OpenCV 3.3.0 辺りからTracking API のcv::Tracker::create 関数が無くなっていた

OpenCV のTracker クラスから静的メンバー関数のcreate が無くなっていたことに気づきました。 cv::Tracker::create はTracker の生成を簡潔に行える静的メンバー関数でした。 OpenCV のリファレンスを確認 リファレンスでは、3.2.0 にはcv::Tracker::create…

conda でOpenCV をインストールする方法は、Anaconda Cloud で確認する

conda を使ってpython にOpenCV をインストールする方法は、検索すれば色々見つかります。 しかし色々あるために、どれが最適か迷うことにもなります。 なのでAnaconda Cloud でOpenCV をpython にインストールする方法を調べました。 :: Anaconda Cloud 上…