Monday, May 23, 2022

gambar 2

Saturday, May 07, 2022

Gambar

XvxQJt1hL-MGueUgiIZI5CnLdvucuP7IawkwfA/s320/IOU.png"/>
computer vision definition : https://xd.adobe.com/ideas/principles/emerging-technology/what-is-computer-vision-how-does-it-work/

Thursday, March 12, 2020

finger print 2

im=double(rgb2gray(imread('biometrik3.jpg')))/255;
[b c]=size(im);
m=sum(sum(im))/(b*c);
v = sum(sum((im-m).*(im-m)))/(b*c);
m0=0.5;
v0=v*0.1;
T=zeros(b,c);

for i=1:b
    for j=1:c
        if im(i,j)>m
            T(i,j) =m0+(v0/v*(im(i,j)-m).^2).^0.5;
        else
             T(i,j) =m0-(v0/v*(im(i,j)-m).^2).^0.5;
        end
    end
end
figure(1),imshow(im)
figure(2),imshow(T)
w=20;
nb=b/w;
mb=zeros(nb,nb);
vb=zeros(nb,nb);

for i=1:nb
    for j=1:nb
        g=im((i-1)*w+1:(i-1)*w+w,(j-1)*w+1:(j-1)*w+w);
        mb(i,j)=sum(sum(g));
        vb(i,j)=sum(sum((g-mb(i,j)).^2))/(w*w); 
    end
end

Gmean=sum(sum(mb))/(nb*nb);
Vmean=sum(sum(vb))/(nb*nb);
NGFrg=sum(sum(mb>Gmean));
TGFrg=sum(sum(mb(mb>Gmean)));
GFrg=TGFrg/NGFrg

NVFrg=sum(sum(vb>Vmean));
TVFrg=sum(sum(vb(vb>Vmean)));
VFrg=TGFrg/NGFrg


NGBkg=sum(sum(mb<=Gmean));
TGBkg=sum(sum(mb(mb<=Gmean)));
GBkg=TGBkg/NGBkg

NVBkg=sum(sum(vb<=Vmean));
TVBkg=sum(sum(vb(vb<=Vmean)));
VBkg=TVBkg/NVBkg
mm=mb>GFrg
vv=vb>VFrg

gg =mm&vv

gg=not(gg)
im2 =im;
for i = 1:nb
    for j=1:nb
        if gg(i,j)==0
            im2((i-1)*w+1:(i-1)*w+w,(j-1)*w+1:(j-1)*w+w)=0;
        end
    end
   
end
figure(10);imshow(im2)
mskx=[0 0 0;-1 0 1;0 0 0];
Gx = conv2(im2,mskx,'same')/2;
msky=[ 0 -1 0;0 0 0;0 1 0];
Gy = conv2(im2,msky,'same')/2;
c=complex(Gx,Gy);
Gms=zeros(nb,nb);
for i = 1:nb
    for j = 1:nb
        cb= c((i-1)*w+1:(i-1)*w+w,(j-1)*w+1:(j-1)*w+w);
       
        Gms(i,j)= sum(sum(cb));
    end
end
Gmsx=real(Gms);
Gmsy=imag(Gms);
Teta=zeros(nb,nb);
[bb cc]=find(Gmsx>=0);
Teta(bb,cc)= 0.5*pi+0.5*atan(Gmsy(bb,cc)./Gmsx(bb,cc));
[bb cc]=find(Gmsx<0 amp="" msy="">=0);
Teta(bb,cc)= 0.5*pi+0.5*atan(Gmsy(bb,cc)./Gmsx(bb,cc))+pi;
[bb cc]=find(Gmsx<0 amp="" msy="" p="">Teta(bb,cc)= 0.5*pi+0.5*atan(Gmsy(bb,cc)./Gmsx(bb,cc))-pi;


figure(10);imshow(im2)

hold on



for i =1 : nb
    for j =1:nb
        y0 = (i-1)*w + w/2;
        x0 = (j-1)*w + w/2;
        y1 = (i-1)*w + w/2+w/2*sin(Teta(i,j));
        x1 = (j-1)*w + w/2+w/2*cos(Teta(i,j));;
        x=[x0 x1];
        y=[y0 y1];
        plot(x,y,'b','LineWidth',1);
    end
end
hold off

Thursday, March 05, 2020

Align

download di sini

Wednesday, March 04, 2020

fingerprint 1

im=double(rgb2gray(imread('biometrik2.png')))/255;
[b c] = size(im);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% M=0;
% for (i=1:b)
%     for (j=1:c)
%         M=M+im(i,j);
%     end
% end
% M=M/(b*c);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=sum(sum(im))/(b*c);       
V=sum(sum((im-M).^2))/(b*c);
M0=0.3;
V0=V/5;
T=[];
for (i=1:b)
    for (j=1:c)
        if im(i,j)>M
            T(i,j) = M0+(V0/V*(im(i,j)-M)^2)^0.5;
        else
            T(i,j) = M0-(V0/V*(im(i,j)-M)^2)^0.5;
        end
    end
end


figure(1);imshow(im);
figure(2);imshow(T);
w=15;
nmax=b/w;
mmax=c/w;
mb=[];
vb=[];
for m =1:nmax
    for n =1:mmax
        ib= im((m-1)*w+1:(m-1)*w+w,(n-1)*w+1:(n-1)*w+w);
        mb(m,n)= sum(sum(ib))/(w*w);
        vb(m,n) = sum(sum((ib-mb(m,n)).^2))/(w*w);
    end
end
GM=sum(sum(mb))/(nmax*mmax);
VM=sum(sum(vb))/(nmax*mmax);
GFRG=sum(mb(mb>GM))/length(mb>GM);
VFRG=sum(vb(vb>VM))/length(vb>VM);
GBKG=sum(mb(mb<=GM))/length(mb<=GM);
VBKG=sum(vb(vb<=VM))/length(vb<=VM);

for i =1:nmax
    for j=1:mmax
        if ((mb(i,j)        im((m-1)*w+1:(m-1)*w+w,(n-1)*w+1:(n-1)*w+w)=0;
       
        end
    end
end
figure(100)
imshow(im)

Monday, March 02, 2020

Fourier

download disini

Wednesday, February 19, 2020

Pesawat 2

#include

void Pesawat(int x,int y,float s)
{
    moveto(-1*s+x,0*s+y);
      lineto(1*s+x,0*s+y);
      lineto(1*s+x,5*s+y);
      lineto(-1*s+x,5*s+y);
      lineto(-1*s+x,0*s+y);

      moveto(-3*s+x,1*s+y);
      lineto(3*s+x,1*s+y);
      lineto(3*s+x,2*s+y);
      lineto(-3*s+x,2*s+y);
      lineto(-3*s+x,1*s+y);

      moveto(-2*s+x,4*s+y);
      lineto(2*s+x,4*s+y);
      lineto(2*s+x,5*s+y);
      lineto(-2*s+x,5*s+y);
      lineto(-2*s+ Pesawat(x,y,100);x,4*s+y);
}


main()
{
    int x,y;
    int x1,y1;
    float s;
    s=20;
    x=100;
    y=100;
    x1=40;
    y1 =500;
   initwindow(500,500);
   while(!kbhit())
   {
      cleardevice();
      x=mousex();
      y=mousey();
      Pesawat(x,y,10);
      Pesawat(x1,y1,20);
      y1=y1-10;
      if (y1<0 p="">      {
          y1=500;
          x1=x1+50;
      }


      //xp=mousex();
      //yp=mousey();
      // circle(xp,yp,20);

      // circle(x,y,20);
      // x=x+2;
      // if(x>500)
      // {
      //     x=0;
       //}
       delay(50);
   }
   closegraph();
}

Tuesday, February 18, 2020

VISIKOM S1

materi di sini

Wednesday, February 12, 2020

Pesawat

 #include
 void Pesawat(float x,float y,float s)
 {    line(0*s+x,0*s+y,1*s+x,1*s+y);
       line(1*s+x,1*s+y,0.5*s+x,4*s+y);
       line(0*s+x,4*s+y,0.5*s+x,4*s+y);
       line(0*s+x,4*s+y,1*s+x,4*s+y);
       line(1*s+x,4*s+y,0*s+x,4.5*s+y);
      line(-0*s+x,0*s+y,-1*s+x,1*s+y);
       line(-1*s+x,1*s+y,-0.5*s+x,4*s+y);
       line(-0*s+x,4*s+y,-0.5*s+x,4*s+y);
       line(-0*s+x,4*s+y,-1*s+x,4*s+y);
       line(-1*s+x,4*s+y,-0*s+x,4.5*s+y);
 }
 main()
 {  float  x1,y1,x2,y2,x,y;
     float s;
     s=20; x1=100;  y1=100; x2=200;  y2=100;
  initwindow(300,300);//Inisialisasi Layar Grafik
   while (!kbhit())
   {   cleardevice();
   x=mousex();
   y=mousey();
   Pesawat(x,y,30);
       y1=y1-1;
       y2=y2-2;
       if (y1<0 y1="300;}</p">       if (y2<0 nbsp="" p="" y2="300;">       Pesawat(x1,y1,10);
       Pesawat(x2,y2,20);
       delay(50);
   }
   closegraph();//Menutup Grafik
 }

Tuesday, February 11, 2020

Buku Visi Komputer

Download Di SINI

Monday, February 10, 2020

Read Data Keras

from keras.models import Sequential
from keras.layers import Dense
import numpy as np

import pandas as pd
def ReadData(sf):
  print("Baca file :",sf)
  df = np.array(pd.read_csv(sf,header=None))
  df1 = pd.DataFrame(df)
  return df1.values

def ReadData2(sf,lw):
    print("Baca file :",sf)
    df = np.array(pd.read_csv(sf,header=None))
    y=df[lw:,3:4]
    x=[];
    for i in range(len(df)-lw):
        dm=np.concatenate((df[i:i+lw,0],df[i:i+lw,1],df[i:i+lw,2]))
        x.append(dm)
    x=np.array(x)
 
    return x,y


sf='Data.csv'
X,Y=ReadData2(sf,20)




model = Sequential()
model.add(Dense(1000, input_dim=60, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
history = model.fit(X, Y, epochs=500, batch_size=1)


https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/

https://drive.google.com/open?id=13R-SxdZVdNG_2CAACgGnTJxX1Tz8f8zF

Sunday, February 09, 2020

Grafika

#include
#include
#include
#include
#includep^'=RSTp
#include
#include
#include
#include
using namespace std;
struct TPoint
{ float x;
  float y;};
struct TMatrix
{
    float m[3][3];
};

void DrawLine(TPoint P1,TPoint P2)
{
    float x1,y1,x2,y2;
    x1 = 250+P1.x ;
    y1 =250-P1.y;
    x2 = 250+P2.x ;
    y2 =250-P2.y;
    line(x1,y1,x2,y2);
}
TPoint SetPoint(float x,float y)
{
    TPoint p;
    p.x = x;
    p.y= y;
    return p;
}


float d2r(float sd )
{
    return sd/180*3.1415926535897932384626433832795;
}
TMatrix MatRotasi(float sd)
{
    TMatrix M;
    M.m[0][0]=cos(sd);M.m[0][1]=-sin(sd);M.m[0][2]=0;
    M.m[1][0]=sin(sd);M.m[1][1]=cos(sd);M.m[1][2]=0;
    M.m[2][0]=0;M.m[2][1]=0;M.m[2][2]=1;
    return M;
}


TMatrix MatSkala(float Sx,float Sy)
{
    TMatrix M;
    M.m[0][0]=Sx;M.m[0][1]=0;M.m[0][2]=0;
    M.m[1][0]=0;M.m[1][1]=Sy;M.m[1][2]=0;
    M.m[2][0]=0;M.m[2][1]=0;M.m[2][2]=1;
    return M;
}

TMatrix MatTranslasi(float Dx,float Dy)
{
    TMatrix M;
    M.m[0][0]=1;M.m[0][1]=0;M.m[0][2]=Dx;
    M.m[1][0]=0;M.m[1][1]=1;M.m[1][2]=Dy;
    M.m[2][0]=0;M.m[2][1]=0;M.m[2][2]=1;
    return M;
}

TMatrix MatKali(TMatrix A, TMatrix B)
{
    TMatrix C;
    int i,j,k;
    for (i=0;i<=2;i++)
    {
        for (j=0;j<=2;j++)
        {
            C.m[i][j]=0;
            for (k=0;k<=2;k++)
            {
                C.m[i][j]=C.m[i][j]+A.m[i][k]*B.m[k][j];
            }
        }
    }

    return C;
}

TPoint Transformasi(TMatrix  M, TPoint Pi)
{
    TPoint Po;
    Po.x=M.m[0][0]*Pi.x+M.m[0][1]*Pi.y+M.m[0][2];
    Po.y=M.m[1][0]*Pi.x+M.m[1][1]*Pi.y+M.m[1][2];
    return Po;

}



void Kotak(TMatrix m)
{
    int i;
    TPoint p[5],p1,p2;
    p[0]=SetPoint(-100,-100);
    p[1]=SetPoint(100,-100);
    p[2]=SetPoint(100,100);
    p[3]=SetPoint(-100,100);
    p[4]=SetPoint(-100,-100);
    for (i = 0;i<4 i="" p="">    {
        p1 = Transformasi(m,p[i]);
        p2 = Transformasi(m,p[i+1]);
        DrawLine(p1,p2);

    }

}

float sd;
int main()
{
    TMatrix m;

     initwindow(500,500);
    do
    {
        cleardevice();
         m=MatSkala(1,1);
    m=MatKali(MatRotasi(d2r(sd)),MatSkala(1,1));
sd =sd+2;
       Kotak(m);

        delay(100);

    }while(!kbhit());
    return 0;
}

Sunday, October 20, 2019

opencv filter

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('opencv_logo.png')

kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(img,-1,kernel)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
plt.xticks([]), plt.yticks([])
plt.show()

Wednesday, October 09, 2019

Resources S3

dowload di sini

Contoh ReadData pada Google


from keras.models import Sequential
from keras.layers import Dense
import numpy

from scipy.spatial import Delaunay
import pandas as pd

def ReadData(sf):
sdir="drive/My Drive/Colab Notebooks"
sff="%s/%s"%(sdir ,sf)
print("Baca file :",sff)

df = array(pd.read_csv(sff,header=None))
df1 = pd.DataFrame(df)
return df1.values

def SaveData(sf,m):
sdir="drive/My Drive/Colab Notebooks"
sff="%s/%s"%(sdir ,sf)
print("Simpan File :",sff)
savetxt(sff, m, delimiter=',',newline='\r\n')


# load and prepare the dataset
#dataset = numpy.loadtxt("cb.csv", delimiter=",")
#X = dataset[:,0:8]
#Y = dataset[:,8]
X=numpy.array([[0,0],[0,1],[1,0],[1,1]]);
Y=numpy.array([[0],[1],[1],[0]]);

# 1. define the network





model = Sequential()
model.add(Dense(1000, input_dim=2, activation='sigmoid'))
model.add(Dense(1, activation='sigmoid'))




















# 2. compile the network
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 3. fit the network
history = model.fit(X, Y, epochs=10000, batch_size=1)
#history = model.fit(X, Y, epochs=2000)
# 4. evaluate the network
loss, accuracy = model.evaluate(X, Y)
print("\nLoss: %.2f, Accuracy: %.2f%%" % (loss, accuracy*100))
# 5. make predictions
probabilities = model.predict(X)
predictions = [float(numpy.round(x)) for x in probabilities]
accuracy = numpy.mean(predictions == Y)
print("Prediction Accuracy: %.2f%%" % (accuracy*100))

Wednesday, September 25, 2019

Keras Squential Model

# example of training a final classification model
import matplotlib.pyplot as plt

from keras.models import Sequential
from keras.layers import Dense
import numpy as np
X=np.array([[0,0],[0,1],[1,0],[1,1]])
T=np.array([[0],[1],[1],[0]])
# define and fit the final model





model = Sequential()
model.add(Dense(1000, input_dim=2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam')
model.fit(X, T, epochs=2000)
model.save_weights("model.h5")

history =model.history
plt.plot(history.history['loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.show()

Xp=np.array([[1,1]])
model.predict(Xp)


Tuesday, September 03, 2019

Materi Kuliah Pemodelan 3D

Download Materi Di SINI

Sunday, September 01, 2019

PCD VB6 Point Opration

program bisa didownload di sini

Visi Komputer

Bahan Kuliah Download di sini