Stap 2: Een 2D-afbeelding omzetten in een 3D-model
Om te bepalen van de lengte van de vattenproducenten staven in de beeldhouwkunst, zal u hoeft te doen sommige beeldverwerking. Ik gebruikte Matlab, en de code in stap 3 van dit instructable gepost. U kunt een ander beeld processing softwareprogramma te gebruiken.
Om te visualiseren de transformatie van RGB naar intensiteit, heb ik een video hierboven. Een valse kleurenkaart wordt gebruikt om de intensiteit van de afbeelding weer te geven (rood is hoge intensiteit en blauwe lage intensiteit). De andere video gepost hierboven toont de transformatie van een intensiteit van 2D-afbeelding naar een 3D-object.
Laden van de afbeelding
Het beeld van de hete luchtballon was geladen in Matlab en geconverteerd naar een afbeelding in grijswaarden. Hier is de code om dit te doen in Matlab:
A = imread('ball.jpg'); % belasting afbeelding in matlab
A = rgb2gray(A); % converteren RGB naar grijswaarden
A = double(A)/max(double(A(:))); % normaliseren de grijswaardenafbeelding en omzetten in dubbele
De afbeelding downsampling
De oorspronkelijke grootte van de afbeelding was 2572 x 3873, weg naar vele stokjes met de hand gesneden (tenzij u wilt gek!). Het beeld is daarom gedownsampled, zodat er veel minder pixels, en daarom veel minder staaf vattenproducenten te snijden. Ik gebruikte ook een ruimtelijke filter de afbeelding vloeiend, zodat de structuur meer continu lijkt. Tot slot, de afbeelding is genormaliseerd zodat de maximale intensiteit 1 is.
A = imresize (, 0.0205); % resample afbeelding tot 2,05% van de grootte van de oorspronkelijke afbeelding
A = medfilt2(A); % gladde afbeelding
A = double(A)/max(double(A(:))); % normaliseren de grijswaardenafbeelding en omzetten in dubbele
Converteren naar vattenproducenten staaf lengte
Op dit punt, wordt de afbeelding opgeslagen als een 53 x 80-matrix met waarden tussen 0 en 1. Deze matrix Converteren naar een bestaande uit vattenproducenten staaf lengtes, u meerdere it door de maximale hoogte die u uw stokje beeld wilt te zijn. Ik koos voor 60 cm voor de mijne. Vervolgens moet u enkele extra lengte toevoegen aan het stokje voor het duwen van de deuvel-stang in de Raad van bestuur. Dit zorgt er ook voor dat dat de vattenproducenten staaf bezuinigingen niet te klein. Ik stel dit in op 2,5 cm (1 inch).
AmaxH = 60; % Max hoogte van beeldhouwkunst (in cm)
drillDepth = 2,54; % Extra lengte toegevoegd aan vattenproducenten staven, zodat het kan worden geduwd in de Raad van bestuur (1 inch)
Alength = A. * AmaxH; % Meerdere afbeelding matrix door max hoogte afbeelding matrix om vattenproducenten staaf lengte converteren
Alength = Alength + drillDepth; % Boor diepte toevoegen
In dit deel van het project, zal u beslissen hoe groot u wilt het beeld te zijn. U kunt de omvang van het downsamplen van afbeeldingen aanpassen (schaal in imresize aanpassen), en de hoogte van de maximale stokje. Kosten en hoe lang u wilt nemen op het project moeten worden overwogen bij het selecteren van de schaal. Zelfs de 53 x 80 pixel sculptuur die ik geconstrueerd vereist snijden 4240 vattenproducenten staven! Dit project nam manier langer dan ik dacht dat het zou, en ik wenste dat ik meer tijd overwegen hoe veel te downsamplen de afbeelding had genomen.