是否有可能使PC的网络摄像头充当环境光线传感器? 我在Windows 8 pro中使用.Net 4.5框架。使用网络摄像头作为PC中的环境光线传感器
回答
菲利普的回答这个问题:How to calculate the average rgb color values of a bitmap有代码,将计算bitmat图像的平均RGB值(BM在他的代码):
BitmapData srcData = bm.LockBits(
new Rectangle(0, 0, bm.Width, bm.Height),
ImageLockMode.ReadOnly,
PixelFormat.Format32bppArgb);
int stride = srcData.Stride;
IntPtr Scan0 = dstData.Scan0;
long[] totals = new long[] {0,0,0};
int width = bm.Width;
int height = bm.Height;
unsafe
{
byte* p = (byte*) (void*) Scan0;
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
for (int color = 0; color < 3; color++)
{
int idx = (y*stride) + x*4 + color;
totals[color] += p[idx];
}
}
}
}
int avgR = totals[0]/(width*height);
int avgG = totals[1]/(width*height);
int avgB = totals[2]/(width*height);
一旦你的平均RGB值,你可以使用颜色。 GetBrightness来确定它是如何光明或黑暗。 GetBrightness将返回0到1之间的数字,0是黑色,1是白色。您可以使用这样的事情:
Color imageColor = Color.FromARGB(avgR, avgG, avgB);
double brightness = imageColor.GetBrightness();
你也可以将RGB值转换为HSL,并期待在“L”,这可能是更准确,我不知道。
感谢您的回复,这将适用于亮度部分。从你之前的评论中,我正在寻找WIA,以及它如何能够访问cam并找到本文http://social.msdn.microsoft.com/Forums/en-US/tailoringappsfordevices/thread/38ce76d0-8d1f-4c20 -a06e-67a9a919c9ee - 这表示Windows 8不支持WIA:( –
@indranilpal如果您阅读了链接,Rob Caplan说:“问题和答案是针对Metro风格的应用程序的,WIA支持桌面应用程序。”它可以在Windows 8上运行,而不是在Metro应用程序上,普通的dekstop应用程序可以使用WIA。此外,还有很多库用于访问网络摄像头。 –
是的,我忽略了这一部分...它支持桌面模式。如果我遇到任何问题,我会尽力实施它并让你知道。 –
- 1. 使用iPhone摄像头作为PC上的网络摄像头
- 2. Android摄像头取光传感器值
- 3. 使用iPhone摄像头作为亮度传感器
- 4. 作为网络摄像头访问手机摄像头C++
- 5. 阅读iPhone的环境光传感器
- 6. Wowza Streaming Cloud检测无编码器的PC网络摄像头
- 7. 如何使用ip摄像头作为网络摄像头在电脑
- 8. OpenCV - 网络摄像头不起作用
- 9. 从网站连接到网络摄像头不用闪光灯
- 10. 使用OpenCv检测PC上摄像头/摄像头的数量
- 11. 访问网络摄像头使用vb.net
- 12. 网络摄像头使用手机
- 13. 使用摄像头作为android模拟器摄像头
- 14. 使用网络摄像头作为HTML背景
- 15. 流的网络摄像头的视频通过UDP PC
- 16. 网络摄像头流对等网络
- 17. 网络摄像头捕捉
- 18. iPhone网络摄像头Feed
- 19. 网络摄像头校准
- 20. 使用动作捕捉使用网络摄像头的照片
- 21. 网络摄像头问题与jQuery网络摄像头在Internet Explorer中
- 22. C++的无线传感器网络
- 23. Android模拟器+网络摄像头
- 24. 来自工作线程的网络摄像头
- 25. AMCap中的多个网络摄像头
- 26. VB.net中的网络摄像头接口
- 27. JavaApplet中的网络摄像头
- 28. 如何检测是否有网络摄像头连接到PC?
- 29. 条码阅读器使用网络摄像头的web应用
- 30. 使用vlc与rtsp流式传输网络摄像头视频
你的意思是检测摄像头可以看到的房间里有多少光线?只需使用WIA或其他库来拍摄照片,然后查看像素以确定它们有多暗或暗。 –
感谢您的回复。我将搜索并理解WIA的使用,我也在寻找Aforge .net是否可以提供帮助。但是,你能帮我理解我能如何通过像素来确定它吗? –