2016-04-10 3 views
0

Ist es möglich, dass der Wertpixel des Bildes nach dem Drehen des Bildes geändert wird? Ich rotiere ein Bild, zB rotiere ich Bild 13 Grad, also wähle ich ein zufälliges Pixel bevor das Bild rotiere und sage es X, dann habe ich Brute Force im Bild gedreht, und ich habe Pixelwert nicht so gefunden wie X. Also Ist es möglich, dass sich der Wertpixel nach dem Drehen des Bildes ändern kann? Ich rotiere mit opencv Bibliothek in Python.Pixelwertänderung nach Bilddrehung

Jede Hilfe wäre willkommen.

+1

Welche Funktion verwenden Sie zum Drehen? Typischerweise beinhalten Bildtransformationen eine Interpolation, so dass die Pixelwerte leicht abweichen können/werden. – Micka

+0

Ich verwende die opencv-Funktion, um das Bild zu drehen. –

+0

welche Funktion? WarpAffine? – Micka

Antwort

0

Wenn Sie nur die gleiche Bildebene drehen, bleiben die Bildpixel gleich. Einfache Mathematik

+0

haben Sie eine Idee, Bild mit Matrix-Rotation zu drehen? –

+0

Hier opencv zB http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html –

2

Ja, es ist möglich, dass der ursprüngliche Pixelwert im transformierten Bild nicht gefunden wird.

Um zu verstehen, warum dies geschehen würde, daran erinnert, dass Pixel nicht unendlich kleine Punkte sind, aber sie sind Rechtecken mit horizontal und vertikalen Seiten, mit kleiner, aber nicht Null Breite und Höhe.

Nach einer Drehung von 13 Grad haben diese Rechtecke (die innen eine konstante Farbe haben) keine Seiten mehr horizontal und vertikal.

Daher muss eine Annäherung vorgenommen werden, um das gedrehte Bild mit Pixeln konstanter Farbe darzustellen, wobei die Seiten horizontal und vertikal sind.

+0

also pixel nach rotieren nicht pixel vor rotieren darstellen? Ich verstehe jetzt –

+0

in der Tat gibt es keine perfekte Übereinstimmung zwischen Pixeln vor der Rotation und Pixel nach der Rotation. – qwertyman