Jumat, 20 Maret 2020

cara membuat grafik 3D Plots Surf, Mesh, dan Contour menggunakan matlab



Untuk menggambar grafik 3- dimensi memerlukan suatu titik koordinat yaitu x,y, dan z atau bisa disebut array.

Fungsi-fungsi dari visualisasi data 3D.

SURF 
atau grafik permukaan, digunakan untuk memvisualisaikaan data dalam bentuk permukaan 3D dengan pewarnaan berdaarkan bobot nilai gridnya.

MESH, digunakan memvisualisasikan data dalam bentuk tiga dimensi. mesh sering disebut sebagai grafik jala yang memiliki empat titik data terdekat dalam ruang 3D.

CONTOUR, digunakan untuk membuat gariskontur dibuat dengan teknik inperpolasi titik-titik terdekat.

sebelum memulai sebaiknya membuat langkah awal seperti menampilkan axes,panel (pict typo, push button (surf,mesh,contour),stastic text, dan pop-up menu (peaks,membrane,sinc).

1. maka tampilan awal akan seperti gambar di bawah ini...



berikut ini adalah coding nya :

function varargout = mariscaa(varargin)
% MARISCAA MATLAB code for mariscaa.fig
%      MARISCAA, by itself, creates a new MARISCAA or raises the existing
%      singleton*.
%
%      H = MARISCAA returns the handle to a new MARISCAA or the handle to
%      the existing singleton*.
%
%      MARISCAA('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MARISCAA.M with the given input arguments.
%
%      MARISCAA('Property','Value',...) creates a new MARISCAA or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before mariscaa_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to mariscaa_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help mariscaa

% Last Modified by GUIDE v2.5 20-Mar-2020 10:28:06

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @mariscaa_OpeningFcn, ...
                   'gui_OutputFcn',  @mariscaa_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before mariscaa is made visible.
function mariscaa_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to mariscaa (see VARARGIN)
handles.peaks = peaks (35);
handles.membrane = membrane;
[x, y] = meshgrid (-8:0.5:8);
r = sqrt(x.^2 + y.^2) + eps;
sinc = sin(r)./r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data);
handles.peaks = peaks (35);
handles.membrane = membrane;
[x, y] = meshgrid(-8:0.5:8);
r = sqrt(x.^2 + y.^2) + eps;
sinc = sin (r)./r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data);

% Choose default command line output for mariscaa
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes mariscaa wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = mariscaa_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
val = get(hObject, 'Value');
str = get(hObject, 'String');
switch str{val}
    case 'peaks' 
        handles.current_data = handles.peaks;
    case 'membrane' 
        handles.current_data = handles.membrane;
    case 'sinc'
        handles.current_data = handles.sinc;
end
guidata(hObject, handles);


% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popupmenu1


% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
surf(handles.current_data);

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
mesh(handles.current_data);

% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
contour(handles.current_data);


2. setelah coding di buat maka klik run dan akan muncul hasil seperti ini :

hasil dari PEAKS


peaks-"suft"

kemudian popup menu pilih "Peaks" lalu klik "Mesh"


peaks-"mesh"

pada popup menu pilih "Peaks" lalu klik "Contour"

peaks-"contour"

Selanjutnya pada popup menu pilih "Membrane" lalu klik "Surf"
membrane-"surf"


pada popup menu pilih "Membrane" lalu klik "Mesh"



membrane-"mesh"

pada popup menu pilih "Membrane" lalu klik "Contour"


membrane-"contour"

Selanjutnya pada popup menu pilih "Sinc" lalu klik "Surf"

sinc-surf

pada popup menu pilih "Sinc" lalu klik "Mesh"

sinc-"mesh"

pada popup menu pilih "Sinc" lalu klik "Contour"

sinc-"contour"

Demikian cara pembuatan Grafik 3D Plots Surf, Mesh, Contour. 
sekian dan terimakasih.

Senin, 09 Maret 2020

cara membuat grayscale dengan menggunakan Matlab

Grayscale atau abu-abu pada sebuah image digital adalah image yang pada setiap pixelnya hanya berisikan informasi intensitas warna putih dan hitam.
Image Grayscale memiliki banyak variasi nuansa abu-abu sehingga berbeda dengan image hitam-putih.
Grayscale juga disebut monokromatik karna tidak memiliki warna lain selain variasi intensitas putih dan hitam.
Sebuah image yang dijadikan Grayscale akan terkesan berbeda bila dibandingkan dengan image berwarna.
Pada Posting ini akan menjelaskan cara membuat image yang berwarna menjadi Grayscale menggunakan Sofware MatLab.
 
berikut langkah-langkah cara pembuatan grayscale dengan menggunakan Matlab:
 
1. Buka aplikasi MATLAB, Klik menu HOME, lalu klik NEW, klik GUIDE Quick Start, lalu pilih Blank  GUI lalu pilih Browser sebagai tempat simpan program. Klik OK.
 
2. setelah itu buatlah seperti gambar dibawah ini :
 
 
  
Dimana terdapat fitur Axes1, Axes2, pushbutton1 dengan nama "Open Image", pushbutton2 dengan nama     "Greyscale", pushbutton3 dengan nama "Save Image", tambahkan textbox pada fitur Edit Text dan Slider.

3. Untuk memasukkan coding padang pushbutton1 (Open Image)  dan yang lain, klik pushbutton>klik kanan>pilih view lalu callbacks.

4. coding pushbutton1 (Open image)
     
    function pushbutton1_Callback(hObject, eventdata, handles)
[name_file1,name_path1] = uigetfile (.....
    {'*.bmp;*.jpg;*.tif','files of type (*.bmp,*.jpg,*.tif)';
    '*.bmp','file Bitmap (,.bmp)';..........
    '*.jpg','file jpeg (*.jpg)';
    '*.tif','file Tif (*.tif)';
    '*.*','All files (*.*)'},.....
    'Open Image');

if ~isequal (name_file1,0)
    handles.data1 = imread (fullfile(name_path1,name_file1));
    guidata(hObject,handles);
    axes(handles.axes1);
    imshow(handles.data1);
else
    return;
end

5.  Coding Pushbutton2 (Grayscale)

     function pushbutton2_Callback(hObject, eventdata, handles)
image1 = handles.data1;
gray = rgb2gray(image1);
axes(handles.axes2);
imshow(gray);
handles.data2=gray;
guidata(hObject,handles);

6. coding pusbutton3 (save image)

    function pushbutton3_Callback(hObject, eventdata, handles)
thresh=handles.data3;
[name_file_save,path_save] = uiputfile (...
    {'*.bmp','file bitmap (*.bmp)';...
    '*.jpg','file jpeg (*.jpg)';
    '*.tif','file Tif (*.tif)';
    '*.*','All Files (*.*)'},...
    'SAVE IMAGE');

if ~isequal (name_file_save,0)
   imwrite(thresh,fullfile(path_save,name_file_save));
else
    return;
end

7. coding Slider1 

    function slider1_Callback(hObject, eventdata, handles)
gray=handles.data2;
value=get(handles.slider1,'value');
thresh=imcomplement(im2bw(gray,value/255));
axes(handles.axes2);
imshow(thresh);
handles.data3=thresh;
guidata(hObject,handles);
set(handles.edit1,'string',value)
 
8.selanjutnya klik run, dan akan tampil gambar dibawah ini :
 
 
9. untuk menjalankan program , klik Open Image dan akan muncul gambar seperti dibawah ini :
 
10. klik grayscale maka akan muncul gambar seperti di bawah ini :


 
 11.  untuk mengubah warna RGB, kalian bisa klik slider
 
  
 12.  setelah itu save image


cek juga save as type, disini saya menggunakan Bitmab Image atau .bmp

13. haasil akhir
 
 
 
 
 

cara membuat grafik 3D Plots Surf, Mesh, dan Contour menggunakan matlab

Untuk menggambar grafik 3- dimensi memerlukan suatu titik koordinat yaitu x,y, dan z atau bisa disebut array. Fungsi-fungsi dari visu...