OpenCV裁剪图像失真

时间:2016-02-26 23:52:25

标签: c++ opencv

我正在尝试使用OpenCV读取图像并从中裁剪矩形区域。然而,我拍摄的裁剪图像似乎与原始图像不成比例且尺寸不同。我的代码有问题吗?或者我做了一些愚蠢的事情,就像无意中放大窗口一样。跑上ubuntu。

#include "opencv2/opencv.hpp"
#include <stdio.h>
#include <iostream>
#include <stdlib.h>


using namespace cv;
using namespace std;

int main()
{

    // Read in an image 1
    Mat Cloud1 = imread("/home/user1/Pictures/cloud1.jpeg");
    Rect rect(250,250,150,150); //some random values
    Mat Template = Cloud1(rect);
    namedWindow("FIGURE 1", CV_WINDOW_AUTOSIZE);
    namedWindow("FIGURE 2", CV_WINDOW_AUTOSIZE);
    imshow("FIGURE 1", Cloud1);
    imshow("FIGURE 2", Template);
    waitKey(0);

    return 0;
}

enter image description here

更新:没关系我认为这是一个显示问题,因为当我将模板Template = 1.0f * Template - 20变暗时,原始图像被正确修改。

1 个答案:

答案 0 :(得分:0)

不是专家,但不仅仅是调整大小到新的范围?

在openCV中,您需要设置一个感兴趣的区域并从ROI创建一个新图像。