相关疑难解决方法(0)

如何量化两幅图像之间的差异?

这就是我想做的事情:

我定期用网络摄像头拍照.有点像时间流逝的事情.但是,如果没有真正改变,也就是说,图片几乎看起来一样,我不想存储最新的快照.

我想有一些量化差异的方法,我必须凭经验确定一个阈值.

我在寻求简洁而不是完美.我正在使用python.

python image-comparison image-processing timelapse background-subtraction

169
推荐指数
9
解决办法
16万
查看次数

使用Python/PIL检测HSV颜色空间(来自RGB)的阈值

我想拍摄RGB图像并将其转换为黑白RGB图像,如果其HSV值在某个范围之间,则像素为黑色,否则为白色.

目前我创建了一个新图像,然后通过迭代其数据创建一个新的像素值列表,然后创建.putdata()该列表以形成新图像.

感觉应该有一个更快的方法来做这个,例如.point(),但似乎.point()没有得到像素,而是从0到255的值.是否有.point()转换,但像素?

python performance image image-processing python-imaging-library

10
推荐指数
2
解决办法
1万
查看次数

如何使用Python Imaging Library(PIL)识别非照片或"不感兴趣"的图像

我有成千上万的图像,我需要清除那些不是照片或其他"有趣"的图像.

例如,"不感兴趣"的图像可以是所有一种颜色,或者主要是一种颜色,或简单的图标/徽标.

解决方案不一定非常完美,只需要删除最不有趣的图像就足够了.

到目前为止,我最好的想法是对像素进行随机抽样,然后......用它们做点什么.

python imaging python-imaging-library

6
推荐指数
1
解决办法
1532
查看次数

使用wxPython显示wxBitmaps的问题

我一直在编写一个我一直在写的程序的问题,并希望得到一些帮助或输入.对于某些背景,我使用Python 2.7和wxPython来做一个流媒体网络摄像头客户端.客户端从自己的线程中获取服务器中的图像,并将它们放入队列中.然后,GUI线程从队列中获取这些图像并将它们转换为wxBitmap对象.这种情况每0.5秒发生一次,效果很好.我能够将wxBitmap对象保存为文件,因此我知道一切正常.

我遇到的问题实际上是让wxBitmap对象显示在我的GUI上.我似乎唯一可以做GUI的工作是显示一个灰色矩形,其中应该是网络摄像头图像.

onPaint()当我想要刷新屏幕时,这是我的调用:

    def onPaint(self,e):
            ## this is the function that actually draws and redraws the window
            ## to be displayed. I think it is something similar to blit()
            ## in other graphical display frameworks
            print "in onPaint"

            ## create the device context object (graphics painter)
            dc = wx.PaintDC(self)
            dc.BeginDrawing()

            ## draw the bitmap to the screen
            dc.DrawBitmap(self.imageBit,0,0,True)
            dc.EndDrawing()            

            ## test code.
            ## the following works and updates, which means that
            ## …
Run Code Online (Sandbox Code Playgroud)

python wxpython

5
推荐指数
1
解决办法
1403
查看次数

比较两个1和0的大型列表并返回差异计数/百分比的最快方法是什么?

我需要一种方法来快速返回两个大列表之间的差异数量.每个列表项的内容为1或0(单个整数),每个列表中的项数总是307200.

这是我当前代码的示例:

list1 = <list1> # should be a list of integers containing 1's or 0's
list2 = <list2> # same rule as above, in a slightly different order

diffCount = 0
for index, item in enumerate(list1):
    if item != list2[index]:
        diffCount += 1

percent = float(diffCount) / float(307200)
Run Code Online (Sandbox Code Playgroud)

上面的工作,但它对我的目的来说太慢了.我想知道的是,是否有更快的方法来获得列表之间的差异数量,或者不同的项目百分比?

我在这个网站上看了几个类似的线程,但它们似乎与我想要的工作略有不同,而set()示例似乎并不适用于我的目的.:P

python performance compare list

1
推荐指数
1
解决办法
5564
查看次数