Yeni Cevap 
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
PHP Tabanlı Optik Okuyucu Kaynak Kodları
Yazar Mesaj
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #1
PHP Tabanlı Optik Okuyucu Kaynak Kodları
PHP Tabanlı Optik Okuyucu ve Optik Form Scripti, Açık Kaynak Optik Okuyucu Çözümüdür.

İlk ve Orta Öğretim kurumları kendi imkanlarıyla dışarıya bağımlı kalmaksızın optik form basabilirler ve bu formları en ucuz belge besleyici özellikli bir tarayıcı yada multi fonksiyon yazıcı ile bilgisayar ortamına aktarabilirler. Daha sonra Php tabanlı bu optik okuyucu yazılımı ile jpeg formatındaki optik formları okutabilirler ve sonuçların pdf çıktısı haline raporunu alabilirler.

Yazılım php dilinde deneyimli bilgisayar öğretmenleri dikkate alınarak hazırlanmıştır. Bilgisayar öğretmenleri bu şekilde okullardaki ölçme değerlendirmenin teknik desteğini sunarak kurumun kendi imkanlarıyla istatistiklerini tutabilmesini sağlamaktadır.

Açık kaynak oluşundan dolayı arzu edildiği gibi değiştirilebilir ve optik okuyucu felsefesini anlamada da insanlara yardıcı olabilmektedir. Değerlendirmeyle ilgili tüm veriler kendi veritabanında tutulcağından geçmiş değerlendirmelerle kıyaslama yapılabileceği gibi mysql veritabanı kullanan herhangi birisi istediği istetisliği sorgularla oluşturabilir.

Kurulum işlemleri aşağıdaki şekilde olmalıdır.

Yazılım php tabanlı olduğu için platform bağımsızdır. Php destekli web sitesi üzerinde, Apache, Portable Sunucular üzerinde yada IIS üzerinde kullanılabilir.

Kod:
require/constants.php

Dosyası, Veritabanı ve form ayarlarının yapılması gerektiği dosyadır. Bu dosya içinde

PHP Kod:
$GLOBALS['db_hostname']="localhost";
$GLOBALS['db_username']="root";
$GLOBALS['db_password']="";
$GLOBALS['db_dbname']="duzgun_omr"

satırlarına veritabanı bilgilerini yazmanız gerekir. Ayrıca omr.sql dosyasını mysql e yüklemeniz gerekir.

PHP Kod:
//a5
$GLOBALS['Xtl'] = 59;//270;     352
$GLOBALS['Ytl'] = 123;//390;   143

$GLOBALS['Xtr'] = 1091;//1575;  1383
$GLOBALS['Ytr'] = 122;//391;  143

$GLOBALS['Xbl'] = 60;//272;  353
$GLOBALS['Ybl'] = 1446;//1911;   1463

$GLOBALS['Xbr'] = 1092;//1568;  1384
$GLOBALS['Ybr'] = 1445;//1906;  1463 

Bölümünde tasarladığımız a5 optik formun çevresindeki çizgilerin oluşturduğu 4 köşenin X,Y kordinatları yazılmıştır. a5 formumuzun orjinalini bu değişkenlerle tanımlamaktayız. a5reader.php dosyasında da işaret alanları bu tanımlanan kalıba göre tanımlanmıştır. a5reader.php içinde işaret alanlarının çerçeve çizgisinden uzaklıklarına göre $kitapcikTuru, $Numara ve $Cevaplar dizisinde tanımlanırlar.

a5 formunun orjinali maliyeti düşük olan laser yazıcı çıktısında gözle görülemeyen kaymalar oluşturacaktır. Bu kaymalar neticesinde işaret alanlarının yerleri değişmiş olacaktır. a5reader.php içinde yazılan bir transform fonksiyonu ile photoshop skew algoritmasındaki gibi orjinal formdan farklı değişimleri hesaplanır ve işaret alanları forma göre otomatik hesaplanır. Böylece formdaki noktalar değişsede çerçeve hesaplamasıyla forma uygun noktlara yönlendime yapılır.

Optik okuyucu yazılımında klavuz çizgisi olarak çerçeve çizgisi temel alınmaktadır ve bu çerçeve çizgisininde 4 köşe kenarı bulunarak bu hesaplama yapılır. Eğer hatalı okunmuş bir form oluşursa okunan formların çıktısından da bu anlaşılacağından bu çerçeve çizgileri resim programı ile belirginleştirip tekrar okutulabilir. Yine formun eğri tarandığı durumlrdada a5reader.php otomatik olarak formu düzleştirir.

Okuma işlemi öncesi şu işlemleri yapmalısınız.

Kod:
/formlar/a5/

dizinine taradığınız optik form jpeg dosyalarını yükleyiniz ve kod satırından a5reader.php dosyasını çalıştırınız.

PHP Kod:
c:\optik>c:\php\php.exe a5reader.php 

şekilnde çalıştırıldığında /formlar/a5/ altındaki optik formlar sırasıyla okunacak okuma başlangıç tarihsaati eşliğinde veritabanına aktarılacaktır.

Kod:
/formlar/a5/reader/

Dosyasına okunan herbir formun okunma işlemi sırasında yapılan hesaplamasıyla işlenmiş hali kaydedilecektir. /formlar/a5/reader/ dosyası hata analizi için çok önemlidir ve tek referanstır.
Bu dosyada Photoshop skew bölümündeki değerlerin çok düşük yada yüksek olması klavuz çizgi tespiti yapılamadığının göstergesidir. Ayrıca formun 4 kerında kırmız renkle hesaplama yapılmış olması gerekir ve yine işaretlemelerin hepsinin üzerinde kırmızı onay işaretinin olması gerekir. Herhangi bir işaret siyah hale ise yani üzeri kırmızı ile işaretlenmemişse formda sorun var demektir. Bu sorun genelde optik form üzerindeki gereksiz yazılar olabileceği gibi klavuz çizgisininde belirgin olmamasından kaynaklanabilir. Formu resim programı ile açıp gereksiz yazılar varsa silebilir ve köşe kenarları ağırlıklı olmak üzere klavuz çizgilerini kalınlaştıracak biçimde çizgi çizebilirsiniz. Tekrar okuma işleminde bu sorunlu formada sorunsuz biçimde okunduğu görülecektir.


Bu işlemler sonrasında okuma işemi bitti ise /formlar/a5 ve /formlar/a5/reader/ dosyalarının içindekileri yedekleyin ve siliniz. Bu silme işlemi bir sonraki sınav değerlendirmesinde eski formlarla karışmaması için önemlidir. Ben bu konuda /formlar/a5-1 şeklinde adlandırıp /formlar/a5 ve /formlar/a5/reader şeklinde tekrar dosya oluşturarak işlem yapmaktayım.


a5pdf.php : Optik form PDF çıktısı verir.
a5reader.php : Optik formların okunmasını sağlar.
a5pdfsonuc.php: Okunan formları cevap anahtarı ile karşılaştırır ve değerlendirmeyi yapar. Öğrenci karnelerini pdf olarak çıktı verir.
a4pdfrapor.php : Genel sınav değerlendirmesini verir.

a5pdf.php,a5pdfsonuc.php ve a4pdfrapor.php dosyaları url den çalıştırılır. örn:http://localhost/a5pdf.php gibi.
a5pdf.php dosyası Pdf Optik Form Kaynak kodudur. http://www.duzgun.com/optik-form-optik-o...-3044.html

a5reader.php dosyası tek bir form okuması yapmak için url den http://localhost/a5pdf.php?show biçiminde, Birçok form okumak için ise cmd den çalıştırılır. Url yi sadece deneme işlemlerinde kulanınız. Bunun dışında örneğin 1000 adet optik form okukturacaksanız önce standart okuma işlemi yapılır ve hatalı formlara bakılır. Hatalı form var ise bunlar düzeltilir ve tekrar baştan okuması yapılır. Her okuma işleminde o değerlendirmeyi program çalışma zamanı ile kaydettiğinden düzeltme sonrasıda tekrar hepsini okutmak gereklidir. 1000 formu 1 saatte okuyacağından tekrar okuma size zaman kaybettirmeyecektir.

Cevap anahtarını veritabanında d_cevapanahtari tablosuna, Öğrenci kayıtlarını ise d_ogrenciler tablosuna eklemelisiniz. Yazılımı php konusunda deneyimli kişiler dışında kullanması zor olacağından bunların girişiyle ilgili formlar hazırlamadım. Bunun için vakit ayrımadım.
MEvcut cevap anahtarı kalıbını dbden analiz ederek veritabanı çıktısı alıp sorgu değişikliği yaparak yükleyebilirsiniz. Öğrencileride tabloya ekleyebilirsiniz. Öğrenci kayıtlarını e-okuldan çıktı alıp sorguya dönüştürerekte ekleyebilirsiniz.

Php dilinde deneyimli olan kişilerin çok beğeneceğini düşündüğüm bu açık kaynak kod optik okuyucu yazımının hayırlı olması dileklerimle. Php konusunda deneyimli olmayan kişiler için ise vakit kabetmeden php dilini öğrenmelerini tavsiye ederim. Şu an bu yazılımı bu haliyle kullanrak bir kaç okul ölçme değerlendirmesini kendi imkanlarıyla ve gizliliğinde yapmaktadır.


Eklenti Dosyaları Tırnak(lar)
   

.rar  omr.rar (Boyut: 2.04 MB / İndirilme: 2497)
24-05-2011 19:46
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
ogretmen_1 Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Oct 2011
Rep Puanı: 0
Mesaj: #2
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
Merhaba.
OMR işleriyle ilgileniyorum. Hatta açık kaynak bir soru bankası projem var. Yazdığınız proje çok güzel. Ancak benim PHP bilgim yok denecek kadar az. Acaba öğrenci ve cevap anahtarı ile ilgili bir form hazırlamanız mümkün mü acaba? Bir de cevap seçenek sayısı 4 görünüyor. 5 seçenekli yapmak mümkün mü?
Teşekkürler.
29-10-2011 15:51
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #3
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
optik form için kullanacağız altyapı
http://www.duzgun.com/optik-form-optik-o...-3044.html
adresindedir. php öğrenmenizi tavsiye ederim. zira php öğrenilmesi kolay bir dildir. php.net bir çok konuda türkçe içeriğe sahiptir.

Saygılarımla.
İyi çalışmalar dilerim.
29-10-2011 16:33
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
okankan Çevrimdışı
Junior Member
**

Mesajlar: 2
Katılım: Nov 2011
Rep Puanı: 0
Mesaj: #4
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
Teşekkürler, deneyip görelim.
04-11-2011 10:19
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
evolution Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Mar 2012
Rep Puanı: 0
Mesaj: #5
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
kırmızı köşe açıklamalarının daha net olduğu bir resim paylaşabilir misiniz?
04-03-2012 15:35
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
pureblood Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Jun 2011
Rep Puanı: 0
Mesaj: #6
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
PHP ile

01050710151922274549556780 şeklinde olan ve soldan itibaren her iki sayının bir sayı ifade ettiği satırlar bizim tasarlayacağımız şekilde satır sütun aralıkları kutucuk büyüklükleri ile boyutlarını belirleyeceğimiz kağıtlara basılabilir mi?
böyle bir kod bulmam mümkün mü?
değilse böyle bir kodu ne kadara yazar arkadaşlar, ilgilenen arkadaşa bir pizza ısmarlarım...
Ekteki capturede programın olması gereken özellikleri var...
yardımlarınız için teşekkürler


Eklenti Dosyaları Tırnak(lar)
   
19-04-2012 19:53
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
beyzanet Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Mar 2013
Rep Puanı: 0
Mesaj: #7
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
Sayın Duzgun

Acaba hazırladığınız bu optik okuyucu kaynak kodlarını localhost bir sistemde nasıl kurup kullanabiliriz?
04-03-2013 18:24
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
ofisdata Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Mar 2013
Rep Puanı: 0
Mesaj: #8
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
guzel bir paylasım
(En son düzenleme: 13-05-2013 09:43 ofisdata.)
13-05-2013 09:42
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
bedemirhan Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: May 2013
Rep Puanı: 0
Mesaj: #9
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
Öncelikle merhaba, örnek uygulama üzerinde çalışma yapmaktayım. Amaç localde değil internet üzerinden optik formların çıktısının alınabilmesi ve yine internet ortamından sisteme aktarılması ve değerlendirilmesi.
Şu anda localde denemeler yapmaktayım. Formda bulunan öğrenci numarası alanını T.C.Kimlik Nosu olarak değiştirdim. (Eğer toparlayabilirsem İl Genelinde yada ilçe genelinde sınavlar yapmayı planlıyoruz. Bundan dolayı öğrenci nosunun mükerrer olması muhtemel olacağından T.C. Kimlik Nosunun kullanılmasının uygun olacağını düşünüyorum. Öğrenci tablosunda ise ili, ilçesi, kurum kodu ve okul adı alanları ekledim. Değerlendirme sorgusunda il, ilçe ve okul değerlendirmesi yapmayıda planlıyorum.)
Evde yazıcı ve scanner olmadığı için tarama ve ayarları tamamlayamadım henüz.
Kafamı kurcalayan bir kaç sorum olacak.
1- İnternet ortamından çoklu (Okullar) taranan formları sisteme nasıl aktaracak.
2- Gördüğüm kadarıyla sınav ID yok tabloları utime ile birleştirme yapılmış anladığım kadarıyla. Bunun yerine Sınav No ile ilişkilendirme yapılsa daha uygun olmazmı.
3- Kodlarda kapatılan bölümler var. Bu kodları aktif etmemiz gerekiyormu.
4- Taranan formlar localdemi depolanacak yoksa toplu okuma esnasında web dizininemi yüklenecek.

Yardım edebilirseniz memnun olurum.
Sistemi tamamlayabilirsem burada da paylaşacağım.

Saygılar, Kolay Gelsin...
26-05-2013 00:13
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
kaRanLık-61 Çevrimdışı
Junior Member
**

Mesajlar: 1
Katılım: Nov 2013
Rep Puanı: 0
Mesaj: #10
RE: PHP Tabanlı Optik Okuyucu Kaynak Kodları
dediklerinizi uyguluyorum fakat söyle bir hata oluyor reader kısmı bomboş sayfa geliyor neden olabilir acaba ?
17-11-2013 13:38
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
Yeni Cevap 


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Pdf Optik Form Örneği ve Kaynak Kodları duzgun 1 75,255 04-11-2011 10:19
Son Mesaj: okankan

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi