关于USB摄像头这方面的问题

河遥 2013-04-03 02:59:07
从网上找了一个控制摄像头的代码,然后我小改了一下,变成3秒自动截图,然后把截图二值化存在另一个文件夹,截图的保存都是覆盖的,一直都是一张图片,但是一运行,就比较卡,不用二值化的时候还可以,有的时候还不会立即把截到的图片二值化保存。很郁闷,想问问前辈们,这种情况该怎么解决??

Clipboard.Clear: SendMessage ctCapWin, WM_CAP_Edit_Copy, 0, 0 '将当前图像复制到剪贴板
SavePicture Clipboard.GetData, App.Path & "\1.bmp"
Exit Sub

这是截图功能 ,我设了个Timer 让他3秒调用一次,然后还有个二值化方法,把图片给二值化了。
...全文
663 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2013-04-05
  • 打赏
  • 举报
回复
引用 6 楼 Veron_04 的回复:
问题是他这个是不是USB摄像头哦? 有没有转业的SDK支持?
目前我了解到的视频设备大致有4种: 1、带驱动的摄像头(大多为 USB 接口的设备,可通过 VFW、DirectShow 访问) 2、网络摄像头(通常是厂商自定义的网络协议,不过通常也有控件什么的接口供用户或开发者调用) 3、视频捕获卡或类似的设备(有像USB摄像头一样的提供驱动视频接口访问的,也有专门提供软件或接口访问的,有时候必须要厂商的 SDK 才能进行开发) 4、专业的数码设备,如某品牌的数码摄像机、数码相机等(通常这种设备都提供电脑接口,还在驱动中提供相关的软件供用户使用,但未必提供通用接口,要在这种设备上搞接口软件开发,有时候必须借助厂商的 SDK 才行,但有些品牌型号甚至没有 SDK 的,所以这类东西未必支持这种应用的二次开发) 我想楼主既然是搞这一块开发,在硬件选型上肯定会找一款能够支持二次开发的硬件产品,不至于选个不是通用接口而且还没有 SDK 或没有相关组件支持的设备吧,看你是多虑了。
现在还是人类 2013-04-04
  • 打赏
  • 举报
回复
还有,高效的图形处理建议用GDI或GDI+来做,用VB自带的图形处理方案效率很低的。
贝隆 2013-04-04
  • 打赏
  • 举报
回复
问题是他这个是不是USB摄像头哦? 有没有转业的SDK支持?
现在还是人类 2013-04-04
  • 打赏
  • 举报
回复
引用 4 楼 Veron_04 的回复:
不要二值化处理,直接保存,二值化会比较耗费CPU资源的。
看处理方法的,方法不对肯定慢,但方法对了,VB也可以用的。 看看这个: http://www.56.com/u89/v_NDU3NjczODI.html
贝隆 2013-04-04
  • 打赏
  • 举报
回复
不要二值化处理,直接保存,二值化会比较耗费CPU资源的。
河遥 2013-04-03
  • 打赏
  • 举报
回复

    
    Picture1.Picture = LoadPicture(App.Path & "\1.bmp")
    Picture1.AutoSize = True
    
    Dim R As Byte
    Dim G As Byte
    Dim B As Byte
    Dim aaa As Long
    Dim bbb As Byte
    Dim i As Integer
    Dim j As Integer
  
    For i = 1 To Picture1.ScaleHeight Step 15
    For j = 1 To Picture1.ScaleWidth Step 15
    aaa = Picture1.Point(j, i)
    R = (aaa Mod 256) '取得红色值
    G = (aaa Mod 65536) \ 256 '取得绿色值
    B = (aaa Mod 16777216) \ 65536 '取得蓝色值
    bbb = R / 3 + G / 3 + B / 3 '取得灰度值
    If bbb >= 124 Then '这里bbb可作适当改变以获得最佳2值化效果
    Picture1.PSet (j, i), RGB(255, 255, 255)
    Else
    Picture1.PSet (j, i), RGB(0, 0, 0)
    End If
    Next j
    Next i
    
    SavePicture Picture1.Image, "C:\Documents and Settings\abc\My Documents\light test\Assets\Standard Assets\Light Cookies\1.bmp"
这是二值化方法。。

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧