Pemrosesan data di lingkungan MathCAD dan LabVIEW. Mempersiapkan gambar aslinya. "Teknologi komputer dalam pembuatan instrumen"

Untuk menyelesaikan proyek kursus, Anda harus terlebih dahulu menerima foto saya dalam bentuk digital dengan dimensi 120x300 piksel dalam format bmp. Untuk melakukan ini, Anda perlu mengambil foto Anda, dan dalam program ACDSee, setelah mengedit, dapatkan gambar yang diperlukan untuk pekerjaan itu. Gambar aslinya ditunjukkan pada Gambar. 1.

Beras. 1. Gambar asli.

Mengimpor data dari file grafik yang dihasilkan ke dalam array.

Aplikasi yang dikembangkan di LabVIEW untuk mengimpor file grafik dan mengubahnya menjadi array dua dimensi menggunakan fungsi berikut:

VI membaca file BMP dan menghasilkan data gambar yang diperlukan untuk menampilkan file dalam indikator gambar.

VI mengeluarkan gambar 1-, 4-, atau 8-bit atau gambar RGB 24-bit ke indikator pola.

VI ini mengambil array byte satu dimensi, dengan asumsi pengguna telah menyelesaikan semua operasi pengepakan dan padding.

VI mengubah sekelompok data gambar menjadi array dua dimensi.

Dianjurkan untuk menggunakan VI ini pada keluaran salah satu subpalet VI. Format Grafik yang melakukan pembacaan file grafik, untuk mengubah data gambar menjadi representasi dua dimensi.

Jika masukan VI adalah data gambar 32-bit, VI menghilangkan saluran alfa dan mengembalikan gambar 24-bit.

Gambar 2 menunjukkan hasil yang diperoleh pada panel depan aplikasi.

Beras. 2 Tampilan berkas sumber dan mengubahnya menjadi array dua dimensi

  1. Inversi gambar.

Pada Gambar. Gambar 3 menunjukkan diagram blok yang saya gunakan untuk membuat negatif di LabVIEW. Prinsip pembuatan diagram blok ini didasarkan pada inversi gambar.

Inversi gambar berarti mengambil negatif dari gambar aslinya dan sebaliknya.

Operasi inversi citra dapat ditulis secara matematis sebagai berikut:

.

Menggunakan rumus (1), putih diubah menjadi hitam.

Gbr.3 Diagram blok untuk memperoleh citra negatif.

Panel depan untuk rangkaian pada Gambar. 3 ditunjukkan pada Gambar. 4. Di sini Anda dapat melihat perbedaan antara gambar asli dan negatifnya.

Beras. 4 Panel depan untuk mendapatkan gambar negatif.

Untuk melakukan inversi gambar, aplikasi menggunakan fungsi berikut:

VI mengonversi gambar menjadi gambar, yang memungkinkan Anda menggunakan VI lain dari subpalet Fungsi Gambar untuk menambahkan instruksi menggambar elemen pada gambar.

VI polimorfik ini memungkinkan Anda mengonversi gambar 1-bit, 4-bit, 8-bit, atau penuh warna.

VI mengubah gambar menjadi sekelompok data gambar, yang kemudian dapat disimpan ke file menggunakan VI di subpalet Graphics Formats.

Pintu masuk warna latar belakang(Warna Latar Belakang) mengatur warna latar belakang gambar.

VI menulis file dalam format BMP.

Jalur fungsi masukan ke berkas BMP(jalur ke file BMP) dan data gambar.

2. Kontras linier dari gambar aslinya.

Prinsip membangun diagram blok gbr. 5 untuk memperoleh citra desaturasi dan kontras didasarkan pada metode kontras citra linier.

Kontras gambar dikaitkan dengan peningkatan kecocokan antara rentang dinamis gambar dan ukuran layar tempat rendering dilakukan.

Beras. 5 Diagram blok untuk memperoleh citra desaturasi dan citra kontras.

Panel depan untuk rangkaian pada Gambar. 5 ditunjukkan pada Gambar. 6. Anda dapat melihat perbedaan antara gambar desaturasi dan gambar kontras tinggi. Nilai kecerahan minimum dan maksimum piksel gambar juga ditampilkan di sini.

Beras. 6 Panel depan untuk gambar desaturasi dan gambar kontras tinggi.

Untuk menerapkan kontras gambar asli, aplikasi menggunakan fungsi berikut:

Fungsi tersebut mengembalikan nilai maksimum dan minimum yang ditemukan dalam array, beserta indeks setiap nilai.

Array input dapat berupa array n-dimensi jenis apa pun.

Output nilai maksimal dan nilai min memiliki tipe dan struktur data yang sama dengan elemen array input.

Output indeks maks menampilkan indeks nilai maksimum pertama. Jika array bersifat multidimensi, maka output indeks maks mewakili array yang elemennya merupakan indeks dari nilai maksimum pertama array.

Output indeks minimum menampilkan indeks nilai minimum pertama.

Jika array bersifat multidimensi, maka keluaran indeks minimum mewakili array yang elemennya merupakan indeks dari nilai minimum pertama array.

Jika array numerik berbentuk satu dimensi, maka keluaran indeks maksimum dan indeks minimum adalah bilangan bulat skalar (a). Jika larik numerik bersifat multidimensi, maka keluaran ini mewakili larik satu dimensi yang berisi indeks nilai maksimum dan minimum (b).

Ke bilangan bulat byte yang tidak ditandatangani.

Fungsi ini mengubah nomor masukan menjadi bilangan bulat 8-bit yang tidak ditandatangani dalam rentang 0 hingga 255.

Tujuan dari proyek kursus ini adalah untuk mengimplementasikan algoritma dan metode yang diusulkan untuk memproses kumpulan data (gambar digital) menggunakan lingkungan MathCAD dan LabVIEW, serta analisis komparatif dua aplikasi yang sedang dipertimbangkan, menunjukkan kelebihan dan kekurangannya dalam kaitannya satu sama lain. Perlu dicatat bahwa lingkungan MathCAD dan LabVIEW adalah yang paling visual dan sering digunakan untuk memecahkan berbagai masalah teknik. tugas komputasi dan masalah penelitian.

Pengolahan gambar digital cukup cerah dan contoh yang jelas konversi dan analisis data pengukuran. Konversi gambar digital banyak digunakan di sistem industri visi mesin, sistem pengukuran video, sistem televisi terapan, siaran televisi dan sebagainya.

Tujuan transformasi digital gambar terdiri dari penciptaan kondisi untuk meningkatkan persepsi suatu gambar (misalnya, dalam diagnostik medis sinar-X atau ultrasound), pembentukan gambar artistik tertentu (di televisi), menyoroti fitur-fitur informatif (dalam sistem pengenalan gambar, sistem pengukuran, sistem pemantauan ) dan seterusnya.

Proyek kursus ini akan menggunakan transformasi digital seperti: mengimpor data dari file yang dihasilkan ke dalam array; inversi gambar; kontras linier dari gambar asli; konstruksi gambar awal dan kontras linier dan kumulatif; binarisasi gambar yang dihasilkan setelah kontras linier dengan ambang binarisasi yang berbeda; pembesaran 2x pada gambar dengan kontras yang ditingkatkan menggunakan ekstrapolasi orde nol dan interpolasi orde pertama untuk merekonstruksi piksel gambar perantara; mengekspor gambar yang dikontraskan dan dipulihkan ke file bmp.

Penting untuk membedakan antara pemrosesan gambar yang dimaksudkan untuk persepsi visual dan pemrosesan dalam perangkat analisis otomatis, di mana tugas mengidentifikasi fitur, menentukan koordinat yang tepat saat ini dari suatu objek, dan menghasilkan data tentang karakteristik kuantitatif dikedepankan.

Gambar yang dipelajari mencerminkan pola interaksi antara cahaya dan lainnya radiasi elektromagnetik Dengan bagian yang terpisah adegan yang sedang dipelajari. Modulasi fluks radiasi terjadi baik dalam energi maupun distribusi spektral dan dilakukan sebagai akibat interaksi radiasi dengan zat yang diteliti akibat fenomena serapan, pemantulan, hamburan, pembiasan, polarisasi atau interferensi. Pada properti inilah, sebagai suatu peraturan, penggunaan pemrosesan gambar dalam sistem analisis otomatis untuk tujuan ekstraksi informasi kuantitatif tentang objek yang diteliti.

Pembuatan gambar digital asli dengan fotografi digital dan pemrosesan lebih lanjut di editor Abode Photoshop. Menyimpan gambar yang dihasilkan dalam format bmp, berukuran 300x300 piksel (Gbr. 1).

Hasil pemrosesan pada titik mana pun dalam bingkai hanya bergantung pada nilai gambar masukan pada titik yang sama. Keuntungan nyata dari prosedur tersebut adalah kesederhanaannya yang luar biasa. Namun, banyak di antaranya yang mengarah pada peningkatan subjektif yang nyata dalam kualitas visual. Hal ini menentukan perhatian yang diberikan pada prosedur elemen demi elemen. Tanpa melebih-lebihkan perannya, kami mencatat bahwa sering kali pemrosesan elemen demi elemen digunakan sebagai tahap akhir dalam menyelesaikan lebih banyak masalah. tugas yang sulit pemrosesan gambar. Seringkali berguna untuk menekankan dan meningkatkan fitur, fitur, dan nuansa tertentu dari gambar yang diamati untuk meningkatkan persepsi subjektifnya.

Inversi citra berarti memperoleh negatif dari citra aslinya dan sebaliknya (Gbr. 2a, b). Saat menggunakan format gambar skala abu-abu delapan bit, tingkat kecerahan dikodekan dalam 256 level (dari 0 hingga 255). Faktanya, konversi putih menjadi hitam dilakukan dengan mempertimbangkan 256 level pengkodean (Gbr. 2).

Tugas kontras terkait dengan peningkatan pencocokan rentang dinamis gambar dan layar tempat visualisasi dilakukan. Dalam kasus format skala abu-abu, 1 byte (8 bit) penyimpanan dialokasikan untuk pengkodean setiap sampel gambar, sehingga level dapat mengambil salah satu dari 256 nilai. Biasanya rentang kerja adalah 0...255; dalam hal ini, nilai 0 berhubungan dengan tingkat hitam selama visualisasi, dan nilai 255 berhubungan dengan tingkat putih. Mari kita asumsikan bahwa kecerahan minimum dan maksimum gambar asli sama dengan dan masing-masing. Jika parameter ini atau salah satunya berbeda secara signifikan dari nilai batas rentang kecerahan, maka gambar yang divisualisasikan terlihat tidak jenuh, tidak nyaman, dan melelahkan untuk diamati.

Kita akan mendapatkan gambar desaturasi (Gbr. 3), dan kemudian, dengan menggunakan kontras linier, kita akan meningkatkan kualitasnya (Gbr. 3a, b, Gbr. 4).



Untuk gambar digital format skala abu-abu, skala kecerahannya termasuk dalam rentang bilangan bulat 0...255, histogramnya adalah tabel 256 angka. Masing-masing menunjukkan jumlah titik dalam bingkai yang memiliki kecerahan tertentu.

Histogram linier mendefinisikan pencarian lengkap matriks gambar. Nilai elemen matriks, pada gilirannya, adalah indeks dari array histogram. Saat Anda memilih elemen mana pun dari matriks, satu elemen akan ditambahkan ke elemen yang sesuai dari larik histogram. Hasilnya, setelah pencarian matriks secara lengkap, setiap elemen array mencerminkan jumlah total elemen matriks dengan tingkat kecerahan yang sesuai (Gbr. 4a, 5a, Gambar 5a, b).

Dalam histogram kumulatif, nilai apa pun dari elemen array sama dengan jumlah semua nilai sebelumnya (Gbr. 4b, 5b, Gambar 6a, b).



Transformasi ambang batas mengubah gambar skala abu-abu yang berisi semua tingkat pencahayaan menjadi gambar biner dengan piksel 0 atau 255 luminansi.

Operasi ini, terkadang disebut binarisasi atau kuantisasi biner, dapat berguna ketika garis besar objek yang ada dalam gambar penting bagi pengamat, namun detail yang terdapat di dalam objek atau di latar belakang tidak menarik (Gambar 6a, b).


Penskalaan gambar adalah tugas yang sangat penting dalam analisis gambar. Tugas ini terkait erat dengan masalah pemulihan data, seiring dengan meningkatnya dimensi fisik Dalam gambar, selalu ada piksel perantara yang nilainya tidak diketahui. Menentukan tingkat kecerahan piksel baru adalah masalah utama yang harus dipecahkan. Namun, kedua metode yang diusulkan hanya dapat diterapkan untuk array satu dimensi, jadi Anda harus melakukan operasi pemulihan data terlebih dahulu baris demi baris, mengabaikan baris hanya dengan piksel baru (semua nilai nol), lalu lakukan operasi yang sama untuk kolom matriks yang dihasilkan

Dalam kursus ini ada dua pekerjaan lingkungan perangkat lunak- MathCAD dan LabVIEW. Gambar delapan bit berukuran 300x300 piksel digunakan sebagai objek penelitian. Selama penelitian, ditemukan bahwa kualitas hasil akhir dan hasil antara yang diperoleh dengan menggunakan kedua lingkungan adalah identik. Salah satu kelebihan lingkungan LabVIEW adalah kejelasan algoritma eksekusi dan intuitif antarmuka yang jelas, yang merupakan keunggulan signifikan dibandingkan program MathCAD. Namun, jika Anda membandingkan sumber daya PC yang diperlukan untuk menyelesaikan tugas yang diberikan, Anda dapat melihat bahwa algoritma LabVIEW yang sama memerlukan “mesin” yang jauh lebih kuat. Hal ini terlihat jelas pada bagian “interpolasi” dan “ekstrapolasi”. Menurut pendapat saya, jangkauan masalah yang diselesaikan di lingkungan LabVIEW lebih luas dibandingkan dengan lingkungan MathCAD. Tapi dalam hal ini pekerjaan kursus itu tidak bisa dilihat. Oleh karena itu, kita dapat menyimpulkan bahwa MathCAD adalah program optimal untuk melaksanakan tugas tersebut.

Meningkatkan kualitas visual gambar berwarna

Masalah peningkatan kualitas gambar berwarna merupakan masalah praktis yang besar. Dalam kebanyakan kasus, perbaikan mengacu pada peningkatan kualitas persepsi visual. Mari kita pertimbangkan beberapa pendekatan yang digunakan untuk memecahkan masalah ini. Yaitu pemerataan histogram nilai kecerahan elemen gambar (equalization), perluasan rentang dinamis nilai kecerahan gambar, kontras dan fuzzy masking. Keunikan dari masalah yang sedang dipertimbangkan adalah bahwa sebagian besar pendekatan yang diketahui dikembangkan untuk meningkatkan kualitas gambar halftone daripada gambar berwarna. Tugas meningkatkan kualitas gambar berwarna, berbeda dengan gambar halftone, memiliki karakteristik tersendiri. Namun, di bahan ini Saat memecahkan masalah peningkatan kualitas visual gambar berwarna, kami hanya akan menggunakan alat dan fungsi berikut yang diterapkan dalam aplikasi Gambar Kotak Alat Pemrosesan.

Menyelaraskan histogram nilai kecerahan elemen gambar (ekualisasi)

Seringkali, gambar mentah asli mengalami distorsi pencahayaan. Alasannya bisa sangat berbeda, tetapi dalam banyak kasus hal ini disebabkan oleh ketidaksempurnaan peralatan pembuatan data video. Akibatnya, detail pada gambar tersebut sulit dibedakan atau tidak dapat dibedakan sama sekali. Untuk meningkatkan kontras gambar tersebut, gunakan berbagai metode modifikasi histogram. Mari kita beri contoh peningkatan kualitas visual suatu gambar dengan meratakan histogram nilai kecerahan elemennya. Untuk melakukan ini, kita akan menggunakan fungsi histeq yang ada di dalam aplikasi Image Processing Toolbox.

Kami menganggap gambar asli di ruang kerja Matlab

L=imread("hutan.bmp"); L=ganda(L)./255;

dan memvisualisasikannya.

Gambar,imshow(L);

Kotak Alat Pemrosesan Gambar dikenal untuk merender gambar ruang warna RGB atau sebagai gambar yang diindeks. Pertama, kami menerapkan pemerataan histogram nilai kecerahan secara terpisah untuk setiap komponen warna dalam ruang RGB.

Kiri_R=histeq(Kiri_R); L_G=histeq(L_G); L_B=histeq(L_B); L(:,:,1)=Kiri_R; L(:,:,2)=L_G; L(:,:,3)=L_B; gambar, imshow(L);

Saat memproses gambar berwarna, sistem warna HSV sering digunakan. Literatur mengklaim bahwa sistem warna ini lebih mewakili persepsi warna manusia dibandingkan RGB.

Mari ubah gambar sumber ke format HSV menggunakan fungsi rgb2hsv.

L_hsv(:,:,3)=histeq(L_hsv(:,:,3));

Untuk memvisualisasikan hasilnya, perlu dilakukan konversi kembali ke ruang warna RGB.

L=hsv2rgb(L_hsv); gambar, imshow(L);

Memperluas rentang dinamis nilai kecerahan gambar

Pendekatan terkenal lainnya yang banyak digunakan untuk meningkatkan kualitas visual gambar adalah dengan memperluas rentang dinamis nilai kecerahannya.

L=imread("krepost.bmp"); L=ganda(L)./255; gambar, imshow(L);

Gambar asli direpresentasikan dalam ruang warna RGB. Mari kita perluas rentang dinamis kecerahannya untuk setiap komponen warna.

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3);

Mari kita tentukan minimum dan nilai maksimal kecerahan semua komponen warna. Data ini akan menjadi sumber metode koreksi distorsi gradasi ini.

MIN_L_R=min(min(L_R));MIN_L_G=min(min(L_G));MIN_L_B=min(min(L_B)); MAX_L_R=maks(maks(L_R));MAX_L_G=maks(maks(L_G));MAX_L_B=maks(maks(L_B));

Sifat transformasi ditentukan oleh parameter. Jika =1, maka transformasinya linier. Namun, sering kali, terutama jika gambar asli berisi area gelap atau terang dengan area yang luas, transformasi nonlinier lebih efektif jika .

SEBUAH=.5;

L_R=((L_R-MIN_L_R)./(MAX_L_R-MIN_L_R)).^a; L_G=((L_G-MIN_L_G)./(MAX_L_G-MIN_L_G)).^a; L_B=((L_B-MIN_L_B)./(MAX_L_B-MIN_L_B)).^a; L(:,:,1)=Kiri_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Gambar,imshow(L);

Mari kita visualisasikan hasil transformasinya.

Sekarang, seperti pada contoh sebelumnya, mari kita sajikan gambar dalam sistem warna HSV

L_hsv=rgb2hsv(L);

dan menerapkan prosedur yang sama untuk memperluas rentang dinamis nilai nada warna.

SEBUAH=.5; L_hsv(:,:,3)=((L_hsv(:,:,3)-min(min(L_hsv(:,:,3))))./(maks(maks(L_hsv(:,:,3) ))-min(min(L_hsv(:,:,3))))).^a; L=hsv2rgb(L_hsv);

Gambar,imshow(L);

Mari kita bayangkan hasilnya.

Kontras gambar berwarna

Mari kita pertimbangkan pendekatan lain yang digunakan untuk meningkatkan kualitas visual gambar - kontras. Saat menerapkan pendekatan ini, kita akan menggunakan fungsi imfilter.

Kami membaca gambar aslinya dan memvisualisasikannya.

L=imread("kano.bmp"); L=ganda(L)./255; gambar, imshow(L); Setiap komponen warna pada gambar yang disajikan di format RGB

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3);

, kami akan memprosesnya secara terpisah.

Untuk melakukan ini, pilih masker filter yang meningkatkan kontras gambar

H = fspecial("tidak tajam");

dan menerapkannya pada setiap komponen warna.

Kiri_R=imfilter(Kiri_R,h); L_G=imfilter(L_G,h); L_B=imfilter(L_B,h); L(:,:,1)=Kiri_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Gambar,imshow(L);

Mari kita visualisasikan hasil kontras gambar yang disajikan dalam ruang warna RGB.

Bayangkan gambar yang sama dalam sistem warna HSV dan lakukan transformasi serupa.

L_hsv=rgb2hsv(L); L_hsv(:,:,3)=imfilter(L_hsv(:,:,3),h); L=hsv2rgb(L_hsv

Gambar,imshow(L);

Mari kita sajikan hasil transformasi yang dilakukan.

Metode penyamaran kabur

Mari kita pertimbangkan kelas metode lainnya - metode fuzzy masking, yang juga digunakan untuk meningkatkan kualitas visual gambar.

Pertama, kita menghitung dan memvisualisasikan gambar aslinya.

L=imread("hestain.bmp"); L=ganda(L)./255; gambar, imshow(L);

L_R=L(:,:,1);L_G=L(:,:,2);L_B=L(:,:,3); MEAN_L_R=rata-rata(rata-rata(L_R));MEAN_L_G=rata-rata(rata-rata(L_G));MEAN_L_B=rata-rata(rata-rata(L_B)); sebuah=3; L_R=MEAN_L_R+a.*(L_R-MEAN_L_R); L_G=MEAN_L_G+a.*(L_G-MEAN_L_G); L_B=MEAN_L_B+a.*(L_B-MEAN_L_B); L(:,:,1)=Kiri_R; L(:,:,2)=L_G; L(:,:,3)=L_B;

Gambar,imshow(L);

Mari kita bayangkan hasil transformasinya.

L_hsv=rgb2hsv(L);

MEAN_L_hsv=berarti(berarti(L_hsv(:,:,3))); L_hsv(:,:,3)=MEAN_L_hsv+a.*(L_hsv(:,:,3)-MEAN_L_hsv); L=hsv2rgb(L_hsv);

Mari kita sajikan hasil transformasi yang dilakukan.

Gambar,imshow(L);

Teknik fuzzy masking, yang digunakan untuk mempertajam gambar berwarna, dapat diterapkan secara berbeda. Mari kita lihat ini lebih terinci.

Seperti pada contoh sebelumnya, pertama-tama kami akan mendemonstrasikan cara kerja metode ini saat memproses masing-masing komponen warna. Untuk melakukan ini, kami mempertimbangkan gambar asli di wilayah kerja Matlab dan memvisualisasikannya.

L=imread("westconcordaerial.bmp"); gambar, imshow(L);

KEMENTERIAN PENDIDIKAN DAN ILMU PENGETAHUAN FEDERASI RUSIA

INSTITUT TEKNOLOGI

______________ UNIVERSITAS FEDERAL SELATAN di Taganrog________

Fakultas Teknik Elektronika dan Instrumentasi (FEP)

Departemen sistem otomatis riset ilmiah dan eksperimen (ASNIiE)

CATATAN PENJELASAN

untuk tugas kursus

oleh disiplin

« Teknologi komputer dalam pembuatan instrumen"

“Pemrosesan data dalam lingkungan pemrograman grafis Laboratorium MELIHAT »

Perkenalan

Tujuan dari proyek kursus ini adalah untuk mengimplementasikan algoritma dan metode yang diusulkan untuk memproses kumpulan data (gambar digital) menggunakan LabVIEW. LabVIEW adalah yang paling visual dan sering digunakan untuk menyelesaikan berbagai masalah komputasi teknik dan masalah penelitian.

Pemrosesan citra digital adalah contoh yang cukup jelas dan ilustratif dari konversi dan analisis data pengukuran. Konversi gambar digital banyak digunakan dalam sistem visi mesin industri, sistem pengukuran video, sistem aplikasi televisi, siaran televisi dan sebagainya.

Tujuan konversi gambar digital adalah untuk menciptakan kondisi untuk meningkatkan persepsi gambar (misalnya, dalam diagnostik medis sinar-X atau ultrasound), membentuk gambar artistik tertentu (di televisi), menyoroti fitur-fitur informatif (dalam sistem pengenalan gambar, sistem pengukuran, sistem pemantauan), dll. lebih lanjut.

Proyek kursus ini akan menggunakan transformasi digital seperti: mengimpor data dari file yang dihasilkan ke dalam array; inversi gambar; kontras linier dari gambar asli; konstruksi gambar awal dan kontras linier dan kumulatif; binarisasi gambar yang dihasilkan setelah kontras linier dengan ambang binarisasi yang berbeda; pembesaran 2x pada gambar dengan kontras yang ditingkatkan menggunakan ekstrapolasi orde nol dan interpolasi orde pertama untuk merekonstruksi piksel gambar perantara; mengekspor gambar yang dikontraskan dan dipulihkan ke file bmp.

Penting untuk membedakan antara pemrosesan gambar yang dimaksudkan untuk persepsi visual dan pemrosesan dalam perangkat analisis otomatis, di mana tugas mengidentifikasi fitur, menentukan koordinat yang tepat saat ini dari suatu objek, dan menghasilkan data tentang karakteristik kuantitatif dikedepankan.

Gambar yang dipelajari mencerminkan pola interaksi cahaya dan radiasi elektromagnetik lainnya dengan bagian individu dari pemandangan yang diteliti. Modulasi fluks radiasi terjadi baik dalam energi maupun distribusi spektral dan dilakukan sebagai akibat interaksi radiasi dengan zat yang diteliti akibat fenomena serapan, pemantulan, hamburan, pembiasan, polarisasi atau interferensi. Sifat-sifat inilah yang, sebagai suatu peraturan, didasarkan pada penggunaan pemrosesan gambar dalam sistem analisis otomatis untuk mengekstrak informasi kuantitatif tentang objek yang diteliti.

Gambar alam berasal dari non-komputer. DI DALAM

hampir tidak ada yang tajam transisi warna. Gambar komputer seperti

Selain itu, yang lainnya dibagi menjadi dua jenis: raster dan vektor.

Bitmap disimpan sebagai matriks persegi panjang dengan elemen,

menentukan kecerahan komponen warna. Gambar vektor

mewakili urutan perintah untuk konstruksinya. Contoh

perintah - lingkaran dengan pusat di beberapa titik dan dengan radius tertentu,

bertekstur dengan bahan seperti kayu. Keuntungan dari raster

gambar - kemudahan reproduksi dan realisme, kerugian -

volume terisi besar, masalah dengan penskalaan. Dalam vektor

gambar, sebaliknya, keuntungannya adalah volume yang ditempati kecil,

kemudahan penskalaan, namun kelemahannya adalah perlunya pendahuluan

pemrosesan sebelum pemutaran dan kesulitan membuat realistis

gambar. Berikut ini kami hanya akan mempertimbangkannya gambar raster seperti matriks persegi panjang.

Mari kita pertimbangkan format utama yang digunakan dalam pemrosesan komputer

gambar.

Format hitam putih. Setiap elemen matriks diwakili oleh satu

sedikit. Jika dia sama dengan satu, maka diidentikkan dengan warna hitam jika

sama dengan nol – dengan warna putih. Ini adalah format paling sederhana dan digunakan untuk pencetakan.

surat kabar, pengenalan teks dan tanda tangan.

Format skala abu-abu(skala abu-abu). Perbedaan antara format ini dan

yang sebelumnya adalah untuk setiap elemen matriks 8 dialokasikan

bit (satu byte). Hal ini memungkinkan kita menggunakan 256 tingkat abu-abu.

Jika elemen matriksnya 0, maka kita punya putih, dengan meningkatnya

nilai elemen hingga 255, kecerahan gambar berkurang, dan jika

nilai elemen 255 menghasilkan warna hitam. Antara 0 dan 255

level akan diatur dalam warna abu-abu sesuai aturan: semakin dekat nilainya

255, semakin gelap warna abu-abunya. format ini memungkinkan Anda untuk menjadi cukup

gambar hitam putih berkualitas tinggi.

Format multisaluran. DI DALAM dalam hal ini elemen matriks direpresentasikan sebagai vektor dengan koordinat model warna yang digunakan.

Biasanya vektornya tiga dimensi, karena mata manusia bereaksi terhadap tiga dimensi

berbagai komponen warna. Setiap komponen vektor paling sering

memakan satu byte memori.

Format terindeks digunakan untuk mengurangi volume

gambar atau untuk digunakan warna tertentu. Elemen matriks

adalah penunjuk ke tabel warna. Banyaknya warna yang digunakan adalah

2K, dimana K adalah jumlah bit memori yang digunakan untuk menyimpan elemen

matriks. Warna dalam tabel yang ditentukan dapat dikodekan dengan nomor berbeda

bit Misalnya pada 256 mode warna 256 adaptor video dipilih

warna dari 262.144 kemungkinan, karena warna yang dipilih terwakili

Format RGB dan untuk setiap komponen warna dikodekan oleh enam

Pada semua tahapan proyek kursus ini, pemrosesan dilakukan

gambar dalam format hitam putih atau skala abu-abu.

Mempersiapkan gambar aslinya

Penciptaan gambar digital asli dengan fotografi digital dan pemrosesan lebih lanjut di mana saja editor grafis. Menyimpan gambar yang dihasilkan dalam format bmp, berukuran 300x300 piksel (Gbr. 2).

Pemrosesan gambar dengan transformasi unsur

Hasil pemrosesan pada titik mana pun dalam bingkai hanya bergantung pada nilai gambar masukan pada titik yang sama. Keuntungan nyata dari prosedur tersebut adalah kesederhanaannya yang luar biasa. Namun, banyak di antaranya yang mengarah pada peningkatan subjektif yang nyata dalam kualitas visual. Hal ini menentukan perhatian yang diberikan pada prosedur elemen demi elemen. Tanpa melebih-lebihkan perannya, kami mencatat bahwa pemrosesan elemen demi elemen sering kali digunakan sebagai tahap akhir dalam memecahkan masalah pemrosesan gambar yang lebih kompleks. Seringkali berguna untuk menekankan dan meningkatkan fitur, fitur, dan nuansa tertentu dari gambar yang diamati untuk meningkatkan persepsi subjektifnya.

Tujuan dari proyek kursus ini adalah untuk mengimplementasikan algoritma dan metode yang diusulkan untuk memproses kumpulan data (gambar digital) menggunakan lingkungan MathCAD dan LabVIEW, serta analisis komparatif dari dua aplikasi yang sedang dipertimbangkan, yang menunjukkan kelebihan dan kekurangannya dalam kaitannya dengan satu sama lain. Perlu dicatat bahwa lingkungan MathCAD dan LabVIEW adalah yang paling visual dan sering digunakan untuk menyelesaikan berbagai masalah komputasi teknik dan masalah penelitian.

Pemrosesan citra digital adalah contoh yang cukup jelas dan ilustratif dari transformasi dan analisis data pengukuran. Konversi gambar digital banyak digunakan dalam sistem visi mesin industri, sistem pengukuran video, sistem aplikasi televisi, siaran televisi dan sebagainya.

Tujuan konversi gambar digital adalah untuk menciptakan kondisi untuk meningkatkan persepsi gambar (misalnya, dalam diagnostik medis sinar-X atau ultrasound), membentuk gambar artistik tertentu (di televisi), menyoroti fitur-fitur informatif (dalam sistem pengenalan gambar, sistem pengukuran, sistem pemantauan), dll. lebih lanjut.

Dalam proyek kursus ini, transformasi digital seperti: mengimpor data dari file yang dihasilkan ke dalam array akan digunakan; inversi gambar; kontras linier dari gambar asli; konstruksi gambar awal dan kontras linier dan kumulatif; binarisasi gambar yang dihasilkan setelah kontras linier dengan ambang binarisasi yang berbeda; pembesaran 2x pada gambar dengan kontras yang ditingkatkan menggunakan ekstrapolasi orde nol dan interpolasi orde pertama untuk merekonstruksi piksel gambar perantara; mengekspor gambar yang dikontraskan dan dipulihkan ke file bmp.

Penting untuk membedakan antara pemrosesan gambar yang dimaksudkan untuk persepsi visual dan pemrosesan dalam perangkat analisis otomatis, di mana tugas mengidentifikasi fitur, menentukan koordinat yang tepat saat ini dari suatu objek, dan menghasilkan data tentang karakteristik kuantitatif dikedepankan.

Gambar yang dipelajari mencerminkan pola interaksi cahaya dan radiasi elektromagnetik lainnya dengan bagian individu dari pemandangan yang diteliti. Modulasi fluks radiasi terjadi baik dalam energi maupun distribusi spektral dan dilakukan sebagai akibat interaksi radiasi dengan zat yang diteliti akibat fenomena serapan, pemantulan, hamburan, refraksi, polarisasi atau interferensi. Sifat-sifat inilah yang, sebagai suatu peraturan, didasarkan pada penggunaan pemrosesan gambar dalam sistem analisis otomatis untuk mengekstrak informasi kuantitatif tentang objek yang diteliti.

Mempersiapkan gambar aslinya

Pembuatan gambar digital asli dengan fotografi digital dan pemrosesan lebih lanjut di editor Abode Photoshop. Menyimpan gambar yang dihasilkan dalam format bmp, berukuran 300x300 piksel (Gbr. 1).

Memproses gambar menggunakan transformasi berdasarkan elemen

Hasil pemrosesan pada titik mana pun dalam bingkai hanya bergantung pada nilai gambar masukan pada titik yang sama. Keuntungan nyata dari prosedur tersebut adalah kesederhanaannya yang luar biasa. Namun, banyak di antaranya yang mengarah pada peningkatan subjektif yang nyata dalam kualitas visual. Hal ini menentukan perhatian yang diberikan pada prosedur elemen demi elemen. Tanpa melebih-lebihkan perannya, kami mencatat bahwa sering kali pemrosesan elemen demi elemen digunakan sebagai tahap akhir dalam memecahkan masalah pemrosesan gambar yang lebih kompleks. Seringkali berguna untuk menekankan dan meningkatkan fitur, fitur, dan nuansa tertentu dari gambar yang diamati untuk meningkatkan persepsi subjektifnya.

Representasi gambar yang dihasilkan dalam bentuk matriks

Inversi gambar

Inversi citra berarti memperoleh negatif dari citra aslinya dan sebaliknya (Gbr. 2a, b). Saat menggunakan format gambar skala abu-abu delapan bit, tingkat kecerahan dikodekan dalam 256 level (dari 0 hingga 255). Faktanya, konversi putih menjadi hitam dilakukan dengan mempertimbangkan 256 level pengkodean (Gbr. 2).

Kontras gambar linier

Tugas kontras berkaitan dengan meningkatkan pencocokan rentang dinamis gambar dan layar tempat rendering dilakukan. Dalam kasus format skala abu-abu, 1 byte (8 bit) penyimpanan dialokasikan untuk pengkodean setiap sampel gambar, sehingga level dapat mengambil salah satu dari 256 nilai. Biasanya rentang kerja adalah 0...255; dalam hal ini, nilai 0 berhubungan dengan tingkat hitam selama visualisasi, dan nilai 255 berhubungan dengan tingkat putih. Mari kita asumsikan kecerahan minimum dan maksimum gambar asli sama dengan dan masing-masing. Jika parameter ini atau salah satunya berbeda secara signifikan dari nilai batas rentang kecerahan, maka gambar yang divisualisasikan terlihat tidak jenuh, tidak nyaman, dan melelahkan untuk diamati.

Kita akan mendapatkan gambar desaturasi (Gbr. 3), dan kemudian, dengan menggunakan kontras linier, kita akan meningkatkan kualitasnya (Gbr. 3a, b, Gbr. 4).

Membangun histogram gambar linier dan kumulatif

Untuk citra digital skala abu-abu yang skala abu-abunya berada dalam rentang bilangan bulat 0...255, histogramnya adalah tabel yang terdiri dari 256 angka. Masing-masing menunjukkan jumlah titik dalam bingkai yang memiliki kecerahan tertentu.

Histogram linier mendefinisikan pencarian lengkap matriks gambar. Arti elemen matriks pada gilirannya adalah indeks array histogram. Saat Anda memilih elemen mana pun dari matriks, satu elemen akan ditambahkan ke elemen yang sesuai dari larik histogram. Hasilnya, setelah pencarian matriks selesai setiap elemen array mencerminkan jumlah total elemen matriks dengan tingkat kecerahan yang sesuai (Gbr. 4a, 5a, Gambar 5a, b).

Dalam histogram kumulatif, nilai apa pun dari elemen array sama dengan jumlah semua nilai sebelumnya (Gbr. 4b, 5b, Gambar 6a, b).

Binarisasi gambar

Transformasi ambang batas mengubah gambar skala abu-abu yang berisi semua tingkat pencahayaan menjadi gambar biner dengan piksel 0 atau 255 luminansi.

Operasi ini, terkadang disebut binarisasi atau kuantisasi biner, dapat berguna ketika garis besar objek yang ada dalam gambar penting bagi pengamat, namun detail yang terdapat di dalam objek atau di latar belakang tidak menarik (Gambar 6a, b).

pembesaran gambar 2x

Penskalaan gambar adalah tugas yang sangat penting dalam analisis gambar. Tugas ini terkait erat dengan masalah pemulihan data, karena ketika dimensi fisik suatu gambar ditingkatkan, piksel perantara selalu muncul, yang nilainya tidak diketahui. Menentukan tingkat kecerahan piksel baru adalah masalah utama yang harus dipecahkan. Namun, kedua metode yang diusulkan hanya bekerja dengan baik untuk array satu dimensi, jadi Anda harus melakukan operasi pemulihan data terlebih dahulu baris demi baris, mengabaikan baris hanya dengan piksel baru (semua nilai nol), dan kemudian melakukan operasi yang sama untuk kolom dari array satu dimensi. matriks yang dihasilkan.

Interpolasi orde pertama

Interpolasi orde pertama terdiri dari menyamakan nilai rata-rata dua piksel asli yang berdekatan dengan piksel baru (Gbr. 8a, b, Gambar 8).

Kesimpulan

Dalam tugas kursus ini, dua lingkungan perangkat lunak dipertimbangkan - MathCAD dan LabVIEW. Gambar delapan bit berukuran 300x300 piksel digunakan sebagai objek penelitian. Selama penelitian, ditemukan bahwa kualitas hasil akhir dan hasil antara yang diperoleh dengan menggunakan kedua lingkungan adalah identik. Salah satu keunggulan lingkungan LabVIEW adalah kejelasan algoritma eksekusi dan antarmuka yang intuitif dan jelas, yang merupakan keunggulan signifikan dibandingkan program MathCAD. Namun, jika Anda membandingkan sumber daya PC yang dikonsumsi yang diperlukan untuk menyelesaikan tugas yang diberikan, Anda dapat melihat bahwa algoritme LabVIEW yang sama memerlukan “mesin” yang jauh lebih kuat. Hal ini terlihat jelas pada bagian “interpolasi” dan “ekstrapolasi”. Menurut pendapat saya, jangkauan masalah yang diselesaikan di lingkungan LabVIEW lebih luas dibandingkan dengan lingkungan MathCAD. Namun hal ini tidak dapat dilihat dalam kerangka kerja mata kuliah ini. Oleh karena itu, kita dapat menyimpulkan bahwa MathCAD adalah program yang optimal untuk mengimplementasikan tugas tersebut.

Referensi

1. Panduan untuk desain kursus: Pemrosesan data di Lingkungan MathCAD dan LabVIEW, Taganrog 2007

Aplikasi

Gambar 1

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat