rui130129 2017-03-24 06:49 采纳率: 0%
浏览 5759

不存在从"int"转换到"std::vector<cv::Mat,>>"的适当构造函数

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>"

  • 写回答

4条回答 默认 最新

  • 深蓝和红叶 2017-03-24 07:24
    关注

    楼主你这是要干什么 ceil_img 是个类吧 这样初始化的话 vector这个类得提供适当的转换构造函数才行 如果你想分配m*n大小的空间 应该是这样
    vector ceil_img(m*n); 昨天才建的博客 还不怎么会弄 0.0 一打下划线就变成斜体

    评论

报告相同问题?

悬赏问题

  • ¥15 优质github账号直接兑换rmb,感兴趣伙伴可以私信
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)