python opencv一般的な図形描画方法(線分、長方形、円形、楕円形、テキスト)


最近はpython opencvを勉強しました。opencvを使って絵によく使われる図形を描く方法を教えてください。
在这里插入图片描述
例では、画像に線分、円形、長方形、楕円形を追加し、テキストを追加する方法を実現しました。
実現方法
1)線分cv.lineを描く
画像に直線を描画します。

#     
#   1:  
#   2:  
#   3:  
#   4:BGR  
#   5:  
cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2);
パラメータの説明
パラメータ

説明
パラメータ1
img
元の画像
パラメータ2
(60,40)
線分始点座標(ピクセル)
パラメータ3
(90,90)
線分終点座標(ピクセル)
引数4
(255,255,255)
BGR色(0-255)
パラメータ5
2
線分の幅
2)円を描くcv.circle
図に円を描く

#     
#   1:  
#   2:  
#   3:  
#   4:BGR  
#   5:     -1   
cv2.circle(img, (140, 120), 60, (0, 0, 255), 2);
パラメータの説明
パラメータ

説明
パラメータ1
img
元の画像
パラメータ2
(140,120)
中心の座標(ピクセル)
パラメータ3
60
円の半径(ピクセル)
引数4
(0,0,255)
BGR色(0-255)
パラメータ5
2
線分の幅は-1の時に塗りつぶします。
3)長方形を描くcv.rectangle
画像に長方形を描画します。

#     
#   1:  
#   2:   
#   3:   
#   4:BGR  
#   5:     -1   
cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2);
パラメータの説明
パラメータ

説明
パラメータ1
img
元の画像
パラメータ2
(220,50)
左上の座標(ピクセル)
パラメータ3
(380、220)
右下の座標(ピクセル)
引数4
(0,255,0)
BGR色(0-255)
パラメータ5
2
線分の幅は-1の時に塗りつぶします。
4)楕円形cv.ellipseを描く。
絵に楕円形を描くと、ここはパラメータが多くなります。

#     
#   1:  
#   2:  
#   3:    
#   4:    
#   5:      
#   6:      
#   7:BGR  
#   8:     -1   
cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2);
パラメータの説明
パラメータ

説明
パラメータ1
img
元の画像
パラメータ2
(60,20)
楕円中心座標(ピクセル)
パラメータ3
(60,20)
楕円横・縦の距離(ピクセル)
引数4
0
楕円傾斜角度(0-360)
パラメータ5
0
始点角度(0-360)を描画します。
パラメータ6
0
終点の角度(0-360)を描画します。
パラメータ7
(255,255,255)
BGR色(0-255)
パラメータ8
2
線分の幅は-1の時に塗りつぶします。
5)テキストcv.put Textを追加する
画像にテキストを追加して内容を表示します。

#     
#   1:  
#   2:    
#   3:    
#   4:    
#   5:    
#   6:BGR  
#   7:    
cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1);
パラメータの説明
パラメータ

説明
パラメータ1
img
元の画像
パラメータ2
「phone」
テキストの内容
パラメータ3
(15、30)
テキストの左上の座標位置(ピクセル)
引数4
cv 2.FONT_HERSHEY_COMPLEX
テキストの種類
パラメータ5
1
テキストのサイズ
パラメータ7
(255,255,255)
BGR色(0-255)
パラメータ8
1
フォントの太さ
文字の種類は主に以下の通りです。
1、cv.FONT_HERSHEY_SIM PLEXノーマルサイズライニングなし
2、cv.FONT_HERSHEY_PLAN小さいサイズのサンセリフがありません。
3、cv.FONT_HERSHEY_DUPLEXノーマルサイズ(タイプ1のコピー)
4、cv.FONT_HERSHEY_COMPLEX正常サイズはライニングがあります。
5、cv.FONT_HERSHEY_TRIPLEX通常サイズはライニングがあります(タイプ4の複雑版)。
6、cv.FONT_HERSHEY_COMPLEX_SMALL(タイプ4の小さいサイズ)
7、cv.FONT_HERSHEY_SCRIPT_SIM PLEX手書きスタイル
8、cv.FONT_HERSHEY_SCRIPT_COMPLEX(タイプ7の複雑版)
以上のフォントは試してみてもいいです。違った効果が見られます。
完全コード

import cv2

#     。
img = cv2.imread("img.jpeg");

#     
#   1:  
#   2:  
#   3:  
#   4:BGR  
#   5:  
cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2);

#     
#   1:  
#   2:  
#   3:  
#   4:BGR  
#   5:     -1   
cv2.circle(img, (140, 120), 60, (0, 0, 255), 2);

#     
#   1:  
#   2:  
#   3:    
#   4:    
#   5:      
#   6:      
#   7:BGR  
#   8:     -1   
cv2.ellipse(img, (60, 20), (60, 20), 0, 0, 360, (255, 255, 255), 2);

#     
#   1:  
#   2:   
#   3:   
#   4:BGR  
#   5:     -1   
cv2.rectangle(img, (220, 50), (380, 220), (0, 255, 0), 2);

#     
#   1:  
#   2:    
#   3:    
#   4:    
#   5:    
#   6:BGR  
#   7:    
cv2.putText(img, "phone", (15, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 255), 1);
cv2.putText(img, "36.4C", (250, 250), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 2);

#     
cv2.imshow("title", img);

#      ,        
cv2.waitKey(0);

#      
cv2.destroyAllWindows();

ここで、python opencvに関する一般的な図形描画方法(線分、長方形、円形、楕円形、テキスト)の文章を紹介します。これに関連して、python opencv図形描画の内容は以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。