请问那位大哥有这样一个历程:
立宇泰电子公司的新版2440配套光盘中有:“ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。具备了预览显示和图像抓取(保存为BMP)两项功能。”
如果方便请上传或发邮件到345170803@qq.com
42 个解决方案
#1
在“SMDK2440”这个BSP包中,FILES文件下基本都有CameraTest.exe这个摄像头测试程序,但是具体不太知道怎样使用,请教!
#2
这里估计很少有人会用到你说的那个板子。不过做摄像头的驱动应该是一个比较广的应用。就是流驱动。
#3
www.pudn.com估计有。那里很多东西。
#4
自己写
#5
去买一个他们的板了,反正也不贵。
#6
现在已经把天嵌的2440开发板的摄像头驱动调通了,但是在上层软件那里的怎样控制图片输出格式和抓拍上有问题,继续努力了!
#7
顶你一下。。。
#8
抓拍的话,就是通过read,camera 中的数据,通过添加相应的数据头,保存为bmp,或jpg的图片
#9
我现在不知道怎样把摄像头采集的图像放到我制作的对话框中的Picture Control控件中?
求助!!!
大哥,能说得更详细些么? 你指的read是用摄像头驱动中提供的XX_OControl()函数提供的功能么?
谢谢了!
求助!!!
大哥,能说得更详细些么? 你指的read是用摄像头驱动中提供的XX_OControl()函数提供的功能么?
谢谢了!
#10
这个得看看驱动中是如何实现的,iocontrol也可以,read也可以的,下面是主要代码你看下,读取的是p-path的rgb数据,如果读c-path的yuv的话还需要转换数据格式
f=ReadFile(hCam,bufOut,pic_size,(LPDWORD)&nBytesRead,NULL);
BITMAPINFO RGB16BitsBITMAPINFO;
ZeroMemory(&RGB16BitsBITMAPINFO, sizeof(BITMAPINFO));
RGB16BitsBITMAPINFO.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
RGB16BitsBITMAPINFO.bmiHeader.biWidth = 320;
RGB16BitsBITMAPINFO.bmiHeader.biHeight = 240;
RGB16BitsBITMAPINFO.bmiHeader.biPlanes = 1;
RGB16BitsBITMAPINFO.bmiHeader.biBitCount = 16;
RGB16BitsBITMAPINFO.bmiHeader.biCompression = BI_BITFIELDS;
//在填充数据
BITMAPFILEHEADER bmBITMAPFILEHEADER;
ZeroMemory(&bmBITMAPFILEHEADER, sizeof(BITMAPFILEHEADER));
bmBITMAPFILEHEADER.bfType = 0x4d42; //bmp
bmBITMAPFILEHEADER.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +16/*调色板结构大小*/;
bmBITMAPFILEHEADER.bfSize = bmBITMAPFILEHEADER.bfOffBits + (pic_size);
//保存图像数据
//write bitmap file header
fwrite(&bmBITMAPFILEHEADER, sizeof(BITMAPFILEHEADER), 1, mStream);
//write bitmap info
fwrite(&(RGB16BitsBITMAPINFO.bmiHeader), sizeof(BITMAPINFOHEADER), 1, mStream);
//write palette info
fwrite(&RGB565, 16, 1, mStream);
//write bitmap pixels data
fwrite(bufOut, pic_size, 1, mStream);
//close file
fclose(mStream);
#11
谢谢sanlybeen的指点,俺再仔细学习一下你说得
谢谢!
谢谢!
#12
我的2440只有一个三星提供的camtest.exe文件,没有源码。有个PXA270的EVC摄像头测试程序源码,要么
#13
我前些时候做了一个LCD的驱动开发,现在也还没有搞出来,在这一块还真有点难
#14
三星提供的camtest.exe文件,我也有,已经用来测试摄像头了。
你说的"三星提供的camtest.exe文件",我想要,什么时候方便发给我阿?
#15
我刚才说错了,
是"zzqccc"大哥说的“PXA270的EVC摄像头测试程序源码”,我想要,
请问zzqccc什么时候方便发给我,希望这两天可以么?
是"zzqccc"大哥说的“PXA270的EVC摄像头测试程序源码”,我想要,
请问zzqccc什么时候方便发给我,希望这两天可以么?
#16
源代码发到你邮箱去了,去收邮件吧、。
#17
现在的目标是要把抓拍的图形转换成jpg格式保存下来,不知道能否按照你说的方法(10楼),通过添加jpg图片的格式信息直接转换为jpg格式的图片?
还是要经过bmp转jpg的过程,那有没有bmp转jpg的WinCE下的示例代码?
#18
保存jpg得用到jpeglib这个库文件,你需要找这个库的相关资料,移植这个库,转换就比较容易了。
bmp转成jpg可能也就是几句语句。
bmp转成jpg可能也就是几句语句。
#19
在bmp图片转jpg图片的流程上,找到一个例程(带有jpgdll.dll),关键语句如下:
hInst = ::LoadLibrary(_T("jpgdll.dll"));
pFunc = (CHANGE*)::GetProcAddress(hInst,_T("BmpToJpg"));
pFunc(m_strBmp.GetBuffer(50),m_strJpg.GetBuffer(50));
m_strBmp.ReleaseBuffer();
m_strJpg.ReleaseBuffer();
::FreeLibrary(hInst);
hInst = ::LoadLibrary(_T("jpgdll.dll"));
pFunc = (CHANGE*)::GetProcAddress(hInst,_T("BmpToJpg"));
pFunc(m_strBmp.GetBuffer(50),m_strJpg.GetBuffer(50));
m_strBmp.ReleaseBuffer();
m_strJpg.ReleaseBuffer();
::FreeLibrary(hInst);
#20
但是现在有个问题,就是利用摄像头驱动中的XX_IOControl函数提供的Copy_Cam_Image()函数把RGB格式的图像缓存值拷贝到制定地方时,会出现"Data Abort"异常。
Copy_Cam_Image()函数如下:
串口调试得到的异常信息如下:
Data Abort: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03fc3ac8(coredll.dll+0x00053ac8) RA=028630e8(camera.dll+0x000030e8) BVA=06000000 FSR=00000007
RaiseException: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03f8dff4(coredll.dll+0x0001dff4) RA=8c22a61c(NK.EXE+0x0002a61c) BVA=00000003 FSR=00000003
Data Abort: Thread=8f9f02b4 Proc=8db96520 'OV9650Test.exe'
AKY=00000041 PC=03f929f4(coredll.dll+0x000229f4) RA=50616548(???+0x50616548) BVA=0e000051 FSR=00000003
请教各位高手!谢谢
Copy_Cam_Image()函数如下:
void Copy_Cam_Image(U8 *pBufOut, U32 size_x, U32 size_y, U8 port)
{
U8 *buffer_rgb,*pImage;
U32 y;
int temp,pic_size;
RETAILMSG(MSG_EN_1,(_T("++Copy_Cam_Image().\n"))); //add by Rn 20090330
pic_size = size_x*size_y*2; //this is use 176*144*2
pImage = pBufOut;
{
temp = (s2440CAM->rCIPRSTATUS>>26)&3; //FrameCnt_Pr&3
temp = (temp + 2) % 4;
switch (temp)
{
case 0:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA1; //RGB 1st frame start address for preview DMA
break;
case 1:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA2; //RGB 2st frame start address for preview DMA
break;
case 2:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA3; //RGB 3st frame start address for preview DMA
break;
case 3:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA4; //RGB 4st frame start address for preview DMA
break;
default :
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA1;
break;
}
}
RETAILMSG(MSG_EN_1,(_T("Copy_Cam_Image:temp is %d.\r\n"), temp)); //add by Rn 20090330
//出现“”异常的代码锁定为以下红色字体部分
#if (DOTNET_DRIVER) //文件开头有定义(#define DOTNET_DRIVER 1 // 0:PPC, 1:CE.NET)
SetKMode(TRUE);
#endif
buffer_rgb += VIRTUAL_OFFSET; //VIRTUAL_OFFSET=0x7C000000~camif.h
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
#if (DOTNET_DRIVER)
SetKMode(FALSE);
#endif
RETAILMSG(MSG_EN_1,(_T("--Copy_Cam_Image().\n"))); //add by Rn 20090330
}
串口调试得到的异常信息如下:
Data Abort: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03fc3ac8(coredll.dll+0x00053ac8) RA=028630e8(camera.dll+0x000030e8) BVA=06000000 FSR=00000007
RaiseException: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03f8dff4(coredll.dll+0x0001dff4) RA=8c22a61c(NK.EXE+0x0002a61c) BVA=00000003 FSR=00000003
Data Abort: Thread=8f9f02b4 Proc=8db96520 'OV9650Test.exe'
AKY=00000041 PC=03f929f4(coredll.dll+0x000229f4) RA=50616548(???+0x50616548) BVA=0e000051 FSR=00000003
请教各位高手!谢谢
#21
//出现“异常”的代码锁定为以下部分:
#if (DOTNET_DRIVER) //文件开头有定义(#define DOTNET_DRIVER 1 // 0:PPC, 1:CE.NET)
SetKMode(TRUE);
#endif
buffer_rgb += VIRTUAL_OFFSET; //VIRTUAL_OFFSET=0x7C000000~camif.h
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
#if (DOTNET_DRIVER)
SetKMode(FALSE);
#22
你用pb的远程调试工具检查内存,看看出现异常时,内存的状况,可能是内存不足了。
#23
我现在这个系统不能使用PB的远程调试工具,用开发板公司的系统就是郁闷,现在有没有时间去自己做系统。
我现在把 memcpy()函数换成memmove()函数:
换成:
问题还是出现,奇怪了!
怎么办?
我现在把 memcpy()函数换成memmove()函数:
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
换成:
memmove(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
问题还是出现,奇怪了!
怎么办?
#24
我也是怀疑pImage和buffer_rgb地址上有重叠,说一改用memmove()函数。
还是想看看 :立宇泰电子公司的新版2440配套光盘中有:“ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。具备了预览显示和图像抓取(保存为BMP)两项功能。”
还是想看看 :立宇泰电子公司的新版2440配套光盘中有:“ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。具备了预览显示和图像抓取(保存为BMP)两项功能。”
#25
小弟想要270 摄像头测试的源码学习,发下好吗?
kukusamuel@sina.com
谢了。。
kukusamuel@sina.com
谢了。。
#26
好,发到你邮箱了。
#27
自己再顶一下
#28
偶也想要那个源码,谢谢发给我一份。 michael_business@126.com
#29
CameraTest.exe是微软提供的测试程序,代码在:C:\WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA,
如果哪位的大哥的目录下面没有这个源码,那就是你安装的时候,没有选全,要用完全安装
如果哪位的大哥的目录下面没有这个源码,那就是你安装的时候,没有选全,要用完全安装
#30
自己做就行了,主要就是先读到CAMERA缓冲区的数据(一开始可以读P通道的,直接就是RGB565格式的数据),然后创建一副图片并填充一下图片头信息,再把从CAMERA读到的RGB565数据放进去就行了;C通道的YUV格式转换起来会稍微麻烦一些。
至于预览功能,应该驱动中实现的(摄像头驱动内部应该有个线程,开始采集后会自动把P通道数据拷贝到LCD缓冲)
*******************************************************************
飞凌嵌入式近期将推出300万像素摄像头解决方案(用于S3C2440),敬请关注!
www.witech.com.cn
至于预览功能,应该驱动中实现的(摄像头驱动内部应该有个线程,开始采集后会自动把P通道数据拷贝到LCD缓冲)
*******************************************************************
飞凌嵌入式近期将推出300万像素摄像头解决方案(用于S3C2440),敬请关注!
www.witech.com.cn
#31
大哥,我的是、WinCE4.2或是WinCE5.0的,好像没有找到你说的PB自带的测试源码阿
#32
现在发现一个问题啊,在两个版本的Camera驱动中,在camera.cpp文件中的CIS_IOControl()函数中,在case CAM_IOCTL_SAMSUNG_PREVIEW_START、case CAM_IOCTL_SAMSUNG_PREVIEW_STOP的分支中,都有这么一个极大的错误语句:
也就是输出语句中,只有一个输出的参数,为啥输出参数表中列有两个呢?而且编译后也没有出错!郁闷的我好几天!
后来也就学会了使用Remote Process Explorer的Crack Address功能定位程序的崩溃地址[http://www.cnblogs.com/singlerace/archive/2009/02/26/1396366.html]。
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"), *pBufOut, DRIVER_PREVIEW_ENABLE))
也就是输出语句中,只有一个输出的参数,为啥输出参数表中列有两个呢?而且编译后也没有出错!郁闷的我好几天!
后来也就学会了使用Remote Process Explorer的Crack Address功能定位程序的崩溃地址[http://www.cnblogs.com/singlerace/archive/2009/02/26/1396366.html]。
#33
也就是在
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"),*pBufOut, DRIVER_PREVIEW_ENABLE))
中,前头的输出参数之调用一个,后头的输出参数表就有两个!
编译时有没有出错,到时应用软件一调用,就TMD的就会无情的提示“Data Abort:”,造成崩溃!
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"),*pBufOut, DRIVER_PREVIEW_ENABLE))
中,前头的输出参数之调用一个,后头的输出参数表就有两个!
编译时有没有出错,到时应用软件一调用,就TMD的就会无情的提示“Data Abort:”,造成崩溃!
#34
你为什么不试试前后都输出两个参数呢 %x,%x - 》 *pBufOut, DRIVER_PREVIEW_ENABLE
你想看哪个参数就输出哪个参数好了
你想看哪个参数就输出哪个参数好了
#35
现在这个WinCE5.0下使用摄像头抓拍保存图片为JPG格式的小项目,已经基本调通。但是有个问题是,摄像头的输出图像不是很稳定,有时清晰,有时模糊或花屏,不知道具体啥原因,还得继续努力调试!
谢谢大家的热心解答,结贴咯。
谢谢大家的热心解答,结贴咯。
#36
楼主,您好,麻烦您给我发一份测试程序吧,我正需要 gaoguilong123@163.com
谢谢了
谢谢了
#37
各位高手,我要找一位摄像头编程的人,哪位有兴趣的话,加我qq:100609509,请注明编程
#38
楼主,您好,麻烦您给我发一份测试程序吧,我正需要 hgg5738@163.com
谢谢了
qq:274571716 正在利用mini2440 做个网络监控摄像头。
//SetKMode(TRUE);
memmove(DDBdata,(void *)image.rgb_address,width*height*2);
//SetKMode(FALSE);
ce6 跑到这了跑不动了 !!
谢谢了
qq:274571716 正在利用mini2440 做个网络监控摄像头。
//SetKMode(TRUE);
memmove(DDBdata,(void *)image.rgb_address,width*height*2);
//SetKMode(FALSE);
ce6 跑到这了跑不动了 !!
#39
楼主你好!!麻烦您也发一份测试程序给我,我正需要 xcygdut@163.com
谢谢了
谢谢了
#40
http://topic.csdn.net/u/20100624/20/b8ac359f-8f67-4e0d-b4ad-f7e286b6650f.html?seed=1131794121&r=66480818#r_66480818
基于WinCE5.0 +S3C2440中摄像头预览时图像旋转90度的技术疑问
现在想实现在摄像头预览时可以旋转的功能
基于WinCE5.0 +S3C2440中摄像头预览时图像旋转90度的技术疑问
现在想实现在摄像头预览时可以旋转的功能
#41
楼主能给一份程序吗?先谢谢你了!
我的邮箱fujiewudi@163.com
我的邮箱fujiewudi@163.com
#42
PXA270的EVC摄像头测试程序源码,麻烦各位大侠传一份给我啊!
谢谢啊,不胜感激涕零!!!
邮箱:wfx8421@126.com
谢谢啊,不胜感激涕零!!!
邮箱:wfx8421@126.com
#1
在“SMDK2440”这个BSP包中,FILES文件下基本都有CameraTest.exe这个摄像头测试程序,但是具体不太知道怎样使用,请教!
#2
这里估计很少有人会用到你说的那个板子。不过做摄像头的驱动应该是一个比较广的应用。就是流驱动。
#3
www.pudn.com估计有。那里很多东西。
#4
自己写
#5
去买一个他们的板了,反正也不贵。
#6
现在已经把天嵌的2440开发板的摄像头驱动调通了,但是在上层软件那里的怎样控制图片输出格式和抓拍上有问题,继续努力了!
#7
顶你一下。。。
#8
抓拍的话,就是通过read,camera 中的数据,通过添加相应的数据头,保存为bmp,或jpg的图片
#9
我现在不知道怎样把摄像头采集的图像放到我制作的对话框中的Picture Control控件中?
求助!!!
大哥,能说得更详细些么? 你指的read是用摄像头驱动中提供的XX_OControl()函数提供的功能么?
谢谢了!
求助!!!
大哥,能说得更详细些么? 你指的read是用摄像头驱动中提供的XX_OControl()函数提供的功能么?
谢谢了!
#10
这个得看看驱动中是如何实现的,iocontrol也可以,read也可以的,下面是主要代码你看下,读取的是p-path的rgb数据,如果读c-path的yuv的话还需要转换数据格式
f=ReadFile(hCam,bufOut,pic_size,(LPDWORD)&nBytesRead,NULL);
BITMAPINFO RGB16BitsBITMAPINFO;
ZeroMemory(&RGB16BitsBITMAPINFO, sizeof(BITMAPINFO));
RGB16BitsBITMAPINFO.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
RGB16BitsBITMAPINFO.bmiHeader.biWidth = 320;
RGB16BitsBITMAPINFO.bmiHeader.biHeight = 240;
RGB16BitsBITMAPINFO.bmiHeader.biPlanes = 1;
RGB16BitsBITMAPINFO.bmiHeader.biBitCount = 16;
RGB16BitsBITMAPINFO.bmiHeader.biCompression = BI_BITFIELDS;
//在填充数据
BITMAPFILEHEADER bmBITMAPFILEHEADER;
ZeroMemory(&bmBITMAPFILEHEADER, sizeof(BITMAPFILEHEADER));
bmBITMAPFILEHEADER.bfType = 0x4d42; //bmp
bmBITMAPFILEHEADER.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +16/*调色板结构大小*/;
bmBITMAPFILEHEADER.bfSize = bmBITMAPFILEHEADER.bfOffBits + (pic_size);
//保存图像数据
//write bitmap file header
fwrite(&bmBITMAPFILEHEADER, sizeof(BITMAPFILEHEADER), 1, mStream);
//write bitmap info
fwrite(&(RGB16BitsBITMAPINFO.bmiHeader), sizeof(BITMAPINFOHEADER), 1, mStream);
//write palette info
fwrite(&RGB565, 16, 1, mStream);
//write bitmap pixels data
fwrite(bufOut, pic_size, 1, mStream);
//close file
fclose(mStream);
#11
谢谢sanlybeen的指点,俺再仔细学习一下你说得
谢谢!
谢谢!
#12
我的2440只有一个三星提供的camtest.exe文件,没有源码。有个PXA270的EVC摄像头测试程序源码,要么
#13
我前些时候做了一个LCD的驱动开发,现在也还没有搞出来,在这一块还真有点难
#14
三星提供的camtest.exe文件,我也有,已经用来测试摄像头了。
你说的"三星提供的camtest.exe文件",我想要,什么时候方便发给我阿?
#15
我刚才说错了,
是"zzqccc"大哥说的“PXA270的EVC摄像头测试程序源码”,我想要,
请问zzqccc什么时候方便发给我,希望这两天可以么?
是"zzqccc"大哥说的“PXA270的EVC摄像头测试程序源码”,我想要,
请问zzqccc什么时候方便发给我,希望这两天可以么?
#16
源代码发到你邮箱去了,去收邮件吧、。
#17
现在的目标是要把抓拍的图形转换成jpg格式保存下来,不知道能否按照你说的方法(10楼),通过添加jpg图片的格式信息直接转换为jpg格式的图片?
还是要经过bmp转jpg的过程,那有没有bmp转jpg的WinCE下的示例代码?
#18
保存jpg得用到jpeglib这个库文件,你需要找这个库的相关资料,移植这个库,转换就比较容易了。
bmp转成jpg可能也就是几句语句。
bmp转成jpg可能也就是几句语句。
#19
在bmp图片转jpg图片的流程上,找到一个例程(带有jpgdll.dll),关键语句如下:
hInst = ::LoadLibrary(_T("jpgdll.dll"));
pFunc = (CHANGE*)::GetProcAddress(hInst,_T("BmpToJpg"));
pFunc(m_strBmp.GetBuffer(50),m_strJpg.GetBuffer(50));
m_strBmp.ReleaseBuffer();
m_strJpg.ReleaseBuffer();
::FreeLibrary(hInst);
hInst = ::LoadLibrary(_T("jpgdll.dll"));
pFunc = (CHANGE*)::GetProcAddress(hInst,_T("BmpToJpg"));
pFunc(m_strBmp.GetBuffer(50),m_strJpg.GetBuffer(50));
m_strBmp.ReleaseBuffer();
m_strJpg.ReleaseBuffer();
::FreeLibrary(hInst);
#20
但是现在有个问题,就是利用摄像头驱动中的XX_IOControl函数提供的Copy_Cam_Image()函数把RGB格式的图像缓存值拷贝到制定地方时,会出现"Data Abort"异常。
Copy_Cam_Image()函数如下:
串口调试得到的异常信息如下:
Data Abort: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03fc3ac8(coredll.dll+0x00053ac8) RA=028630e8(camera.dll+0x000030e8) BVA=06000000 FSR=00000007
RaiseException: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03f8dff4(coredll.dll+0x0001dff4) RA=8c22a61c(NK.EXE+0x0002a61c) BVA=00000003 FSR=00000003
Data Abort: Thread=8f9f02b4 Proc=8db96520 'OV9650Test.exe'
AKY=00000041 PC=03f929f4(coredll.dll+0x000229f4) RA=50616548(???+0x50616548) BVA=0e000051 FSR=00000003
请教各位高手!谢谢
Copy_Cam_Image()函数如下:
void Copy_Cam_Image(U8 *pBufOut, U32 size_x, U32 size_y, U8 port)
{
U8 *buffer_rgb,*pImage;
U32 y;
int temp,pic_size;
RETAILMSG(MSG_EN_1,(_T("++Copy_Cam_Image().\n"))); //add by Rn 20090330
pic_size = size_x*size_y*2; //this is use 176*144*2
pImage = pBufOut;
{
temp = (s2440CAM->rCIPRSTATUS>>26)&3; //FrameCnt_Pr&3
temp = (temp + 2) % 4;
switch (temp)
{
case 0:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA1; //RGB 1st frame start address for preview DMA
break;
case 1:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA2; //RGB 2st frame start address for preview DMA
break;
case 2:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA3; //RGB 3st frame start address for preview DMA
break;
case 3:
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA4; //RGB 4st frame start address for preview DMA
break;
default :
buffer_rgb = (U8 *)s2440CAM->rCIPRCLRSA1;
break;
}
}
RETAILMSG(MSG_EN_1,(_T("Copy_Cam_Image:temp is %d.\r\n"), temp)); //add by Rn 20090330
//出现“”异常的代码锁定为以下红色字体部分
#if (DOTNET_DRIVER) //文件开头有定义(#define DOTNET_DRIVER 1 // 0:PPC, 1:CE.NET)
SetKMode(TRUE);
#endif
buffer_rgb += VIRTUAL_OFFSET; //VIRTUAL_OFFSET=0x7C000000~camif.h
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
#if (DOTNET_DRIVER)
SetKMode(FALSE);
#endif
RETAILMSG(MSG_EN_1,(_T("--Copy_Cam_Image().\n"))); //add by Rn 20090330
}
串口调试得到的异常信息如下:
Data Abort: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03fc3ac8(coredll.dll+0x00053ac8) RA=028630e8(camera.dll+0x000030e8) BVA=06000000 FSR=00000007
RaiseException: Thread=8f9f02b4 Proc=8db96160 'device.exe'
AKY=00000045 PC=03f8dff4(coredll.dll+0x0001dff4) RA=8c22a61c(NK.EXE+0x0002a61c) BVA=00000003 FSR=00000003
Data Abort: Thread=8f9f02b4 Proc=8db96520 'OV9650Test.exe'
AKY=00000041 PC=03f929f4(coredll.dll+0x000229f4) RA=50616548(???+0x50616548) BVA=0e000051 FSR=00000003
请教各位高手!谢谢
#21
//出现“异常”的代码锁定为以下部分:
#if (DOTNET_DRIVER) //文件开头有定义(#define DOTNET_DRIVER 1 // 0:PPC, 1:CE.NET)
SetKMode(TRUE);
#endif
buffer_rgb += VIRTUAL_OFFSET; //VIRTUAL_OFFSET=0x7C000000~camif.h
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
#if (DOTNET_DRIVER)
SetKMode(FALSE);
#22
你用pb的远程调试工具检查内存,看看出现异常时,内存的状况,可能是内存不足了。
#23
我现在这个系统不能使用PB的远程调试工具,用开发板公司的系统就是郁闷,现在有没有时间去自己做系统。
我现在把 memcpy()函数换成memmove()函数:
换成:
问题还是出现,奇怪了!
怎么办?
我现在把 memcpy()函数换成memmove()函数:
memcpy(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
换成:
memmove(pImage, buffer_rgb, pic_size); //pImage=pBufOut;pic_size = size_x*size_y*2;
问题还是出现,奇怪了!
怎么办?
#24
我也是怀疑pImage和buffer_rgb地址上有重叠,说一改用memmove()函数。
还是想看看 :立宇泰电子公司的新版2440配套光盘中有:“ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。具备了预览显示和图像抓取(保存为BMP)两项功能。”
还是想看看 :立宇泰电子公司的新版2440配套光盘中有:“ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。具备了预览显示和图像抓取(保存为BMP)两项功能。”
#25
小弟想要270 摄像头测试的源码学习,发下好吗?
kukusamuel@sina.com
谢了。。
kukusamuel@sina.com
谢了。。
#26
好,发到你邮箱了。
#27
自己再顶一下
#28
偶也想要那个源码,谢谢发给我一份。 michael_business@126.com
#29
CameraTest.exe是微软提供的测试程序,代码在:C:\WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA,
如果哪位的大哥的目录下面没有这个源码,那就是你安装的时候,没有选全,要用完全安装
如果哪位的大哥的目录下面没有这个源码,那就是你安装的时候,没有选全,要用完全安装
#30
自己做就行了,主要就是先读到CAMERA缓冲区的数据(一开始可以读P通道的,直接就是RGB565格式的数据),然后创建一副图片并填充一下图片头信息,再把从CAMERA读到的RGB565数据放进去就行了;C通道的YUV格式转换起来会稍微麻烦一些。
至于预览功能,应该驱动中实现的(摄像头驱动内部应该有个线程,开始采集后会自动把P通道数据拷贝到LCD缓冲)
*******************************************************************
飞凌嵌入式近期将推出300万像素摄像头解决方案(用于S3C2440),敬请关注!
www.witech.com.cn
至于预览功能,应该驱动中实现的(摄像头驱动内部应该有个线程,开始采集后会自动把P通道数据拷贝到LCD缓冲)
*******************************************************************
飞凌嵌入式近期将推出300万像素摄像头解决方案(用于S3C2440),敬请关注!
www.witech.com.cn
#31
大哥,我的是、WinCE4.2或是WinCE5.0的,好像没有找到你说的PB自带的测试源码阿
#32
现在发现一个问题啊,在两个版本的Camera驱动中,在camera.cpp文件中的CIS_IOControl()函数中,在case CAM_IOCTL_SAMSUNG_PREVIEW_START、case CAM_IOCTL_SAMSUNG_PREVIEW_STOP的分支中,都有这么一个极大的错误语句:
也就是输出语句中,只有一个输出的参数,为啥输出参数表中列有两个呢?而且编译后也没有出错!郁闷的我好几天!
后来也就学会了使用Remote Process Explorer的Crack Address功能定位程序的崩溃地址[http://www.cnblogs.com/singlerace/archive/2009/02/26/1396366.html]。
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"), *pBufOut, DRIVER_PREVIEW_ENABLE))
也就是输出语句中,只有一个输出的参数,为啥输出参数表中列有两个呢?而且编译后也没有出错!郁闷的我好几天!
后来也就学会了使用Remote Process Explorer的Crack Address功能定位程序的崩溃地址[http://www.cnblogs.com/singlerace/archive/2009/02/26/1396366.html]。
#33
也就是在
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"),*pBufOut, DRIVER_PREVIEW_ENABLE))
中,前头的输出参数之调用一个,后头的输出参数表就有两个!
编译时有没有出错,到时应用软件一调用,就TMD的就会无情的提示“Data Abort:”,造成崩溃!
RETAILMSG(MSG_EN_1,(_T("CAM_IOCTL_SAMSUNG_PREVIEW_START(%x)\r\n"),*pBufOut, DRIVER_PREVIEW_ENABLE))
中,前头的输出参数之调用一个,后头的输出参数表就有两个!
编译时有没有出错,到时应用软件一调用,就TMD的就会无情的提示“Data Abort:”,造成崩溃!
#34
你为什么不试试前后都输出两个参数呢 %x,%x - 》 *pBufOut, DRIVER_PREVIEW_ENABLE
你想看哪个参数就输出哪个参数好了
你想看哪个参数就输出哪个参数好了
#35
现在这个WinCE5.0下使用摄像头抓拍保存图片为JPG格式的小项目,已经基本调通。但是有个问题是,摄像头的输出图像不是很稳定,有时清晰,有时模糊或花屏,不知道具体啥原因,还得继续努力调试!
谢谢大家的热心解答,结贴咯。
谢谢大家的热心解答,结贴咯。
#36
楼主,您好,麻烦您给我发一份测试程序吧,我正需要 gaoguilong123@163.com
谢谢了
谢谢了
#37
各位高手,我要找一位摄像头编程的人,哪位有兴趣的话,加我qq:100609509,请注明编程
#38
楼主,您好,麻烦您给我发一份测试程序吧,我正需要 hgg5738@163.com
谢谢了
qq:274571716 正在利用mini2440 做个网络监控摄像头。
//SetKMode(TRUE);
memmove(DDBdata,(void *)image.rgb_address,width*height*2);
//SetKMode(FALSE);
ce6 跑到这了跑不动了 !!
谢谢了
qq:274571716 正在利用mini2440 做个网络监控摄像头。
//SetKMode(TRUE);
memmove(DDBdata,(void *)image.rgb_address,width*height*2);
//SetKMode(FALSE);
ce6 跑到这了跑不动了 !!
#39
楼主你好!!麻烦您也发一份测试程序给我,我正需要 xcygdut@163.com
谢谢了
谢谢了
#40
http://topic.csdn.net/u/20100624/20/b8ac359f-8f67-4e0d-b4ad-f7e286b6650f.html?seed=1131794121&r=66480818#r_66480818
基于WinCE5.0 +S3C2440中摄像头预览时图像旋转90度的技术疑问
现在想实现在摄像头预览时可以旋转的功能
基于WinCE5.0 +S3C2440中摄像头预览时图像旋转90度的技术疑问
现在想实现在摄像头预览时可以旋转的功能
#41
楼主能给一份程序吗?先谢谢你了!
我的邮箱fujiewudi@163.com
我的邮箱fujiewudi@163.com
#42
PXA270的EVC摄像头测试程序源码,麻烦各位大侠传一份给我啊!
谢谢啊,不胜感激涕零!!!
邮箱:wfx8421@126.com
谢谢啊,不胜感激涕零!!!
邮箱:wfx8421@126.com