我正在尝试使用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;
}
更新:没关系我认为这是一个显示问题,因为当我将模板Template = 1.0f * Template - 20
变暗时,原始图像被正确修改。
答案 0 :(得分:0)
不是专家,但不仅仅是调整大小到新的范围?
在openCV中,您需要设置一个感兴趣的区域并从ROI创建一个新图像。