画像解析

pythonでQRコード画像生成・読み取り(PyQRCode・pyzbar)

  目次 1. QRコードの概要 2. PyQRCode 3. 実験のコード _3.1 環境準備 _3.2 QRコードの生成(Encode) _3.3 QRコード画像の読み取り(Decode) _3.5 QRコード動画の読み取り(Decode)   1. QRコードの概要 どこにでもあるQRコードはpythonでどう生成しますか?この記事はこの質問に回答します。 QRコードの生成と読み取るPythonは複数のパッケージがあります。今回はPyQRCode・pyzbarを解説します。   2. PyQRCode PyQRCodeのパッケージはQRコード作成、エラー修正、QRコードのバージョン、Encodeのモードなどを設定することができます。 pyqrcode.create(content, error=’H’, version=None, mode=None, encoding=None) content(コンテンツ): QRコード error(エラー): ・‘L’ コードの7%を修正できる。 ・‘M’ コードの15%を修正できる「M」。 ・‘Q’一般)コードの25%を訂正できます。 ・‘H’ コードの30%を修正できる。 version(バージョン): ・バージョンは1から40まで設定ができます。バージョン1が最小のQRコードで、バージョン40が最大です。 mode(モード): ・整数をエンコードするために使用される「数値」。 ・一部のASCII文字をエンコードするために使用される「英数字」。 ・「漢字」モードは日本語の文字に使用できますが、shift-jis文字列エンコードで理解できる文字のみです。 ・バイトをQRコードに直接エンコードする「バイナリ」モード   3. 実験のコード 環境:Google Colab Pythonパッケージ:PyQRCode, pypng, pybar …

pythonでQRコード画像生成・読み取り(PyQRCode・pyzbar) Read More »

Object Detection (英)

In computer vision, object detection is one of the tasks that AI shows remarkable result. Each object detection task has different models and creates different level of output. This is my wrap-up of object detection tasks. Image Classification Image Classification detects class from overall image input and returns class with probability. classes = [“dog”, “cat”, …

Object Detection (英) Read More »

OpenCVのWatershedで画像の領域分割

  目次 1. Watershed画像分割とは 2. OpenCVのWatershed 3. 実験 _3.1 データロード _3.2 画像加工 _3.3 輪郭検(findContours) _3.4 画像分割(watershed) 前回の記事は「OpenCV-Pythonでの図形検出、図形数える」を説明しました。Contoursのモジュールは、領域輪郭の図形検出ができますが、画像の領域分割はできません。画像分割の場合は、OpenCVのWatershedアルゴリズムを利用します。Watershedアルゴリズムとは、くっついているものを分離する事もできる古典的領域分割アルゴリズムです。日本語だと分水嶺アルゴリズムと言われています。画像の輝度勾配を山嶺とみなし、山の高い(= 輝度値の高い)位置から流れ込む水の作る領域をひとつの領域とする分割を行います。そのため輝度がはっきりと異なる場合は、弱いアルゴリズムです。 1. Watershed画像分割とは Watershedは、得られた画像を意味のある領域に分割する事は重要な技術です。Watershedアルゴリズムは画像ピラミッドによる画像のセグメント化・平均値シフト法による画像のセグメント化します。 2. OpenCVのWatershed cv.watershed(image, markers) image : 入力画像 markers:  画像のマーカー(画像と同じサイズ) https://docs.opencv.org/master/d7/d1b/group__imgproc__misc.html#ga3267243e4d3f95165d55a618c65ac6e1 3. 実験 環境:Google Colab データセット:硬貨の画像 ライブラリ:OpenCV 分析:画像分割(watershed) 3.1 データロード ライブラリインポート import cv2 import numpy as np import imutils from IPython.display import Image 画像のファイルを表示します。 img_file = “coin02.png” Image(img_file) 3.2 画像加工 pyrMeanShiftFilteringで同様の色分布で色を中和します。 image = cv2.imread(img_file) shifted = cv2.pyrMeanShiftFiltering(image, 21, 51) …

OpenCVのWatershedで画像の領域分割 Read More »