针对opencv的提问!!!浮点型图像像素值范围是多少?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对opencv的提问!!!浮点型图像像素值范围是多少?相关的知识,希望对你有一定的参考价值。
书上写着是[0-1]。
但是我看到例程的代码是这样写的:
IplImage* img = cvCreateImage(cvSize(640,480),IPL_DEPTH_32F,3);
int height = img->height;
int width = img->width;
int step = img->widthStep/sizeof(float);
int channels = img->nChannels;
float * data = (float *)img->imageData;
data[i*step+j*channels+k] = 111;
请问这是为什么???给100分吧!
既然是[0-1]
怎么可以被赋值111呢?很是奇怪!!!
书上写着是[0-1]是指的什么,原来的图像时2值化的吗?有些时候为了计算光流啊什么的,需要再做一副32F的图像的。 参考技术B IplImage *img=cvLoadImage("c://fruitfs.bmp",1);
CvScalar s;
for(int i=0;i<img->height;i++)...
for(int j=0;j<img->width;j++)...
s=cvGet2D(img,i,j); // get the (i,j) pixel value
printf("B=%f, G=%f, R=%f ",s.val[0],s.val[1],s.val[2]);
s.val[0]=111;
s.val[1]=111;
s.val[2]=111;
cvSet2D(img,i,j,s);//set the (i,j) pixel value
cvNamedWindow("Image",1);
cvShowImage("Image",img);
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &img ); //释放图像
return 0;
Opencv利用Mat访问像素值
如果是采用Mat形式存储,想要访问灰度图像的灰度值,可以采用如下方法:
如果是彩色图像,采用如下方法:
说明:
其中gray_value中存放灰度值,image是读入的图像,i表示行,j表示列;
color_value中存放彩色像素值,iamge是读入的图像,i表示行,j表示列,k表示通道,即R、G、B,取值范围为2、1、0.
以上是关于针对opencv的提问!!!浮点型图像像素值范围是多少?的主要内容,如果未能解决你的问题,请参考以下文章