learning opencv 4-1

本文介绍了OpenCV中IlpImage的重要细节,包括imageData、width和widthStep的概念。width表示图像每行像素数,而widthStep确保内存4字节对齐,可能是width的整数倍。当图像宽度为偶数时,widthStep等于width乘以通道数;若为奇数,widthStep会自动填充额外字节。imageData作为一维数组,指向图像数据首地址,第y行首地址可通过imageData+y*widthStep获取。此外,文章还提及了如何将多幅图像显示于同一图像中。
摘要由CSDN通过智能技术生成

这个程序里面需要注意IlpImage的几个细节概念,imageData,width以及widthStep!

opencv里分配的内存按4个字节对齐,width表示图像的每行像素数,widthStep表示存储一行像素需要的字节数,是4的整数倍,不一定等于width;

当width为偶数时,widthStep与width*nChannels相等;

但是当width为奇数是,width就会自动填充一个像素的长度;

char* imageData指针指向图像数组的首地址,imageData是一个一维数组

图像img第y行的首地址为:img->imageData+y*img->widthStep;


将三幅图像显示到一个图像中:

#include<opencv2\opencv.hpp>
using namespace cv;
using namespace std;

int main()
{
	CvCapture* capture = cvCreateFileCapture("E:\\我的文件夹\\梦江南.avi");
	IplImage* frame;
	IplImage* gray_img;
	IplImage* canny_img;
	IplImage* new_img;
	//cvNamedWindow("show_video");
	//cvNamedWindow("gray_image");
	//cvNamedWindow("canny_detect");
	cvNamedWindow("all", 0);
	while (1)
	{
		frame = cvQueryFrame(capture
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值