1. Mat
#include <opencv2/opencv.hpp>
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[height*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 ); //释放图像