Penajaman Citra(Sharpening)

Pertemuan kali ini saya akan membuat tentang penajaman gambar dengan menggunakan Opencv. Pertama kali saya akan membahas tentang Opencv, Opencv adalah library Image Processing berbasis bahasa C++. OpenCV digunakan oleh banyak developer, scientist, dan programmer untuk mengembangkan sebuah program pattern recognition
Untuk membuat program dengan menggunakan Opencv kita menggunakan program bantuan yaitu Microsoft Visual Studio, dan pada pembuatan Website ini saya menggunakan Microsoft Visual Studio 2010. Sebenarnya Opencv itu hanya menjadi support dalam pembuatan website ini, sedangkan program utama kita mengkodingnya adalah di dalam Microsoft Visual Studionya.
 Saya akan menerang kan tentang penajaman pada gambar. Penajaman Citra ini bertujuan untuk Memperjelas Tepi Object pada pencitraan, dan Pelembuatan pada Object. Sedangkan metode yang saya gunakan untuk membuat penajaman citra disini adalah dengan menggunakan metode Penapis Lolos Tinggi (High Pass Object), pada metode ini Koefisien Filter boleh positif, Negatif atau Nol (0) dan Jumlah sema koefisien Nol (0) atau Satu (1). Penajaman Citra ini juga biasanya disebut dengan sebutan Edge Sharpening


Penajaman juga mempunyai 2 perbedaan yaitu Penajaman Citra dan Penajaman Laplaciar.


#include <opencv\cv.h>
#include <opencv\highgui.h>
#include <WINDOWS.H>
#include <iostream>

using namespace cv;
using namespace std;
void unsharpMask(Mat& im)
{
    Mat tmp;
    GaussianBlur(im, tmp, cv::Size(5,5), 5);
    addWeighted(im, 1.5, tmp, -0.5, 0, im);
     
}
int main(){
      /* webcame
      Mat image;
      VideoCapture cap;
      cap.open(0);
      Sleep(1000);
      namedWindow("window",1);
      while(1){
            cap>>image;
            imshow("window",image);
            waitKey(33);

      }
      */
      Mat img,imgOri, imgLaplacian, imgResult;

    //------------------------------------------------------------------------------------------- test, first of all
    // now do it by hand
    img = (Mat_<uchar>(4,4) << 0,1,2,3,4,5,6,7,8,9,0,11,12,13,14,15);

    // first, the good result
    Laplacian(img, imgLaplacian, CV_8UC1);
    cout << "let opencv do it" << endl;
    cout << imgLaplacian << endl;

    Mat kernel = (Mat_<float>(3,3) <<
        0,  1, 0,
        1, -4, 1,
        0,  1, 0);
    int window_size = 3;

    // now, reaaallly by hand
    // note that, for avoiding padding, the result image will be smaller than the original one.
    Mat frame, frame32;
    Rect roi;
    imgLaplacian = Mat::zeros(img.size(), CV_32F);
    for(int y=0; y<img.rows-window_size/2-1; y++) {
        for(int x=0; x<img.cols-window_size/2-1; x++) {
            roi = Rect(x,y, window_size, window_size);
            frame = img(roi);
            frame.convertTo(frame, CV_32F);
            frame = frame.mul(kernel);
            float v = sum(frame)[0];
            imgLaplacian.at<float>(y,x) = v;
        }
    }
    imgLaplacian.convertTo(imgLaplacian, CV_8U);
    cout << "Laplacian" << imgLaplacian << endl;

    // a little bit less "by hand"..
    // using cv::filter2D
    filter2D(img, imgLaplacian, -1, kernel);
    cout << imgLaplacian << endl;


    //------------------------------------------------------------------------------------------- real stuffs now
    img = imread("sample.jpg", 0); // load grayscale image
      imgOri = img;
    // ok, now try different kernel
    kernel = (Mat_<float>(3,3) <<
        1,  1, 1,
        1, -8, 1,
        1,  1, 1); // another approximation of second derivate, more stronger

    // do the laplacian filtering as it is
    // well, we need to convert everything in something more deeper then CV_8U
    // because the kernel has some negative values,
    // and we can expect in general to have a Laplacian image with negative values
    // BUT a 8bits unsigned int (the one we are working with) can contain values from 0 to 255
    // so the possible negative number will be truncated
    filter2D(img, imgLaplacian, CV_32F, kernel);
    img.convertTo(img, CV_32F);
    imgResult = img - imgLaplacian;

    // convert back to 8bits gray scale
    imgResult.convertTo(imgResult, CV_8U);
    imgLaplacian.convertTo(imgLaplacian, CV_8U);

      namedWindow("original", CV_WINDOW_AUTOSIZE);
    imshow( "original", imgOri );

   // namedWindow("laplacian", CV_WINDOW_AUTOSIZE);
    //imshow( "laplacian", imgLaplacian );

    namedWindow("result", CV_WINDOW_AUTOSIZE);
    imshow( "result", imgResult );

    while( true ) {
        char c = (char)waitKey(10);
        if( c == 27 ) { break; }
    }
      return 0;
}

Setelah mengcopy paste codingan diatas kita sekarang akan mengonfigurasis settingan debuging dan release dengan cara Project -> (Nama Project)Propertys setelah itu masuk ke menu Linker -> Input.Pertama saya akan mengubah release terlebih dahulu dengan cara masuk kedalam configuration manager -> Ubah Solution Active menjadi Release setelah itu kita masukan codingan lagi kedalam Additional Depedencies.  
opencv_features2d246.lib
opencv_highgui246.lib
opencv_core246.lib
opencv_imgproc246.lib
opencv_ml246.lib
opencv_objdetect246.lib
opencv_video246.lib
opencv_contrib246.lib
opencv_calib3d246.lib



Ssekarang kita akan mengconfigurasi Debug dengan cara yang sama dengan release tetapi diubah terlebih dahulu pada Solution Activenya menjadi Debug.
opencv_features2d246.lib
opencv_highgui246d.lib
opencv_core246d.lib
opencv_imgproc246d.lib
opencv_ml246d.lib
opencv_objdetect246d.lib
opencv_video246d.lib
opencv_contrib246d.lib
opencv_calib3d246d.lib
 
  Setelah itu kita akan mengconfigurasi alamat folder pada tools dengan cara Tools -> Option -> Project and Solution -> VC++ Direktories -> Library Files
New Line -> dan beri tambahan seperti ini C:\opencv\build\x86\vc9\lib
  Setelah itu kita ubah lagi tetapi kali ini di include file.
Dengan menambahkan : C:\opencv\build\includedan C:\opencv\include\opencvi
  Setelah itu kita copy paste image kita kedalam folder opencv kita yang berada pada direktor : C:\Opencv\samples\cpp.
   Langkah selanjutnya dengan mengcopy image kita ke dalam folder  Visual Studio kita yang berda di direktori : C:\Users\(nama Komputer)\My Document\Visual Studio 2010\(nama project).
   Setelah itu baru kita Debuging dengan cara Klik F5 atau dengan cara Debug -> Start Debunging.

Outputnya :

Nama Kelompok :
Zakie Zakaria (58410823)
Mohammad Iqbal Aristya (54410480)
Kelas : 4ia11

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Mengatur Jarak Spasi Antar Text



Mengatur Jarak Spasi Antar Text


Perhatikan contoh tampilan berikut ini:



Pada judul heading terlihat bahwa antar kata dan huruf terdapat jarak tertentu. Jarak tersebut diatur dengan menggunakan properti sbb:
word-spacing : jarak; letter-spacing : jarak; 
Properti  pertama di atas di gunakan untuk mengatur jarak antara kata,sedangkan yang kedua  untuk mengatur jarak  antar huruf.

Sebagai contoh, berikut ini code yang menghasilkan tampilan di atas.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Guide</title>
 <style type="text/css">
h1 {
word-spacing: 20px; letter-spacing: 15px;
}
 </style>
</head>

<body>

<h1>Ini Judul Heading</h1>

<p>Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. </p>

<p>Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. </p>

</body>

Kelompok 6 :











  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Perencanaan membangun usaha restoran Jepang

Perencanaan Membangun Usaha Restoran Jepang



Bisnis membuka usaha restoran jepang merupakan salah satu bisnis yang meggiurkan.karena orang indonesia sangat suka sekali sama makanan jepang seperti sushi, okonomiyaki, takoyaki dll. rata rata lidah orang jepang sama dengan indonesia. Dalam perencanaan usaha restoran jepang tersebut terdapat tiga faktor yang harus diperhatikan, diantaranya adalah :

 

Modal dan Keuntungan

Modal awal yang dikeluarkan adalah biaya pembangunan restoran, di dalam restoran tersebut terdapat 1 dapur, 1 mussolah, 1 kamar mandi dll. Biaya pembangunan sekitar Rp.Rp.2.500.000.000, Setelah itu biaya interor untuk setiap ruangan seperti  kulkas, kompor gas, meja makan, mesin kasir dan lain sebagainya Rp.500.000.000.

Jadi rincian modal awal diperkirakan sebagai berikut :

Biaya pembangunan restoran     = Rp. 2.500.000.000
Biaya interior                                     = Rp.    500.000.000
                                                      _________________ +
Total Modal Awal                              = Rp. 3.000.000.000
Rincian keuntungan tahunan diperkirakan sebagai berikut :

a. Pemasukan
    harga makanan :   -  sushi                  =   Rp. 50.000 - 100.0000/pcs
                                         -   okonomiyaki  =   Rp.  75.0000/pcs
                                         -   Takoyaki          =  Rp.  50.000/pcs
                                         -   udon                   = Rp.  25.000/pcs
                                         -   Aneka jus          = Rp.  50.000/pcs
                                         -   Aqua Botol        = Rp. 5.000/pcs
                                          -  Es Tehmanis       =Rp. 2.500/pcs
                                          - Es Capucinno/milo =Rp. 3. 000/pcs
perbulan penghasilan sekitar Rp.  Rp.192.000.000

 
b. Pengeluaran
    Listrik dan air            : Rp. 1.500.000 x 12       = Rp.  18.000.000
    Gaji pegawai               : Rp. 1.500.000 x 12       = Rp.  18.000.000

c. Biaya Pengeluaran
   pompa air, kompor gas dll                                      = Rp.   8.000.000
                                                                                    ______________+
d. Total Pengeluaran                                                 = Rp.   44.000.000

e. Keuntungan Bersih/tahun                                   = Rp. 192.000.000
                                                                                         Rp.   44.000.000
                                                                                     ______________ -
                                                                                        Rp. 148.000.000
 
Lokasi 

Lokasi yang dipilih untuk membangun restoran jepang ini di daerah tebet karena lokasi retoran tersebut di samping sebelah toko baju distro kayak endors,bloop,nanonine dan lokasi tersebut sangat strategis tempatnya dengan para pengunjung.


Perekrutan Tenaga Kerja


Dalam perekrutan tenaga kerja disini saya menggunakan tenaga kerja yang dibayar bulanan. Saya merekrut pegawai yang bisa membuat atau memasak makanan jepang seperti sushi,okonomiyaki,takoyaki,udon dll. serta saya merekut pegawai sebagai pelayan dan kasir yang sesuai kriteria,

Tanggung Jawab Sosial


Tanggung jawab sosial kepada masyarakat adalah selalu menjaga kebersihan di retoran jepang tersebut  serta memberikan pelayanan terbaik kepada pembeli atau yang memesan makanan ke pada restoran jepang.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS