搜索
bottom↓
回复: 4

跪求“还原摄像头数据上位机”源码!~

[复制链接]

出0入0汤圆

发表于 2010-12-11 10:27:28 | 显示全部楼层 |阅读模式
小弟进来做一个OV7620的上位机,现在能取出数据传进PC,但怎么把十六进制数据还原成BMP或是jepg呢。。。
求源码参考~~
最好是基于MFC的~
拜谢!!
499431434@qq.com

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-12-11 10:41:08 | 显示全部楼层
完全可以把这些数据写到一个TXT文件里,完成后再更改成JPG , 再显示这张图片,

出0入0汤圆

 楼主| 发表于 2010-12-11 11:15:15 | 显示全部楼层
是个办法!~但是按照JPG的编码方式写东西有些痛苦~MFC有没类似的类或API函数自动根据数据合成图片~

出0入0汤圆

 楼主| 发表于 2010-12-11 15:29:19 | 显示全部楼层
等高手!~

出0入0汤圆

发表于 2010-12-14 15:10:04 | 显示全部楼层
自己GDI刷屏呀

void DisplayDataThread(LPVOID param)
{
        CProcessThread *pThread=(CProcessThread*)param;
        memset(&pThread->m_BmpInfo, 0, sizeof(pThread->m_BmpInfo));
        pThread->m_BmpInfo.bmiHeader.biSize            = sizeof(BITMAPINFO) ;
        pThread->m_BmpInfo.bmiHeader.biWidth           = pThread->m_Width;
        pThread->m_BmpInfo.bmiHeader.biHeight          = pThread->m_Height;
        pThread->m_BmpInfo.bmiHeader.biPlanes          = 1;
        pThread->m_BmpInfo.bmiHeader.biBitCount        = 24;
        pThread->m_BmpInfo.bmiHeader.biCompression     = BI_RGB ;
        pThread->m_BmpInfo.bmiHeader.biSizeImage       = pThread->m_Width * pThread->m_Height * 3;
        pThread->m_BmpInfo.bmiHeader.biXPelsPerMeter   = 0;
        pThread->m_BmpInfo.bmiHeader.biYPelsPerMeter   = 0;
        pThread->m_BmpInfo.bmiHeader.biClrUsed         = 0;
        pThread->m_BmpInfo.bmiHeader.biClrImportant    = 0;
       
        HDC hdc=GetDC(pThread->m_hWnd);
        int x,y;

        /************************使图像居中显示*********************************/
        x=::GetSystemMetrics(SM_CXSCREEN); //获取系统当前分辨率
        y=::GetSystemMetrics(SM_CYSCREEN); //获取系统当前分辨率
        if (x>pThread->m_Width) x=(x-pThread->m_Width)/2-10;
        else x=0;
        if (y>pThread->m_Height) y=(y-pThread->m_Height)/2-50;
        else y=0;
        /***********************************************************************/

        while(pThread->m_DisPlayFlag && pThread->m_LoopFlag)
        {
                if(pThread->m_DispPlayStart)
                {
                        pThread->MirrorImage(pThread->m_pSensorBuf,pThread->m_TempBuf,pThread->m_Width,pThread->m_Height,pThread->m_OutMode);
                        if(RAWMODE==pThread->m_OutMode) pThread->BayerConvRGB24(pThread->m_TempBuf,pThread->m_pDisPlayBuf,pThread->m_Width,pThread->m_Height);
                        else pThread->YUV_To_RGB(pThread->m_TempBuf,pThread->m_pDisPlayBuf,pThread->m_Width,pThread->m_Height,pThread->m_OutMode);
                        ::StretchDIBits(hdc,  //显示
                                x,
                                y,
                                pThread->m_Width,
                                pThread->m_Height,
                                0,
                                0,
                                pThread->m_Width,
                                pThread->m_Height,
                                pThread->m_pDisPlayBuf,
                                &pThread->m_BmpInfo,
                                DIB_RGB_COLORS,
                                SRCCOPY
                                );
                        pThread->m_DispPlayStart=false;
                }       
                Sleep(2);
        }
        ReleaseDC(pThread->m_hWnd,hdc);
        _endthread();
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-16 04:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表