PythonでopenCVから取得した色検出結果領域から画面座標を取得するにはどうすればよいですか?

DARK_C0D3R

ウェブカメラを使用してマウスカーソルをナビゲートするために緑色のキャップチップを持つペンで作業しようとしていますが、pyinputライブラリ移動関数への入力としてそれを与えることができるように画面上のキャップ画像の座標を取得するにはどうすればよいですか?

前もって感謝します。

# Python program for Detection of a
# specific color(green here) using OpenCV with Python

import cv2
import numpy as np
import time

cap = cv2.VideoCapture(0)


while (1):
    # Captures the live stream frame-by-frame

    _, frame = cap.read()
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    lower_red = np.array([75, 50, 50])
    upper_red = np.array([100, 255, 255])
    mask = cv2.inRange(hsv, lower_red, upper_red)
    res = cv2.bitwise_and(frame, frame, mask=mask)
    cv2.imshow('frame', frame)
    cv2.imshow('mask', mask)
    cv2.imshow('res', res)

    **#code to output coordinates of green pen tip**

    k = cv2.waitKey(5) & 0xff
    if k == 27:
        break

cv2.destroyAllWindows()
cap.release()
api55

必要なものはすべて揃っています。あと数ステップ必要です。

まず、マスク内のゼロ以外の点を見つけます。これは先端を表すはずです。

points = cv2.findNonZero(mask)

次に、それらを平均して、先端を表す「一意のポイント」を設定できます。

avg = np.mean(points, axis=0)

これで、これを0-1の値に正規化して、後で任意の解像度で使用できるようにすることができます...または、画面の解像度に直接正規化することもできます...

# assuming the resolutions of the image and screen are the following
resImage = [640, 480]
resScreen = [1920, 1080]

# points are in x,y coordinates
pointInScreen = ((resScreen[0] / resImage[0]) * avg[0], (resScreen[1] / resImage[1]) * avg[1] )

考慮すべき点がいくつかあります。まず、opencv座標系の原点が左上を下向きで右向きになっていることを思い出してください。

 ---->
|
|   image
|
v

これらの点座標をどこでどのように使用するかによっては、軸を反転する必要がある場合があります。

第二に、OpenCVではポイントはx、yであり、(少なくとも私が手動で書いた解像度は)幅と高さです...必要に応じてこれに対処するためにコードを適応させる必要があるかもしれません:)

ご不明な点がございましたら、コメントを残してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Opencv / python-画像処理後に検出された領域の座標を取得するにはどうすればよいですか?

分類Dev

Python exec()/ eval()呼び出しから結果を取得するにはどうすればよいですか?

分類Dev

UnsafeMutableBufferPointerからx座標とy座標を取得するにはどうすればよいですか

分類Dev

(imfreehand によって作成された) ROI 領域内のすべての座標を取得するにはどうすればよいですか?

分類Dev

座標が領域内にあるかどうかを検出するにはどうすればよいですか?

分類Dev

画面からX、Y座標に基づいて色を返すにはどうすればよいですか?

分類Dev

xyzワールド座標からxy画面座標を取得するにはどうすればよいですか?

分類Dev

画面座標からオブジェクト座標を取得するにはどうすればよいですか?

分類Dev

画面座標からオブジェクト座標を取得するにはどうすればよいですか?

分類Dev

Postgresqlから取得した結果をシャッフルするにはどうすればよいですか?

分類Dev

頂点から座標を取得するにはどうすればよいですか(標準:文字列)

分類Dev

Gamemaker Studio 2シェーダー内から部屋(または画面)の座標を取得するにはどうすればよいですか?

分類Dev

Azure検索からすべての結果を取得するにはどうすればよいですか?

分類Dev

楕円内の指定された色の座標を取得するにはどうすればよいですか?

分類Dev

AHKで画面の領域からピクセルデータを(はるかに)速く取得するにはどうすればよいですか?

分類Dev

OpenCV、Pythonでマスクを使用して見つかった形状の(x、y)座標を取得するにはどうすればよいですか?

分類Dev

OpenCV、Pythonでマスクを使用して見つかった形状の(x、y)座標を取得するにはどうすればよいですか?

分類Dev

Excelから範囲(印刷領域)を取得するにはどうすればよいですか?

分類Dev

より高速なr-cnnオブジェクト検出プロセスから取得した強度ポイントに対応する座標ポイントを取得するにはどうすればよいですか?

分類Dev

VTK IntersectWithLineからテクスチャ座標を取得するにはどうすればよいですか?

分類Dev

座標からテキスト属性を取得するにはどうすればよいですか?

分類Dev

CAShapeLayerから座標を取得するにはどうすればよいですか

分類Dev

AndroidStudioの座標から住所を取得するにはどうすればよいですか?

分類Dev

座標から通りの名前を取得するにはどうすればよいですか?

分類Dev

KMLファイルから座標を取得するにはどうすればよいですか?

分類Dev

動く物体から照明の座標を取得するにはどうすればよいですか?WebGL

分類Dev

ReactJSのOpenLayersマップから座標を取得するにはどうすればよいですか?

分類Dev

Googleプレイスから一連の場所の座標を取得し、すべてが完了した後でその結果を使用するにはどうすればよいですか。

分類Dev

Pythonの2Dリストから最大x座標と最小y座標を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Opencv / python-画像処理後に検出された領域の座標を取得するにはどうすればよいですか?

  2. 2

    Python exec()/ eval()呼び出しから結果を取得するにはどうすればよいですか?

  3. 3

    UnsafeMutableBufferPointerからx座標とy座標を取得するにはどうすればよいですか

  4. 4

    (imfreehand によって作成された) ROI 領域内のすべての座標を取得するにはどうすればよいですか?

  5. 5

    座標が領域内にあるかどうかを検出するにはどうすればよいですか?

  6. 6

    画面からX、Y座標に基づいて色を返すにはどうすればよいですか?

  7. 7

    xyzワールド座標からxy画面座標を取得するにはどうすればよいですか?

  8. 8

    画面座標からオブジェクト座標を取得するにはどうすればよいですか?

  9. 9

    画面座標からオブジェクト座標を取得するにはどうすればよいですか?

  10. 10

    Postgresqlから取得した結果をシャッフルするにはどうすればよいですか?

  11. 11

    頂点から座標を取得するにはどうすればよいですか(標準:文字列)

  12. 12

    Gamemaker Studio 2シェーダー内から部屋(または画面)の座標を取得するにはどうすればよいですか?

  13. 13

    Azure検索からすべての結果を取得するにはどうすればよいですか?

  14. 14

    楕円内の指定された色の座標を取得するにはどうすればよいですか?

  15. 15

    AHKで画面の領域からピクセルデータを(はるかに)速く取得するにはどうすればよいですか?

  16. 16

    OpenCV、Pythonでマスクを使用して見つかった形状の(x、y)座標を取得するにはどうすればよいですか?

  17. 17

    OpenCV、Pythonでマスクを使用して見つかった形状の(x、y)座標を取得するにはどうすればよいですか?

  18. 18

    Excelから範囲(印刷領域)を取得するにはどうすればよいですか?

  19. 19

    より高速なr-cnnオブジェクト検出プロセスから取得した強度ポイントに対応する座標ポイントを取得するにはどうすればよいですか?

  20. 20

    VTK IntersectWithLineからテクスチャ座標を取得するにはどうすればよいですか?

  21. 21

    座標からテキスト属性を取得するにはどうすればよいですか?

  22. 22

    CAShapeLayerから座標を取得するにはどうすればよいですか

  23. 23

    AndroidStudioの座標から住所を取得するにはどうすればよいですか?

  24. 24

    座標から通りの名前を取得するにはどうすればよいですか?

  25. 25

    KMLファイルから座標を取得するにはどうすればよいですか?

  26. 26

    動く物体から照明の座標を取得するにはどうすればよいですか?WebGL

  27. 27

    ReactJSのOpenLayersマップから座標を取得するにはどうすればよいですか?

  28. 28

    Googleプレイスから一連の場所の座標を取得し、すべてが完了した後でその結果を使用するにはどうすればよいですか。

  29. 29

    Pythonの2Dリストから最大x座標と最小y座標を取得するにはどうすればよいですか?

ホットタグ

アーカイブ