void Color(IplImage *img)
{
int i,j;
IplImage *img_hsv = 0;
img_hsv = cvCreateImage(cvGetSize(img),8,3);
cvCvtColor(img,img_hsv,CV_BGR2HSV);
struct num **bmpdata;
struct num **bmpdata1;
bmpdata = new num*[img->height];
bmpdata1 = new num*[img->height];
for(i=0;i<img->height;i++)
{
bmpdata = new num[img->width];
bmpdata1 = new num[img->width];
}
for(i=0;i<img->height;i++)
for(j=0;j<img->width;j++)
{
//如何将下面的语句转换成用C#来表示?
bmpdata[j].H=((uchar*)(img_hsv->imageData + img_hsv->widthStep*i))[j*3];
bmpdata[j].S=((uchar*)(img_hsv->imageData + img_hsv->widthStep*i))[j*3+1] ;
bmpdata[j].V=((uchar*)(img_hsv->imageData + img_hsv->widthStep*i))[j*3+2];
}
.............
}
我对C++不熟悉,不知该如何将上面的三句改用C#来表示。
是否可以帮忙解释一下((uchar*)(img_hsv->imageData + img_hsv->widthStep*i))[j*3] 所表示的含义?
谢谢! |