OV7670上位机实现

2018-01-26 10:29:54来源:网络收集作者:咖啡不加糖人点击

分享

[var1]

 OV7670 是 OV(OmniVision)公司生产的一颗 1/6 寸的 CMOS VGA 图像传感器。该传感器体积小、工作电压低,提供单片 VGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率 8 位影像数据。该产品 VGA
图像最高达到 30 帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡度、色度等都可以通过 SCCB 接口编程。


OV7670上位机实现


 由于目前该摄像头模块笔者仍在调试中,所以具体下位机部分,将会在以后记载。


 笔者的上位机程序源代码放在了github上,上面包含由项目文件,如只是需要程序,可以发邮箱给我。需要注意的是,上位机是和下位机通过串口进行通讯的,因此,针对不同的下位机,也就需要由不同的上位机。笔者的上位机仍有不完善的地方,大家如果需要参考,切记要根据自己的下位机进行修改,或者按照我接下来的方式,修改你的下位机程序进行测试,这里是以OV7670的彩条测试为例。


1.下位机(单片机,笔者使用的是STM32ZET6(核心板))


下面是单片机模拟生成彩条的程序段


//单片机生成彩条测试
void OV7670_CreatColor()
{
uint16_t i,j,k = 0;
uint16_t color = 0;
//列缓存区
uint16_t buff[320];
while(1)
{
//数据开始(从上往下,从左往右)
printf("data:/n");for(i=0;i<240;i++)
{
printf("L");//列有效
for(j=0;j < 320;j++)//一列
{
//生成彩条
if(i < 30)
{
color = 0xFFFF;
}else if(i < 60)
{
color = 0x2233;
}else if(i < 90)
{
color = 0x4455;
}else if(i < 120)
{
color = 0x7788;
}else if(i < 150)
{
color = 0xAABB;
}else if(i < 180)
{
color = 0xCC88;
}else if(i < 210)
{
color = 0x0099;
}else
{
color = 0xFFFF;
}
buff[j] = color;
}
//准备好一列数据
for(k=0;k<320;k++)
{
printf("%04X", buff[k]);//打印色条
}
printf("/n");
}
}
}
 2.上位机(采用C#和VS2015开发)

上位机主要是接收下位机发送的数据,并将数据显示在PictureBox中,中间需要用到串口类的监听数据是否到达的事件


DataReceived。


///
/// 串口数据到达事件
///

///
///
private void Sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data;
Color[] colors;
//检测串口是否打开
if (isOpen)
{
//可能会出现意想不到错误的代码区域
try
{
//检测是否开始发送数据
if (sp.ReadLine().Equals("data:"))
{
start = true;
}
//开始读取数据
if (start)
{
//绘制图像(一列一列地绘制)
for (int Xcount = 0; Xcount < 240; Xcount++)
{
if (isOpen)
{
//读一列
data = sp.ReadLine();
if (data.StartsWith("L"))//列有效
{
colors = RGBToBitmap(data.Substring(1));
}
else
{
return;
}
}
else
{
return;
}
for (int Ycount = 0; Ycount < 320; Ycount++)
{
OvImage.SetPixel(Xcount, Ycount, colors[Ycount]);
}
this.pbImage.Image = OvImage;
}
start = false;//接收数据结束
}
}
catch (Exception ex)
{
return;
}
}
}

其他部分的代码请参见github上的代码,如有错误,欢迎大家批评指正,附模拟彩条测试效果。 


OV7670上位机实现


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台