1

Windows 7 で Python3 を使用しています。マウスで選択した画面領域のすべてのピクセルのうち、色の濃さ、色などのすべての属性を取得したいと考えています。選択範囲はどのような形状でもかまいませんが、現在は長方形と正方形で十分です。画面の任意の領域で実行したい。

TkまたはWxを使用してPythonでそれを行う方法を教えてください(GUIツールキットを使用する必要がある場合)。?

ありがとう

4

2 に答える 2

2

私は Wx や Tk を使ったことがないので、Wx や Tk を使ってそれを行う方法がわかりません。いくつかの画像処理ライブラリを使用することをお勧めします。これにはOpenCVまたはSimpleCVを使用できます。OpenCVやSimpleCVを使えば簡単です。SimpleCV は OpenCV に基づいていますが、よりユーザーフレンドリーで操作が簡単です。

クリックしたポイントの RGB 値を取得する SimpleCV の例を次に示します。

from SimpleCV import *

def imagetest():
    i = Image("lenna")
    disp = Display()
    i.show()

    while disp.isnotDone():
        if disp.mouseLeft:  # mouse left click
            print i.getPixel(disp.mouseX, disp.mouseY)

同様に、開始点をマウス クリックとして、四角形の高さと幅に指定した定義済みの値を使用して、四角形にバインドするすべてのピクセルの値を取得できます。

これは、2 点をクリックしたときに画像上に線を引くために作成したコードです。https://github.com/jayrambhia/SimpleCVexamples/blob/master/drawlines.py

ここで SimpleCV の例をさらに見つけることができます。https://github.com/ingenuitas/SimpleCV/tree/master/SimpleCV/examples

SimpleCV はコンピューター ビジョン用のライブラリであるため、すべての例が実際に役立つとは限りませんが、いくつかを見てみることができます。

于 2012-04-29T11:46:48.290 に答える
0

まず第一に、wxPythonはまだPython3ではサポートされていません。うまくいけば、それは今年後半になります。それまでの間、選択内容をwx.Imageまたはwx.MemoryDCにブリットし、次のページに記載されている方法を使用する必要があります:http ://wxpython-users.1045709.n5.nabble.com/wxPoint-および-Bitmap-pixel-color-value-td2294179.html

基本的に、dc.GetPixelまたはimage.GetRed、image.GetGreen、image、GetBlueを呼び出します。

于 2012-04-30T14:53:27.973 に答える