当前位置:编程学习 > C#/ASP.NET >>

有物体经过笔记本的摄像头,就可以发出欢迎光临的声音,这个可以实现么?

类似便利店的响铃,不过便利店用的是红外线,不知道笔记本的摄像头能不能做到类似的效果呢?

求教各位大神 --------------------编程问答-------------------- 不知道 帮顶 --------------------编程问答-------------------- 间隔一段时间,拍摄两站照片,比较两站照片是否一致? --------------------编程问答-------------------- 可以

保持正常的时候,得到一招照片

得到 里面像素颜色值最多的 几种颜色的数量


从摄像头每隔1s得到一招照片
得到 里面像素颜色值最多的 几种颜色的数量

看看是否超出你的误差范围,超过就认为有人进入,报警


--------------------编程问答-------------------- 学习下,原来摄像头还可以做这个。。。。 --------------------编程问答-------------------- 这个~~感觉好厉害的样子~ --------------------编程问答--------------------
引用 2 楼  的回复:
间隔一段时间,拍摄两站照片,比较两站照片是否一致?


能给点例子看看么,这个感觉起来好科幻 --------------------编程问答-------------------- 可以的 --------------------编程问答-------------------- 采集一张没人的图片,二值化。循环采集图片二值化后与原图片做对比,超过一定差阈就判定有个人 --------------------编程问答-------------------- http://hi.baidu.com/00686cn/blog/item/942976e7013c6c22b83820db.html

你可以参考 相似图 --------------------编程问答--------------------
引用 8 楼  的回复:
采集一张没人的图片,二值化。循环采集图片二值化后与原图片做对比,超过一定差阈就判定有个人


this should work --------------------编程问答--------------------
USB摄像头试过,可以

摄像头方向要调好,别对这大街,不然嘿嘿



那种门铃,淘宝 100+ 就能买一个,我店里就装了一个


--------------------编程问答--------------------
引用 3 楼  的回复:
可以

保持正常的时候,得到一招照片

得到 里面像素颜色值最多的 几种颜色的数量


从摄像头每隔1s得到一招照片
得到 里面像素颜色值最多的 几种颜色的数量

看看是否超出你的误差范围,超过就认为有人进入,报警


把所有颜色按照一定阀值变为简单色(甚至黑白)就足矣。用不着颜色。 --------------------编程问答-------------------- 比如书屏幕上只有20x15个黑白色块(而不需要是1024x768的点),那么有其中某三个上下连接的色块同时由白变黑就知道有人了。 --------------------编程问答-------------------- Sp1234, thank you for provided an optimal solution.  --------------------编程问答--------------------  


optimal solution?!


你还是试一下再说吧

楼上几位都挺中肯。

跟你提个人

西门吹雪

认识吗?

全身白衣的那位,看你色块怎么同时由白变黑

他吹得不是雪

他就爱吹

爱吹 English

dude,it's far away from being an optimal solution. --------------------编程问答-------------------- all right, I will show you my project soon. --------------------编程问答-------------------- 各位大大,我找了段操作摄像头的代码,我用于我笔记本上,编译通过,不报错,但是就是显示黑屏,不能显示图像,搜索的关键字是C# 摄像头编程。关键代码:
 public void StartCam()
        {
            byte[] lpszName = new byte[100];
            byte[] lpszVer = new byte[100];

            Cams.capGetDriverDescriptionA(0, lpszName, 100, lpszVer, 100);
            this.lwndC = Cams.capCreateCaptureWindowA(lpszName, Cams.WS_VISIBLE + Cams.WS_CHILD, 0, 0, mWidth, mHeight, mControlPtr, 0);

            if (this.capDriverConnect(this.lwndC, 0))//这里往设备发送开启信号无反应
            {
                this.capPreviewRate(this.lwndC, 66);
                this.capPreview(this.lwndC, true);
                Cams.BITMAPINFO bitmapinfo = new Cams.BITMAPINFO();
                bitmapinfo.bmiHeader.biSize = Cams.SizeOf(bitmapinfo.bmiHeader);
                bitmapinfo.bmiHeader.biWidth = 352;
                bitmapinfo.bmiHeader.biHeight = 288;
                bitmapinfo.bmiHeader.biPlanes = 1;
                bitmapinfo.bmiHeader.biBitCount = 24;
                this.capSetVideoFormat(this.lwndC, ref bitmapinfo, Cams.SizeOf(bitmapinfo));
                this.mFrameEventHandler = new Cams.FrameEventHandler(FrameCallBack);
                this.capSetCallbackOnFrame(this.lwndC, this.mFrameEventHandler);
                Cams.SetWindowPos(this.lwndC, 0, 0, 0, mWidth, mHeight, 6);
            }
        }
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,