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 = heightwidthStep
|-- 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://fruitfsbmp",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 ",sval[0],sval[1],sval[2]);
sval[0]=111;
sval[1]=111;
sval[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;
}
1
求得你的二值图像选定区域的外接矩形位置(左上角xy坐标,长,宽)
2
判断原彩色图中该区域内的rgb值(读rgb值会吧?data=image->imagedata,
data[mstep+n])
3
若符合你假设的条件,在原彩色图中截取(先设定roi区域,然后cvcloneimage,再释放roi区域)
这个是你自己定的呀 要么从其他地方传过来 要么自己从图像上获得
从图像上获得可以采用鼠标响应函数 具体参见>
以上就是关于opencv 输出图片中某一区域坐标平均值全部的内容,包括:opencv 输出图片中某一区域坐标平均值、用Opencv,区域颜色怎么提取求解答、opencv中使用ROI获取感兴趣区域时,如何获取一幅图像中相应的坐标,比如:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)