opencv,图片像素和尺寸大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv,图片像素和尺寸大小相关的知识,希望对你有一定的参考价值。
同一尺度不同分辨率(像素)的两张图片时(如尺寸320*240)时,为什么在读图片像素点数都是320x240个点,像素和尺度是什么关系?哈哈,大神给补脑下谢谢!~
同一尺度?还是同一尺寸?尺度跟像素没有任何关系。尺度空间是通过数字变化得到的一个概念上的空间。
实际图像中,你直接得不到尺度空间的。
常见的有:线性尺度空间、近似线性尺度空间和非线性尺度空间。
分辨率是单位尺寸上的像素个数。如每英寸多少像素。
如果图片分辨率是60PPI,你图片大小是1x2英寸.
那么这幅图像的像素点数为1x60x2x60=720个点。 参考技术A OpenCV中获取图像某一像素值 This is a basic example for the OpenCV.First we must know the structure of IplImage:IPL image:IplImage |-- int nChannels; // Number of color channels (1,2,3,4) |-- int depth; // Pixel depth in bits: | // IPL_DEPTH_8U, IPL_DEPTH_8S, | // IPL_DEPTH_16U,IPL_DEPTH_16S, | // IPL_DEPTH_32S,IPL_DEPTH_32F, | // IPL_DEPTH_64F |-- int width; // image width in pixels |-- int height; // image height in pixels |-- char* imageData; // pointer to aligned image data | // Note that color images are stored in BGR order |-- int dataOrder; // 0 - interleaved color channels, | // 1 - separate color channels | // cvCreateImage can only create interleaved images |-- int origin; // 0 - top-left origin, | // 1 - bottom-left origin (Windows bitmaps style) |-- int widthStep; // size of aligned image row in bytes |-- int imageSize; // image data size in bytes = height*widthStep |-- struct _IplROI *roi;// image ROI. when not NULL specifies image | // region to be processed. |-- char *imageDataOrigin; // pointer to the unaligned origin of image data | // (needed for correct image deallocation) | |-- int align; // Alignment of image rows: 4 or 8 byte alignment | // OpenCV ignores this and uses widthStep instead |-- char colorModel[4]; // Color model - ignored by OpenCV//------------------------------------------------------------------------------int main(int argc, char* argv[])... 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 读取图片及像素值,这个会啦。可能你没懂我的意思! 不过 谢谢~
以上是关于opencv,图片像素和尺寸大小的主要内容,如果未能解决你的问题,请参考以下文章