aze*_*rtq 3 c++ opencv image-processing
我希望调整我的图像大小,下面的代码在图像是IplImage时工作,但是当我将其更改为Mat时我得到这些错误: - 从类型'int转换'cv :: Mat :: depth'(cv :: Mat: :)()const'键入'int'.-Cannot将'cv :: Mat'转换为'const CvArr*{aka const void*}',将参数'1'转换为'void cvResize(const CvArr*,CvArr*,int)'.
Mat image=imread("21.png", CV_LOAD_IMAGE_GRAYSCALE);
Mat dst;
dst= cvCreateImage(cvSize(150,150),image.depth,image.channels());
cvResize(image, dst);
namedWindow("Source", CV_WINDOW_AUTOSIZE );
imshow("Source", image);
namedWindow("resize", CV_WINDOW_AUTOSIZE );
imshow("resize", dst);
waitKey(0);
return 0;
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
使用C++ API语法(目前您使用的是C api):
cv::Mat image = cv::imread("21.png", CV_LOAD_IMAGE_GRAYSCALE);
cv::Mat dst;
cv::resize(image, dst, cv::Size(150,150));
cv::namedWindow("Source", CV_WINDOW_AUTOSIZE );
cv::imshow("Source", image);
cv::namedWindow("resize", CV_WINDOW_AUTOSIZE );
cv::imshow("resize", dst);
waitKey(0);
Run Code Online (Sandbox Code Playgroud)
如果您不需要,请不要再使用旧的C api cvMethodname函数.而是使用cv :: Methodname函数,这些函数通常不易出错.
| 归档时间: |
|
| 查看次数: |
8602 次 |
| 最近记录: |