某客户关于摄像头使用心得

时间:2024.5.8

前些天在手创买了个OV5116的摄像头,回来后用绘声绘影软件和EasyCap视频采集卡看不到图像, 用示波器测试摄像头的时序信号完全正确,并且注意到场中断是16.6 ms,也就是说该视频信号是NTSC制式的,和摄像头附带资料上的摄像头参数(field 60 HZ)说明相符合。

我又换了个OV7950的摄像头(彩色的,图像非常漂亮,也是在手创买的),回来后也看不到图像,咨询了一下手创的技术人员,说OV7950也是NTSC制式的。手创的技术人员说一个摄像头看不到图像他可以忍受,但是两个都看不到他无法忍受了。呵呵,听了他的话,我自己也觉得不正常,毕竟人家专业,然后开始从我自己身上查找原因,首先从视频采集卡下手,我换了个OV6620摄像头(50HZ,PAL制式的),可以看到图像;我又查过视频采集卡的资料,可以支持NTSC制式的。这样我排除了视频采集卡的原因, 然后又从绘声绘影软件下手查找原因。

我打开软件,挨个的去尝试打开那些以前没用到过的一些功能和选项区找一下是不是我对软件的设置没有操作正确,然后就有了突破性的发现。呵呵,我改了一下设置,就看到图像啦。

我简单总结如下:

1.摄像头制式判别:目前的视频制式我用过的又两种:PAL制式和NTSC制式。我们中国用的是PAL制式。大家可以去网上随便百度一下,就可以了解了。你的摄像头是什么制式的要去看技术文档,如果是英文文档,摄像头参数有个field (就是场频)参数,如果它是50HZ,那么它就是Pal制式的;如果field 是60HZ,就是NTSC制式的。这样只看技术文档还不行,因为摄像头的制式是可以通过SCCB来更改的,有可能进行过改装,所以,从严谨的角度出发,大家一定要用示波器去测试摄像头场中断的时序信号,如果您读出来的时序信号的周期是20 ms,那么它是PAL制式的;如果是16.6 ms 左右的,那么它是NTSC制式的。这个是怎么算的,大家对场频参数取倒数就是周期了。还有些地方给的参数是帧频(一帧就是一幅图像),帧频是场频的一半,也就是说,PAL制式的帧频是25HZ,NTSC制式的是30HZ。

2.绘声绘影软件使用:绘声绘影软件正确安装后,默认只支持PAL制式的图像,大家注意,PAL制式和NTSC制式不能兼容。如果您的摄像头测试以后确定是PAL制式的,您对软件设置可以不做修改,但是如果您的摄像头是NTSC制式的,您使用默认设置就看不到图像了(我以前用的摄像头都是PAL制式的,因此形成了定性思维,再加上自己本身对软件业没有透彻了解过,我就走了弯路,带来了很多麻烦)。

修改设置方法如下:打开软件后,在面板上找到“选项”这一个选项,单击它,然后出来的下拉菜单有一个“视频和音频捕获属性设置”,打开它,找到“电视制式”,改成NTSC,然后“输入来源”改成视频组合,大家根据自己的实际情况进行设置,总之,大概是这个意思,呵呵。

说明:以上只是我根据自己的经验和查阅的资料提出的一点个人见解,希望对大家有所帮助,少走弯路,不具有权威性,与其他大虾著作的文档如有雷同,纯属巧合,

最后,小弟不才,班门弄斧了,呵呵,如果我有说错的,恳请指教并拜求改正,谢谢!

“选择手创,没错!!”


第二篇:摄像头


using System;

using System.Runtime.InteropServices;

using System.Drawing;

using System.Drawing.Imaging;

namespace WeightSystem

{

/// <summary>

/// 一个控制摄像头的类

/// </summary>

public class Pick

{

private const int WM_USER = 0x400;

private const int WS_CHILD = 0x40000000;

private const int WS_VISIBLE = 0x10000000;

private const int WM_CAP_START = WM_USER;

private const int WM_CAP_STOP = WM_CAP_START + 68;

private const int WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;

private const int WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11; private const int WM_CAP_SAVEDIB = WM_CAP_START + 25;

private const int WM_CAP_GRAB_FRAME = WM_CAP_START + 60;

private const int WM_CAP_SEQUENCE = WM_CAP_START + 62;

private const int WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20; private const int WM_CAP_SEQUENCE_NOFILE = WM_CAP_START + 63; private const int WM_CAP_SET_OVERLAY = WM_CAP_START + 51;

private const int WM_CAP_SET_PREVIEW = WM_CAP_START + 50;

private const int WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START + 6; private const int WM_CAP_SET_CALLBACK_ERROR = WM_CAP_START + 2; private const int WM_CAP_SET_CALLBACK_STATUSA = WM_CAP_START + 3; private const int WM_CAP_SET_CALLBACK_FRAME = WM_CAP_START + 5; private const int WM_CAP_SET_SCALE = WM_CAP_START + 53;

private const int WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52;

public static int WM_CAP_DLG_VIDEOSOURCE = (WM_CAP_START + 42); //选择摄像头

private IntPtr hWndC;

private bool bStat = false;

private IntPtr mControlPtr;

private int mWidth;

private int mHeight;

private int mLeft;

private int mTop;

/// <summary>

/// 初始化摄像头

/// </summary>

/// <param name="handle">控件的句柄</param>

/// <param name="left">开始显示的左边距</param>

/// <param name="top">开始显示的上边距</param>

/// <param name="width">要显示的宽度</param>

/// <param name="height">要显示的长度</param>

public Pick(IntPtr handle, int left, int top, int width, int height) {

mControlPtr = handle;

mWidth = width;

mHeight = height;

mLeft = left;

mTop = top;

}

[DllImport("avicap32.dll")]

private static extern IntPtr capCreateCaptureWindowA(byte[] lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, int nID);

[DllImport("avicap32.dll")]

private static extern int capGetVideoFormat(IntPtr hWnd, IntPtr psVideoFormat, int wSize);

[DllImport("User32.dll")]

private static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);

/// <summary>

/// 开始显示图像

/// </summary>

public void Start()

{

if (bStat)

return;

bStat = true;

byte[] lpszName = new byte[100];

hWndC = capCreateCaptureWindowA(lpszName, WS_CHILD | WS_VISIBLE, mLeft, mTop, mWidth, mHeight, mControlPtr, 0);

if (hWndC.ToInt32() != 0)

{

SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0); SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);

SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0); SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);

SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);

SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);

SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);

SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);

}

return;

}

/// <summary>

/// 停止显示

/// </summary>

public void Stop()

{

SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);

bStat = false;

}

/// <summary>

/// 抓图

/// </summary>

/// <param name="path">要保存bmp文件的路径</param>

public void GrabImage(string path)

{

IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);

SendMessage(hWndC, WM_CAP_SAVEDIB, 0, hBmp.ToInt32());

}

/// <summary>

/// 录像

/// </summary>

/// <param name="path">要保存avi文件的路径</param>

public void Kinescope(string path)

{

IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);

SendMessage(hWndC, WM_CAP_FILE_SET_CAPTURE_FILEA, 0, hBmp.ToInt32()); SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0);

}

/// <summary>

/// 停止录像

/// </summary>

public void StopKinescope()

{

SendMessage(hWndC, WM_CAP_STOP, 0, 0);

}

/// <summary>

///

/// </summary>

public void SetShow()

{

SendMessage(hWndC, WM_CAP_DLG_VIDEOSOURCE, 0, 0);

}

}

}

//把抓到的图像保存到硬盘

private void button3_Click(object sender, EventArgs e)

{

try

{

SaveFileDialog SaveFileDialog1=new SaveFileDialog();

SaveFileDialog1.Filter = "bmp files (*.bmp)|*.bmp|jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";

SaveFileDialog1.FilterIndex = 2; //默认图片保存格式 JPG SaveFileDialog1.RestoreDirectory = true;

SaveFileDialog1.FileName = "Pic01"; //默认图片保存名称 Pic01

if (SaveFileDialog1.ShowDialog() == DialogResult.OK) {

pk.GrabImage(SaveFileDialog1.FileName);

}

}

catch

{

}

}

更多相关推荐:
摄像心得

摄像心得体会本学期的摄像课程要求上交一个作品为此我们进行了拍摄从题材的选定开始组里的成员从无从下手到各有意见不过我们还是本着少数服从多数的原则敲定了拍摄同性恋公益片这个主题由于经验的不足和考虑上的欠缺一开始只是...

摄像心得体会

摄像心得体会前几天电视教育节目制作课程要求我们做了一个摄像作业这次摄像作业是我第一次摄像虽然在整个摄像过程中我一共才拍摄了大约十分钟但是我觉得在短短的十分钟里我掌握了摄像机的基本构造和摄像的基本操作这可能比我看...

我的摄像心得体会

实习心得体会十月三十一号的早上我们带着激动与渴望踏上了青州杨集的摄像实习旅程,带着一份憧憬,带着一份期待,我们出发了。接下来我就顺着实习的进行,说一下青州杨集的特色,再穿插着说一下自己对摄像的一些心得与体会。由…

摄像心得

我是第二次接触摄像机,像我,非常了解自己的摄像水平,所以在实验课之前,我很详细地看了教材中有关的摄像技术讲解,希望到时能在实践中快速地学习与掌握。我选取的拍摄题材是:校园青春励志片。通过主人公大一到大三不同的生…

摄像培训心得

培训心得经过几个月的培训与学习,在xx老师的认真教导指点下,使我这个对摄像一窍不通的新人初窥门道,但是在几次实战拍摄中总是能发现自己存在的不足和差距,总是能发现新的问题,在与成熟的拍摄作品的对比中,我认识到我在…

摄像技术培训心得

摄像技术培训心得济南槐荫中学李兆红20xx年3月11日在区教育局523室参加了摄像技术培训通过本次学习收获很大虽然大学的时候学过相关的知识但是通过本次培训既是对以前所学知识的巩固又是对工作实践的补充和提高对以后...

摄像课心得体会

摄像结课心得学院:美术学院姓名:赵素敏班级:数码设计二班学号:091064015这学期我们专业开设了摄像这门课程。老师要求我们分组作业,每组每人都有各自要完成的任务,都有要担当的责任。刚开始拍摄还是很顺利的,只…

风光摄影心得

风光摄影心得第一强光下拍照摄影师们都喜欢在拂晓和黄昏前后的两个黄金时段去拍风光那时候低角度的斜阳能够揭示出场景的轮廓和纹理并让它们沐浴在华丽多彩的光线之中但如果你一天的拍摄只有二三个小时你又怎么能去享受摄影并以...

摄像机心得

20xx20xx学年第一学期课程名称现代传播技术实验任课教师汤逢兴题目摄像机学习心得学号JNL1OO24姓名陈淇淇年级10级专业新闻学提交日期20xx年12月29日摄像机学习心得在本学期的学习中我掌握了摄像机的...

高清晰度摄像机的使用技巧与心得随笔

高清晰度摄像机的使用技巧与心得随笔数字高清产品进入我国广播电视及影视制作领域大概有4年多的时间由于我国数字高清晰度电视HDTV播出标准未定高清和标清电视播出系统的差异高清设备价格昂贵等因素影响真正使用高清摄像机...

电视新闻摄像心得

电视新闻摄像心得20xx1115180028一会议新闻报道会议新闻是时政新闻中常见的题材从中央的新闻联播到各省市县各级电视台的新闻联播体新闻中会议新闻都占据相当大的比重可以说拍好会议新闻是时政新闻记者的基本功我...

摄像艺术的心得

摄像艺术的心得冯圆110120xx广告一班每当我们看到电视荧屏上的一部部电视作品的时候为摄像师精湛的摄像技术而感叹的时候我们不知道其实拍摄一部作品是需要很多努力的一部电视作品的完成需要前期的拍摄和后期的制作尤其...

摄像心得(28篇)