2016-09-12 6 views
0

ich ein Bild habe hier (DMM_a01_s01_e01_sdepth.PNG, es ist im Grunde eine menschliche Tiefenkarte oder etwas, ich weiß nicht wirklich die Details :():Resize, ohne die Struktur des Bildes ändert

DMM_a01_s01_e01_sdepth.PNG

es ist sehr klein (54x102), so ist hier eine Visualisierung: enter image description here

Aber wenn ich versuche, es zu 20x20 mit diesem Stück Code, um die Größe, die ich gemacht habe:

from scipy import misc 
import matplotlib.pyplot as plt 
import matplotlib.cm as cm 
import numpy as np 
import math 
import cv2 

im = misc.imread('DMM_a01_s01_e01_sdepth.PNG') 

def rgb2gray(rgb): 
    return np.dot(rgb[...,:3], [0.299, 0.587, 0.114]) 

if len(im.shape) ==3: 
    im = rgb2gray(im) # Convert RGB to grayscale 

# Show image 
plt.imshow(im, cmap = cm.Greys_r) 
plt.show() 

# Resize image 

boxSize = 20 
newImage= misc.imresize(im, (boxSize,boxSize), interp="bicubic") 
plt.imshow(newImage, cmap = cm.Greys_r) 
plt.show() 

, ist die Größe geänderte Bild nicht mehr die gleiche wie die Orignal ein:

enter image description here

Wie kann ich die Größe und immer noch die Struktur des Bildes halten? Bitte helfen Sie mir, vielen Dank :)

+0

Wenn du Struktur sagst, meinst du damit, dass das Bild die gleiche Form hat, so dass die Person immer noch groß und dünn aussieht oder meinst du es immer noch so detailgetreu wie das Original aussehen zu lassen? – Chachmu

+0

@Chachmu Ich denke, es sollte die gleiche Detailgenauigkeit wie das Original haben, aber um ehrlich zu sein, bin ich mir nicht 100% sicher :(Ich denke nur, dass es genauso aussehen sollte wie das Originalbild :( –

+0

Möglicherweise verbunden: http://stackoverflow.com/q/273946/1025391 – moooeeeep

Antwort

0

Was Sie verlangen, ist unmöglich. Die Größenänderung von Bildern ist eine zerstörerische Operation. Sie haben 54x102 Pixel (5508 Pixel Daten) und Sie versuchen, diese Datenmenge in ein 20x20 Bild zu passen - das sind nur 400 Pixel! Sie verlieren immer etwas Detail, Struktur usw. basierend auf dem Algorithmus, den Sie verwendet haben - in diesem Fall scipy.

Verwandte Themen