void Cut_img(Mat src_img, int m, int n, vector ceil_img)
{
int t = m * n;
int height = src_img.rows;
int width = src_img.cols;
int ceil_height = height / m;
int ceil_width = width / n;
Mat roi_img, tmp_img;
Point p1, p2;
for (int i = 0; i<m; i++)
for (int j = 0; j<n; j++) {
//p1 =
Rect rect(i + j*ceil_width, j + i*ceil_height, ceil_width, ceil_height);
src_img(rect).copyTo(roi_img);
ceil_img.push_back(roi_img);
imshow("roi_img", roi_img);
//getchar();
waitKey(0);
//rectangle(i+j*ceil_width,j+i*ceil_height,);
}
}
void show_images(vector imgs, int n) {
//do something
}
int _tmain(int argc, _TCHAR* argv[])
{
Mat img = imread("dog.jpg", 1);
imshow("src img", img);
int m = 3;
int n = 3;
vector ceil_img = m*n;
Cut_img(img, m, n, ceil_img);
waitKey();
return 0;
}
整个代码是图片剪切的代码,问题出现在倒数第三行代码,cut_img(img,m,n,ceil_img);
错误为:不存在从"int"转换到"std::vectorcv::Mat,std::allocator<cv::Mat>"的适当构造函数
还有错误C2440:"初始化":无法从“int”转换为"std::vectorcv::Mat,std::allocator<_Ty>"
楼主你这是要干什么 ceil_img 是个类吧 这样初始化的话 vector这个类得提供适当的转换构造函数才行 如果你想分配m*n大小的空间 应该是这样
vector ceil_img(m*n); 昨天才建的博客 还不怎么会弄 0.0 一打下划线就变成斜体
vector ceil_img(m*n)
"vector<int>ceil_img(m*n)" 怎么把"<"int">" 给吃掉了
我也遇到了这个问题,请问群主是怎么解决的?