首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盆子pi picamera -图像比较

覆盆子pi picamera -图像比较
EN

Stack Overflow用户
提问于 2018-03-11 01:16:14
回答 1查看 1K关注 0票数 0

我正在尝试检测从覆盆子pi picamera拍摄的两张照片之间的运动。我是通过比较原始像素数据和其他像素数据来做到这一点的。下面是一个简单的脚本,我用它来测试比较。

代码语言:javascript
复制
import picamera
import datetime
from fractions import Fraction
import time
import numpy as np

oldImage = np.empty((48, 64, 3))
newImage = np.empty((48, 64, 3))
color_offset = 25

with picamera.PiCamera() as camera:
    camera.resolution = (64,48)
    camera.start_preview()
    time.sleep(2)

    camera.capture(oldImage, "rgb")
    time.sleep(5)
    camera.capture(newImage, "rgb")

    x = 0
    y = 0
    diff = 0

    while(x < np.size(newImage, 0)):
        while(y < np.size(newImage, 1)):
            val1 = newImage[x, y, 0] + newImage[x, y, 1] + newImage[x, y, 2]
            val2 = oldImage[x, y, 0] + oldImage[x, y, 1] + oldImage[x, y, 2]
            print(val1)
            print(val2)
            pd = abs(val2 - val1)
            print(pd)

            if(pd > color_offset):
                diff += 1
            y +=1
        x += 1
        y=0

    print(str(diff))

在脚本中,我启动相机,拍摄第一张照片,等待几秒钟,拍摄第二张照片并计算差值。然而,每次我运行这个脚本时,"val1“变量总是0.0。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-03-11 01:38:15

因此,对于2x2的“图像”,您的颜色值添加

代码语言:javascript
复制
import numpy as np

newImage = np.array([[[0,0,0], [1,0,0]], [[0,1,0], [0,1,1]]])

x = 0
y = 0
while(x < np.size(newImage, 0)):
    while(y < np.size(newImage, 1)):
        val1 = newImage[x, y, 0] + newImage[x, y, 1] + newImage[x, y, 2]
        print(val1)
        y +=1
    x += 1
    y = 0

产生

代码语言:javascript
复制
0
1
1
2

正如我所料。

你期望的结果是什么?您的数据是否正确(提供示例数据)?

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

https://stackoverflow.com/questions/49211826

复制
相关文章

相似问题

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