kapsel2

Upload: vera-rizchi-cahyani-p

Post on 21-Jul-2015

162 views

Category:

Documents


10 download

TRANSCRIPT

Nama Anggota Kelompok: Vera Rizchi Cahyani Putri (4211410017) Eris Mulyaningsih Muh. Gufron Faza (4211410015) (4211410016)

TERJEMAHAN ALASNOTE

1.16 FUNGSI IMSHOWCitra Grayscale Kita telah melihat bahwa jika x adalah matriks jenis uint8, maka perintah >>imshow (x) akan menampilkan x sebagai gambar. Hal ini wajar, karena tipe data uint8 membatasi nilainilai yang akan integer antara 0 dan 255. Namun, tidak semua gambar matriks yang ditampilkan begitu baik digabungkan ke dalam ini tipe data, dan banyak dari perintah pengolahan citra Matlab matriks menghasilkan output yang berasal dari tipe ganda. Kami memiliki dua pilihan dengan matriks jenis ini: 1. mengkonversi ke tipe uint8 dan kemudian menampilkannya, 2. menampilkannya secara langsung. Pilihan kedua dimungkinkan karena imshow akan menampilkan matriks tipe ganda sebagai citra grayscale selama elemen matriks adalah antara 0 dan 1. Misalkan kita mengambil gambar dan mengkonversi untuk tipe double: >> C = imread ('caribou.tif'); >> Cd = ganda (c); >> Imshow (c), angka, imshow (cd) Hasilnya ditunjukkan dalam gambar 1.24

gambar (a) asli

(b) Setelah konversi ke tipe double

Gambar 1.24. Sebuah upaya konversi tipe data

Namun, kita dapat melihat, gambar 1,24 (b) tidak terlalu mirip dengan gambar aslinya. Ini adalah karena untuk tipe ganda matriks, fungsi imshow mengharapkan nilai untuk berada di antara 0 dan 1, dimana 0 ditampilkan sebagai hitam, dan 1 ditampilkan sebagai putih. Sebuah nilai ditampilkan sebagai citra grayscale Sebaliknya, nilai lebih besar dari 1 akan ditampilkan sebagai 1 (putih) dan nilai kurang dari 0 akan ditampilkan sebagai nol (hitam). Pada gambar karibu, setiap piksel memiliki nilai lebih besar dari atau sama dengan 1 (pada kenyataannya nilai minimum 21), sehingga setiap piksel akan ditampilkan sebagai putih. Untuk menampilkan cd matriks, kita perlu skala untuk rentang 0-1. Hal ini mudah dilakukan hanya dengan membagi semua nilai dengan 255: >> Imshow (cd/255) dan hasilnya akan menjadi gambar yang karibu seperti ditunjukkan pada gure 1.24 (a). Kita dapat memvariasi display dengan mengubah skala dari matriks. Hasil dari perintah: >> Imshow (cd/512) >> Imshow (cd/128) ditampilkan dalam gambar 1.25. Membagi oleh 512 gelap gambar, karena semua nilai matriks sekarang antara 0 dan 0,5,sehingga pixel terang dalam gambar adalah mid-abu-abu. Membagi dengan 128 berarti bahwa rentang adalah 0 2,? Dan semua piksel dalam rentang 1 - 2 akan ditampilkan sebagai putih. Dengan demikian gambar memiliki, lebih-terkena dicuci-out appearance.

(a) matriks cd dibagi dengan 512

(b) matriks cd dibagi dengan 128

Gambar 1.25. Scaling dengan membagi gambar matriks dengan skalar Tampilan dari hasil perintah yang output adalah matriks tipe ganda dapat sangat sebuah ected dengan pilihan bijaksana dari faktor skala.Kita dapat mengubah gambar asli untuk menggandakan lebih benar menggunakan fungsi im2double. Ini menggunakan skala yang benar sehingga nilai-nilai output antara 0 dan 1. Jadi perintah >> Cd = im2double (c); >> Imshow (cd) akan menghasilkan gambar yang benar. Hal ini penting untuk membuat perbedaan antara dua fungsi ganda dan im2double: double mengubah tipe data tetapi tidak mengubah nilai numerik; im2double perubahan kedua tipe data numerik dan nilai. Pengecualian tentu saja adalah jika gambar asli adalah tipe ganda, di mana im2double kasus tidak apa-apa. Meskipun perintah ganda tidak banyak berguna untuk tampilan gambar langsung, dapat sangat berguna untuk aritmatika gambar. Kami telah melihat contoh ini di atas dengan skala. Sesuai dengan fungsi ganda dan im2double adalah fungsi uint8 dan im2uint8. Jika kita mengambil gambar kita cd tipe ganda, baik skala sehingga semua elemen adalah antara 0 dan 1, kita dapat mengubah kembali ke gambar tipe uint8 dalam dua cara: >> C2 = uint8 (255 * cd); >> C3 = im2uint8 (cd); Penggunaan im2uint8 adalah lebih disukai, dibutuhkan jenis data lain sebagai masukan, dan selalu mengembalikan benar hasil. GAMBAR BINER Ingat bahwa gambar biner akan hanya memiliki dua nilai: 0 dan 1. Matlab tidak memiliki biner tipe data seperti itu, tetapi tidak memiliki ag logis,? mana uint8 nilai sebagai 0 dan 1 dapat ditafsirkan sebagai data logis. Data logis akan ditentukan oleh penggunaan operasi relasional seperti ==, atau operasi lainnya yang memberikan ya / tidak ada jawaban. Misalnya, kita mengambil karibu yang matriks dan membuat dengan matriks baru. >> Cl = c> 120; (Kita akan melihat lebih dari jenis operasi dalam bab 2.) Jika sekarang kita memeriksa semua variabel kita dengan whos, output akan mencakup baris: cl 256x256 65536 uint8 array (logis)

Ini berarti bahwa perintah

>> Imshow (cl) akan menampilkan matriks sebagai gambar biner,

hasilnya akan ditampilkan dalam gambar 1.26.

(A) citra karibu berbalik biner

(b) Setelah konversi untuk mengetik uint8

Gambar 1.26: Membuat gambar biner Misalkan kita menghapus logis ag dari cl, ini bisa dilakukan dengan perintah sederhana: >> Cl = + cl; Sekarang output dari whos akan mencakup baris: cl 256x256 65536 uint8 array

Jika kita sekarang mencoba untuk menampilkan matriks dengan imshow, kami mendapatkan hasil yang ditunjukkan pada gambar 1,26 (b). A sangat mengecewakan image! Tapi ini diharapkan, dalam matriks jenis uint8, putih adalah 255, 0 adalah hitam, dan 1 adalah abu-abu sangat gelap dibedakan dari hitam. Untuk kembali ke gambar dilihat, kita bisa mengubah logis ag kembali, Dan melihat dengan Hasil: >> Imshow (logis (cl)) atau hanya dikonversi ke tipe double: >> Imshow (ganda (cl)) Kedua perintah ini akan menghasilkan gambar terlihat dalam gambar 1,26.

1.17 BIT PLANESSkala abu-abu gambar bisa diubah menjadi urutan gambar biner dengan memecah mereka menjadi bit-planes mereka. Jika kita mempertimbangkan nilai abu-abu setiap piksel dari sebuah gambar 8-bit sebagai kata biner 8-bit, maka sedikit planes 0 terdiri dari bit terakhir dari masing-masing nilai abu-abu. Karena bit ini memiliki efek paling tidak dalam hal besarnya nilai, hal itu disebut paling significant bit, dan planes yang terdiri dari bit yang paling significant planes bit. Demikian pula planes 7th bit terdiri dari bit rst Disetiap nilai. bit ini memiliki e terbesar dll dalam hal besarnya nilai, sehingga disebut yang paling sedikit significant, dan planes yang terdiri dari orang-bit planes cant bit yang paling signifikan. Jika kita mengambil gambar grayscale, kita mulai dengan membuat sebuah matriks dua jenis, ini berarti kita bisa melakukan aritmetik pada nilai-nilai. >> C = imread ('cameraman.tif'); >> Cd = ganda (c); Kita sekarang mengisolasi planes sedikit dengan hanya membagi cd matriks dengan kekuatan berturut-turut 2, melemparkan sisanya pergi, dan melihat jika bit? nal adalah 0 atau 1. Kita bisa melakukan hal ini dengan fungsi mod. >> C0 = mod (cd, 2); >> C1 = mod (lantai (cd / 2), 2); >> C2 = mod (lantai (cd / 4), 2); >> C3 = mod (lantai (cd / 8), 2); >> C4 = mod (lantai (cd/16), 2); >> C5 = mod (lantai (cd/32), 2); >> C6 = mod (lantai (cd/64), 2); >> C7 = mod (lantai (cd/128), 2); Ini semua ditampilkan dalam gambar1,27. Perhatikan bahwa setidaknya signi cant bit? Planes, c0, adalah untuk semua maksud dan tujuan array acak, dan bahwa sebagai nilai indeks meningkat sedikit planes, lebih banyak gambar muncul. Yang significant planes paling sedikit, C7, sebenarnya merupakan ambang gambar pada tingkat 127: >> Ct = c> 127; >> Semua (C7 (:)== ct (:)) ans = 1 Kita akan membahas thresholding dalam bab 7. Kita bisa pulih dan menampilkan gambar asli dengan >> Cc = 2 * (2 * (2 * (2 * (2 * (2 * (2 * C7 + c6) + c5) + c4) + c3) + c2) + c1) + c0; >> Imshow (uint8 (cc))

1.18 RESOLUSI SPASIALResolusi spasial adalah kerapatan pixel di atas gambar: semakin besar resolusi spasial, semakin piksel yang digunakan untuk menampilkan gambar. Kita dapat melakukan percobaan dengan resolusi spasial dengan Matlab's

Gambar 1.27: sedikit planes ini dari 8-bit grayscale image32

imresize fungsi. Misalkan kita memiliki grayscale 8-bit disimpan dalam matriks x. Kemudian perintah imresize (x, 1 / 2); akan membagi dua ukuran gambar. Hal ini dilakukan dengan mengambil setiap baris yang lain dan setiap kolom lainnya, sehingga hanya menyisakan unsur-unsur matriks yang baris dan kolom indeks bahkan:

Jika kita menerapkan imresize untuk hasil dengan 2 daripada 1 parameter / 2, semua piksel yang diulang untuk menghasilkan gambar dengan ukuran yang sama seperti aslinya, tetapi dengan setengah resolusi di setiap arah:

resolusi berlaku efektif ini gambar baru jika Hanya. Kita bisa melakukan semua ini dalam satu baris: x2 = imresize (imresize (x, 1 / 2), 2); Dengan mengubah parameter imresize, kita dapat mengubah efektif dari gambar untuk jumlah yang lebih kecil: Resolusi berlaku

Untuk melihat efek perintah ini, seandainya kita menerapkannya pada newborn.tif gambar: x = imread ('newborn.tif'); Efek dari blockiness meningkatkan atau pixelization menjadi cukup diucapkan seperti resolusi de-kusut; bahkan pada resolusi detail ne, seperti tepi bayi ngers, kurang jelas, dan pada setiap ujung-ujungnya sekarang cukup gumpal. Pada gambar hampir tidak dikenali, dan pada dan gambar menjadi dikenali.