调用该函数如下:
MatConvertImage(img,qImg);
void MatConvertImage(Mat& imgmat, IplImage* img) { cv::cvtColor(imgmat, imgmat, CV_BGR2GRAY); uchar* p; unsigned char* buf = new unsigned char[imgmat.rows*imgmat.cols]; for (int j=0; j< imgmat.rows; ++j) { p = imgmat.ptr<uchar>(j); for(int i = 0; i < imgmat.cols; ++i) { buf[j*imgmat.cols+i] = p[i]; img->imageData[j*imgmat.cols+i]=(char)buf[j*imgmat.cols+i]; } } //delete[] p; delete[] buf; }
转载于:https://blog.51cto.com/3754839/1401937