首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中使用Tk或Wx抓取像素属性?

在Python中使用Tk或Wx抓取像素属性?
EN

Stack Overflow用户
提问于 2012-04-28 22:23:43
回答 2查看 540关注 0票数 1

我在Windows7上使用的是Python3。我想抓取我用鼠标选择的屏幕区域的所有像素的所有属性,如颜色强度、颜色等。选择可以是任何形状,但现在矩形和正方形就可以了。我想要在屏幕的任何区域中执行此操作。

你们能指导我如何在Python中使用Tk或Wx(如果我必须使用一些GUI工具包)来做到这一点吗??

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-04-29 19:46:48

我从未使用过Wx或Tk,所以我不知道如何使用Wx或Tk来做到这一点。我建议你使用一些图像处理库。为此,您可以使用或。如果你使用OpenCV或SimpleCV,这将会非常容易。SimpleCV是基于OpenCV的,但它对用户更友好,也更容易使用。

以下是获取单击点的RGB值的SimpleCV示例

代码语言:javascript
复制
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)

类似地,您可以将绑定在矩形中的所有像素的值作为鼠标单击的起点和为矩形的高度和宽度提供的预定义值。

这是我编写的一个代码,当你点击两个点时,在图像上画一条线。https://github.com/jayrambhia/SimpleCVexamples/blob/master/drawlines.py

你可以在这里找到更多的SimpleCV例子。https://github.com/ingenuitas/SimpleCV/tree/master/SimpleCV/examples

由于SimpleCV是一个用于计算机视觉的库,因此您可能不会发现所有示例都真正有帮助,但您可以尝试查看一些

票数 2
EN

Stack Overflow用户

发布于 2012-04-30 22:53:28

首先,到目前为止,Python3还不支持wxPython。希望它能在今年晚些时候实现。同时,您可能必须将选择的内容转换为wx.Image或wx.MemoryDC,并使用此页面上提到的方法:http://wxpython-users.1045709.n5.nabble.com/wxPoint-and-Bitmap-pixel-color-value-td2294179.html

基本上,您可以调用dc.GetPixel或image.GetRed,image.GetGreen,image,GetBlue。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10364364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档