我的想法是使用我的IP摄像头的图像,注册如果我的车库门是打开或关闭(甚至可能在两者之间)。我想把一些可识别的标记放在门上很简单,然后“读”它们的位置程序,但我没有图像处理方面的经验,因此不知道它叫什么。经过大量阅读,我猜我需要在某种程度上使用Emgu (我正在用C#编写代码)。
有人能为我指明正确的方向开始吗?什么是正确的方法,我正在努力实现?斑点追踪?
发布于 2022-08-26 22:50:51
我知道这很古老,但我最近恰好做到了这一点。
我有一个旧的智能手机,我可以远程启用LED闪光灯+拍照并下载。我在车库门的特定位置上安装了一个闪亮的反光镜,智能手机被钻到墙上。
我是用python实现的。我通过HTTP下载图片,经过几次尝试后,我确定了在哪里裁剪完整的图片。然后,我计算亮度,这往往表明一个有效的检测超过150 (通常是200当反射器在这里,130当它不是亮着,10当反射器不在这里,灯是关闭的)。
def loadFromCam(url):
print("GET " + baseUrl + url)
return requests.get(baseUrl + url, timeout=(10,10))
def brightness(im):
stat = ImageStat.Stat(im)
return stat.rms[0]
def loadImage():
response = loadFromCam("cam/1/frame.jpg")
f = open(destination + 'frame.jpg', 'wb')
f.write(response.content)
f.close()
return Image.open(BytesIO(response.content))
def cropImage(img):
left = 365
top = 400
right = 410
bottom = 435
return img.crop((left, top, right, bottom))
def toggleLed():
loadFromCam("cam/1/led_toggle")然后是如何使用的:
toggleLed()
time.sleep(0.1)
image = loadImage()
toggleLed()
crop = cropImage(image)
crop.save(destination + "crop.jpg")
print("brightness:", brightness(crop))结果是两个文件(完整的图片和裁剪)和亮度。
注意:我刚刚开始使用Python,所以这可能很难看,也可能不是推荐的做法。
https://stackoverflow.com/questions/61899111
复制相似问题