1.从内存中加载图像数据
s_Image_Info stDispImgInfo = spImgInfo->m_stDispInfo;
//cv::_InputArray pic_arr(stDispImgInfo.pImageBuf, nWidth * nHeight);
//cv::Mat src_mat = cv::imdecode(pic_arr, IMREAD_COLOR);
cv::Mat img(nHeight, nWidth, CV_8UC3, stDispImgInfo.pImageBuf);
cv::Mat img2;
Size dsize(500, 500);
cv::resize(img, img2, dsize, 0, 0, INTER_LINEAR);
cv::namedWindow("Example1", 1);
cv::resizeWindow("Example1", 500, 500);
cv::imshow("Example1", img2);
注意:nHeight, nWidth的顺序,不要搞错
cv::Mat img(nHeight, nWidth, CV_8UC3, stDispImgInfo.pImageBuf);
2.将使用金字塔将图像裁剪并缩放到目标窗口大小
cv::Mat img(nHeight, nWidth, CV_8UC3, stDispImgInfo.pImageBuf);
cv::namedWindow("Example1", 1);
cv::pyrDown(img, img);
//cv::pyrDown(img2, img2);
//cv::pyrDown(img2, img2);
cv::Size dSize(500, 500);
cv::resize(img, img, dSize, 0, 0, INTER_LINEAR);
cv::resizeWindow("Example1", 500, 500);
cv::imshow("Example1", img);
注意:dsize是需要减少的尺寸,默认是图像的1/2;
cv::pyrDown(img, img,dsize);