如何将 Mat 的矩形区域复制到相同大小的新 Mat?

加油加雷曼·内扎德

如何在与第一张图像相同大小的新图像中保存一个图像的区域?例如,如果我有这样的图像:

在此处输入图片说明

我想创建另一个这样的图像:

在此处输入图片说明

这是我尝试过的:

#include <opencv2/opencv.hpp>
#include "iostream"

using namespace cv;
using namespace std;

int main()
{
    Mat src = imread("1.png");
    Mat dst;

    src(Rect(85, 45, 100, 100)).copyTo(dst);
    imshow("tmask", dst);

    waitKey(0);
    return 0;
}

但结果会是这样的:

在此处输入图片说明

这不是我想要的。

由于太长这里就不Mat dst了,程序需要初始化大小如何在dst不初始化大小的情况下生成上面的第二个图像 ( )?

米卡

创建一个新图像并将子图像复制到 roi

cv:: Mat img = cv::imread(...);
cv::Rect roi(x,y,w,h);

cv::Mat subimage= img(roi); // embedded
cv::Mat subimageCopied = subimage.clone(); // copied

cv::Mat newImage=cv::Mat::zeros(img.size(), img.type);

img(roi).copyTo(newImage(roi); // this line is what you want.

如果您可以访问原始图像,但不允许使用其 siute 信息,则可以使用 .copyTo 和掩码,但是您必须使用大小信息来创建掩码...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将vtkImageData复制到cv :: Mat

来自分类Dev

如何将OpenCV Mat传递到C ++ Tensorflow图中?

来自分类Dev

将cv :: Mat的底部复制到另一个cv :: Mat

来自分类Dev

使用memcpy将OpenCV Mat复制到已知地址

来自分类Dev

将轮廓点的向量复制到 Mat 中

来自分类Dev

如何在vector <cv :: Mat>中找到相同的cv :: Mat

来自分类Dev

如何将`cv.Mat()` 的大小设置为等于视频的大小?

来自分类Dev

调整大小时如何将元素垂直放置在mat-list-item上?

来自分类Dev

WebGL:如何将值绑定到mat4属性?

来自分类Dev

如何将base64编码的opencv java矩阵还原到C ++ cv :: Mat?

来自分类Dev

WebGL:如何将值绑定到mat4属性?

来自分类Dev

如何获取 Mat 图像的像素区域

来自分类Dev

从指针创建Mat,调整其大小,然后将指针返回到新Mat

来自分类Dev

如何将位图图像转换为mat图像

来自分类Dev

如何将'cv :: Mat'转换为'double'?

来自分类Dev

如何将opencv mat写入gstreamer管道?

来自分类Dev

如何将持久变量保存到.mat文件中?

来自分类Dev

如何将位图图像转换为Mat图像

来自分类Dev

如何将cv :: Mat转换为MFC CBitmap

来自分类Dev

如何将.mat文件转换为.xml文件?

来自分类Dev

如何将 cv::Scalar 分配给 cv::Mat?

来自分类Dev

如何将图像 uri 转换为 cv::Mat

来自分类Dev

OpenCV-将CUDA设备数据复制到GPU Mat中

来自分类Dev

为什么将cv :: Mat的列复制到向量中失败?

来自分类Dev

将Vector <float>中的数据复制到Vector <Mat>(Opencv / C ++)

来自分类Dev

将cv :: Mat向量复制到float向量的最佳方法是什么?

来自分类Dev

如何在Mat的特定区域中查找非零像素

来自分类Dev

将Mat转换为Blob,然后返回到Mat

来自分类Dev

OpenCV-将Mat保存在Vector <Mat>中

Related 相关文章

热门标签

归档