【发布时间】:2020-05-01 10:24:42
【问题描述】:
我有这个函数可以从这里为我返回 RGB 格式的颜色
std::vector<cv::Vec3b> colors = find_dominant_colors(matImage, count);
但现在我还希望函数find_dominant_colors 生成的图像返回,以便我可以使用它。它会生成我使用cv::imwrite 编写的三张图像,但我希望将这三张图像返回给函数调用,以便在返回时直接进一步查看它,而不是为其获取目录。
如何解压缩该行代码中的多个值,例如获取图像和颜色,而不仅仅是颜色。我必须使用多个向量吗?我怎么做 ? 这里使用的向量是一个opencv向量,用于从图像中获取RGB值。
编辑:
std::vector<cv::Vec3b> find_dominant_colors(cv::Mat img, int count) {
const int width = img.cols;
const int height = img.rows;
std::vector<cv::Vec3b> colors = get_dominant_colors(root);
cv::Mat quantized = get_quantized_image(classes, root);
cv::Mat viewable = get_viewable_image(classes);
cv::Mat dom = get_dominant_palette(colors);
cv::imwrite("./classification.png", viewable);
cv::imwrite("./quantized.png", quantized);
cv::imwrite("./palette.png", dom);
return colors;
}
上面的函数返回颜色到这里
std::vector<cv::Vec3b> colors = find_dominant_colors(matImage, count);
我也希望它返回 viewable quantized dom ,我该怎么做?
【问题讨论】:
-
完全不清楚你要的是什么。
-
你只能从一个函数中返回一个值,但你可以写一个
struct,成员数量不限 -
请补充更多细节,目前问题还不清楚。你想从函数中得到什么?
-
@Qix 代码在处理完图像后返回颜色值。现在我还希望它与颜色值一起返回图像,但是由于返回的颜色被解压缩到 opencv 向量中,我如何定义另一个向量,以便在同一个函数调用中获取图像。
-
@AshwinPhadke 用文字描述代码只会让这更加混乱。显示您想要的代码,并显示所涉及的类型是什么。
标签: c++ opencv vector std stdvector