1. Mat
void array2mat(int* data, int width, int height) {
cv::Mat src = cv::Mat::zeros(width, height, CV_8UC3);
for(int i = 0; i < width; ++i) {
for(int j = 0; j < height; ++j) {
// 根据自己的需求设置像素值
if(data[640*i+j] == 255) {
src.at<cv::Vec3b>(i, j)[0] = 255;
src.at<cv::Vec3b>(i, j)[1] = 255;
src.at<cv::Vec3b>(i, j)[2] = 255;
}
}
}
cv::imshow("img", src);
cv::waitKey(0);
}
2. IplImage
IplImage* img = cvCreateImage(cvSize(width, height), 8, 1);
for(int j = 0; j < width*height; ++j) {
img->imageData[j] = data[j];
}
cvNamedWindow( "Image", 1 );
cvShowImage( "Image", img );
cvWaitKey(0);
cvDestroyWindow( "Image" );
cvReleaseImage( &img );