J'essaie de lire une image et de recadrer une région rectangulaire à l'aide d'OpenCV. Cependant, l'image recadrée que je reçois semble être hors de proportion et pas la même taille que l'original. Y at-il un problème avec mon code? Ou est-ce que je fais quelque chose de stupide comme un zoom involontaire sur la fenêtre. Ran sur Ubuntu.Image recadrée OpenCV déformée
#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;
}
Mise à jour: Passons je pense qu'il est un problème d'affichage parce que quand j'assombri le modèle Template = 1.0f * Template - 20
, l'image originale a été modifiée correctement.
Wierd ... Le code semble correct .. – Miki
C'est peut-être dû à 'CV_WINDOW_AUTOSIZE', mais il ne devrait pas être, Mais j'ai expérimenté 'imshow' se comporter de façon inattendue, si gentiment enregistrer l'image à un endroit spécifié et examinez les résultats. – ZdaR