OpenCV实战笔记(2):格式转化

本文介绍了如何在OpenCV中进行图像格式的转化,包括`Mat`与`IplImage*`之间的相互转换,以及在MFC中将`Mat`显示到imageBox时的转换方法。还提到了通过指针将不同相机格式直接转化为`Mat`的操作。
摘要由CSDN通过智能技术生成

http://blog.csdn.net/yang_xian521/article/details/6894716

  • IplImage* —— Mat
IplImage* img = cvLoadImage("greatwave.png", 1);  
Mat mtx(img); 
  • Mat ——IplImage*
Mat I;  
IplImage* pI = &I.operator IplImage();  


另一种更好的调用方式

Mat I;
Ptr<IplImage> piI = &I.operator IplImage();

 
  • Mat——CvMat*
Mat I;  
CvMat* mI = &I.operator CvMat();  

在将Mat显示到MFC的imageBox 的时候,用到了Mat转化为IplImage*的转化

另外,初始化,利用指针,将其他相机的格式直接转化为Mat,如

camera.StartGrabbing(GrabStrategy_LatestImageOnly, GrabLoop_ProvidedByUser);

CGrabResultPtr ptrGrabResult;
			
camera.RetrieveResult(3000, ptrGrabResult, TimeoutHandling_ThrowException);
uint32_t width = ptrGrabResult->GetWidth();
uint32_t height = ptrGrabResult->GetHeight();

if (ptrGrabResult->GrabSucceeded())
{
				
    uint8_t *pImageBuffer = (uint8_t *)ptrGrabResult->GetBuffer();
    mat.create(height, width, CV_8UC1);
    Mat PYLON2CVimg(height, width, CV_8UC1, pImageBuffer, 0); // AUTO_STEP = 0

}
http://blog.csdn.net/yang_xian521/article/details/7107786


===================================================================

#include <pylon/PylonIncludes.h>
#include <pylon/PylonGUI.h>

using namespace Pylon;
using namespace GenApi;

PylonInitialize();

CPylonImage pylonImage;
pylonImage.Load("Pylon_20-55-33.bmp");

cv::Mat openCvImage = cv::Mat(pylonImage.GetHeight(), pylonImage.GetWidth(), CV_8UC1, (uint8_t *)pylonImage.GetBuffer());
 .
 . 
 .
PylonTerminate();








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yaked19

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值