用opencv1.0,如何将一张图片的像素值读出来,相关的代码。
展开全部
我简要地写一下吧~核心部分如下:
IplImage *image;
int i, j;
double blue, green, red;
for(i=0; i<image->height; i++)
{
for(j=0; j<image->width; j++)
{
blue=((uchar*)(image->imageData + i*image->widthStep))[j*3];
green=((uchar*)(image->imageData + i*image->widthStep))[j*3+1];
red=((uchar*)(image->imageData + i*image->widthStep))[j*3+2];
}
}
上面for循环获取到的就是彩色图像RGB三个通道的值,至于灰度图比这个简单,我不说你也应该可以自己写出来的。记住不会的地方要多查OpenCV手册,那是最好的老师!
IplImage *image;
int i, j;
double blue, green, red;
for(i=0; i<image->height; i++)
{
for(j=0; j<image->width; j++)
{
blue=((uchar*)(image->imageData + i*image->widthStep))[j*3];
green=((uchar*)(image->imageData + i*image->widthStep))[j*3+1];
red=((uchar*)(image->imageData + i*image->widthStep))[j*3+2];
}
}
上面for循环获取到的就是彩色图像RGB三个通道的值,至于灰度图比这个简单,我不说你也应该可以自己写出来的。记住不会的地方要多查OpenCV手册,那是最好的老师!
2011-11-15
展开全部
cv中有一个宏,
CV_IMAGE_ELEM(img,uchar,y,x*3+2)
这一句就是在图片img中,取(x,y)处的R分量值
CV_IMAGE_ELEM(img,uchar,y,x*3+2)
这一句就是在图片img中,取(x,y)处的R分量值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询