C++ ATL标准读取图片

C++ ATL标准读取图片,第1张

概述本文章向大家介绍C++ ATL标准读取图片,主要包括C++ ATL标准读取图片使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

 CImage转Mat

//CImage 转 Mat

voID CImage2Mat(CImage& Image,Mat& src)

{

// CImage 转 Mat

if (Image.IsNull())

{

cout << "没加载成功" << endl;

//MessageBox(_T("没有加载成功"));

}

if (1 == Image.GetBPP() / 8)

{

src.create(Image.GetHeight(),Image.GetWIDth(),CV_8UC1);

}

else if (3 == Image.GetBPP() / 8)

{

src.create(Image.GetHeight(),CV_8UC3);

}

//拷贝数据

uchar* pucRow; //指向 Mat 数据区的行指针

uchar* pucImage = (uchar*)Image.GetBits(); //指向 CImage 数据区的指针

int nStep = Image.GetPitch();//每行的字节数,注意这个返回值有正有负

for (int nRow = 0; nRow < Image.GetHeight(); nRow++)

{

pucRow = (src.ptr(nRow));

for (int nCol = 0; nCol < Image.GetWIDth(); nCoL++)

{

if (1 == Image.GetBPP() / 8)

{

pucRow[nCol] = *(pucImage + nRow * nStep + nCol);

}

else if (3 == Image.GetBPP() / 8)

{

for (int nCha = 0; nCha < 3; nCha++)

{

pucRow[nCol * 3 + nCha] = *(pucImage + nRow * nStep + nCol * 3 + nCha);

}

}

}

}

}

总结

以上是内存溢出为你收集整理的C++ ATL标准读取图片全部内容,希望文章能够帮你解决C++ ATL标准读取图片所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1264949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存