本文主要是介绍庞峰Opencv学习(一)--BGR与通道的概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. cvCreateImage()--cvCreateImage(size, IPL-DEPTH_X, Channel_num) size描述了图像的大小,IPL_DEPTH_X描述了颜色深度,Channel_num描述了图像的通道数。
对于传统的RGB三色图,其实就是一个三通道(R,G,B),每个通道通过8位无符号数(0-255种颜色)来表示。但是与传统的RGB表示不同,在Opencv中,三通道是按照BGR来排列的,即B0G0R0,B1G1R1,.....
而一个三通道的图像也可以通过对其分解用三个单通道的图像来表示,即1.B0B1B2.. 2.G0G1G2 3.R0R1R2
IplImage* img = cvLoadImage("lena.jpg");
cvNamedWindow("p");
cvShowImage("p",img);
IplImage* bimg = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
IplImage* gimg = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
IplImage* rimg = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
int y,x;
for (y=0;y<img->height;y++)
{
unsigned char* ppow = (unsigned char*)(img->imageData+y*img->widthStep);
unsigned char* bpow = (unsigned char*)(bimg->imageData+y*bimg->widthStep
这篇关于庞峰Opencv学习(一)--BGR与通道的概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!