iplimage 填充数据

三通道修改:

 

// opencv_iplimage.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <opencv.hpp>
#include <Windows.h>
using namespace cv;

struct color
{
	int r;
	int g;
	int b;
};
int _tmain(int argc, _TCHAR* argv[])
{
	IplImage* gray;
	
	BYTE* data ;
	int m_Width = 640;
	int m_Height = 480;
	

	IplImage* pImgEmbed = NULL;
	gray = cvLoadImage("Chrysanthemum.jpg",1);
	data = (uchar *)gray->imageData;
	m_Width = gray->width;
	m_Height = gray->height;
	
	IplImage* iplimage = cvCreateImageHeader(cvSize(m_Width,m_Height),gray->depth,gray->nChannels);
	
	int w = 1024;
	for(int i=0;i<768;i+=1)
	{
		for(int j=0;j<w;j+=1)
		{
			data[(j+i*w)*3] = 0;	//蓝
			data[(j+i*w)*3+1] = 0;  //绿
			data[(j+i*w)*3+2] = 255; //红
			
		}
	}

	

	pImgEmbed = cvCreateImageHeader(cvSize(m_Width,m_Height),gray->depth,gray->nChannels);
	cvSetData(pImgEmbed,data,pImgEmbed->widthStep);
	cvNamedWindow("window",0);
	cvShowImage("widnow",pImgEmbed);
	cvWaitKey();
	return 0;
}


单通道修改:

 

// opencv_iplimage.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <opencv.hpp>
#include <Windows.h>
using namespace cv;

struct color
{
	int r;
	int g;
	int b;
};
int _tmain(int argc, _TCHAR* argv[])
{
	IplImage* gray;
	
	BYTE* data ;
	int m_Width = 640;
	int m_Height = 480;
	

	IplImage* pImgEmbed = NULL;
	gray = cvLoadImage("Chrysanthemum.jpg",0);
	data = (uchar *)gray->imageData;
	m_Width = gray->width;
	m_Height = gray->height;
	
	IplImage* iplimage = cvCreateImageHeader(cvSize(m_Width,m_Height),gray->depth,gray->nChannels);
	
	int w = 640;
	for(int i=0;i<480;i+=1)
	{
		for(int j=0;j<w;j+=1)
		{
			data[(j+i*w)*1] = 125;	//黑白
		}
	}

	

	pImgEmbed = cvCreateImageHeader(cvSize(m_Width,m_Height),gray->depth,gray->nChannels);
	cvSetData(pImgEmbed,data,pImgEmbed->widthStep);
	cvNamedWindow("window",0);
	cvShowImage("widnow",pImgEmbed);
	cvWaitKey();
	return 0;
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值