不用opencv实现RGB图像转RGBA C

这篇博客记录了作者不用opencv,通过C语言实现RGB图像到RGBA转换的过程。作者强调理解图像处理的本质,指出在处理图像时需要注意四字节对齐的问题,否则可能导致图像显示错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己的学习记录,希望能帮到别人,小菜鸟一枚,大牛勿喷。

许多人遇到这种RGB图像转RGBA转换问题,第一是想到用opencv,确实opencv功能强大,只需要调用一个函数接口就可以实现了,但是习惯依赖opencv等开源库,会让我们渐渐忘了图像处理的本质是什么,其实这种转换算法很简单,但也能让我们看清楚图像处理的过程。

void CFaceComparisonDlg::RGBtoRGBA(unsigned char *RGBImage,const int wdth,const int heght, int& step, unsigned char *RGBAImage){
	//void **RGBAImage = NULL;

	int i,j;
	int h = heght ,w = wdth;
	for(i = 0; i < h; i++){
		
		for(j = 0; j < wdth; j++){
			
			RGBAImage[i*wdth*4 + j*4 + 0] = RGBImage[i*step + j*3 + 0]; 

			RGBAImage[i*wdth*4 + j*4 + 1] = RGBImage[i*step + j*3 + 1]; 

			RGBAImage[i*wdth*4 + j*4 + 2] = RGBImage[i*step + j*3 + 2]; 

			RGBAImage[i*wdth*4 + j*4 + 3] = 0xff;

		}
	}

	//CFile m_file;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值