Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します


OpenCVの基本的な操作は、画像を描画することです。線、円、長方形などのさまざまな幾何学的形状を追加する機能。

多くの場合、画像分析を使用して、画像の一部を強調表示する必要があります。たとえば、その部分を定義する長方形を追加します。また、例として、何かを示す矢印。

cv2.line()-この関数は、画像に線を引くために使用されます。

cv2.rectangle()-この関数は、画像に長方形を描画するために使用されます。

cv2.circle()-この関数は、画像に円を描くために使用されます。

cv2.putText()-この関数は、画像にテキストを書き込むために使用されます。

cv2.ellipse()-この関数は、画像に楕円を描画するために使用されます。

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((350, 350, 3), dtype = "uint8")
cv2.imshow('Window', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

線を引くには

線を描くためにcv2.line()関数が使用されます。この関数は5つの引数を取ります

  • 描画する画像オブジェクト
  • 開始点の座標(x、y)
  • 終点の座標(x、y)
  • BGRのストロークカラー(RGBではないことに注意してください)
  • ストロークの太さ(ピクセル単位)

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((350, 350, 3), dtype = "uint8")
# creating for line
cv2.line(my_img, (202, 220), (100, 160), (0, 20, 200), 10)
cv2.imshow('Window', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

長方形を描くには

長方形を描画するには、cv2.rectangle()関数を使用します。この関数は5つの入力パラメーターを受け入れます。

  • 描画する画像オブジェクト
  • 左上の頂点の座標(x、y)
  • 右下の頂点の座標(x、y)
  • BGRのストロークカラー(RGBではないことに注意してください)
  • ストロークの太さ(ピクセル単位)

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((400, 400, 3), dtype = "uint8")
# creating a rectangle
cv2.rectangle(my_img, (30, 30), (300, 200), (0, 20, 200), 10)
cv2.imshow('Window', my_img)
# allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

円を描くには

円を描くには、cv2.circle()関数を使用します。この関数は5つの入力パラメーターを受け入れます。

  • 描画する画像オブジェクト
  • 中心座標(x、y)
  • 円の半径
  • BGRのストロークカラー(RGBではないことに注意してください)
  • ストロークの太さ(ピクセル単位)

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((400, 400, 3), dtype = "uint8")
# creating circle
cv2.circle(my_img, (200, 200), 80, (0, 20, 200), 10)
cv2.imshow('Window', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

楕円を描くには

楕円を描画するには、cv2.ellipse()関数を使用します。この関数は8つの入力パラメーターを受け入れます。

  • 画像を描画する画像オブジェクト
  • 中心座標(x、y)
  • 短軸と長軸の長さ(h、w)
  • 楕円の回転角度(反時計回りに計算)
  • 開始角度(時計回りに計算)
  • 最終角度(時計回りに計算)
  • BGRのストロークカラー(RGBではありません)
  • ストロークの太さ

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((400, 400, 3), dtype = "uint8")
# creating for rectangle
cv2.ellipse(my_img,(256,256),(100,50),0,0,180,255,-1)
cv2.imshow('Window', my_img)
# allows us to see image
# until closed forcefully
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

ポリゴンを描画するには

ポリゴンを描画するには、cv2.polylines()関数を使用します。この関数には5つの引数が必要です。

  • 描画する画像オブジェクト
  • 座標の配列
  • それが閉じた線の場合は本当です
  • ストロークの色
  • ストロークの太さ

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((400, 400, 3), dtype = "uint8")
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(my_img,[pts],True,(0,255,255))
cv2.imshow('Window', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します

テキストを描画するには

OpenCVでテキストを書くために、いくつかの引数を受け入れるcv2.putText()関数があります。

  • 描画する画像
  • 書き込むテキスト
  • テキストの開始点の座標
  • 使用するフォント
  • フォントサイズ
  • テキストの色
  • テキストの太さ
  • 使用する回線の種類

サンプルコード

import numpy as np
import cv2
my_img = np.zeros((400, 400, 3), dtype = "uint8")
# Writing text
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(my_img, 'Tutorials Point', (50, 50),font, 0.8, (255, 0, 0), 2, cv2.LINE_AA)
cv2.imshow('Window', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力

PythonOpenCvモジュールを使用して画像に幾何学的形状を描画します
  1. PythonOpenCvを使用してリバースモードでビデオを再生する

    OpenCvの完全な形式はオープンソースのコンピュータービジョンであり、このライブラリを使用して、画像やビデオに対してさまざまな操作を実行できます。 OpenCVのアプリケーション領域 顔認識システム モーショントラッキング 人工ニューラルネットワーク ディープニューラルネットワーク ビデオストリーミングなど Windowsにインストールする場合は、このコマンドラインを使用できます pip install opencv-python Linuxの場合- sudo apt-get install python-opencv タスクを完了するには、いくつかの手順に従う必要

  2. PythonでOpenCVを使用した画像の侵食と拡張

    この問題では、PythonがOpenCVモジュールを使用して侵食や膨張などの形態学的操作を実行する方法を確認します。 OpenCVライブラリは、主にコンピュータビジョン用に設計されています。オープンソースです。もともとはIntelによって設計されました。これは、オープンソースBSDライセンスの下で無料で使用できます。 OpenCV機能を使用するには、 pipを使用してダウンロードする必要があります 。 sudo pip3 install opencv-python Erosion Imageとは何ですか? 侵食では、前景オブジェクトの境界を侵食します。これは、画像から小さなホワイトノ