Sayfalar

Çarşamba, Ekim 04, 2006

Görüntü işlemeye giriş




Görüntü işlemeye giriş - An Introduction To Digital Image Processing - konusunda güzel bir çalışma C kodlarıyla birlikte içeriği

I – A simple approach of image processing
1 – The colour data: vector representation
2 – Immediate applications to filters
3 – Grayscale transforms: light and contrast
4 – Resizing and rotating algorithms
5 – Blending
II – Matrix convolution filters 24
1 – Definition, properties and speed
2 – A few common filters
3 – FFT enhanced convolution
III – Examples of application 37
1 – Motion detection
2 – Shape recognition
Makale
Kodlar

Kodlar da Allegro kütüphanesi kullanılmış bakınız
http://derindelimavi.blogspot.com/2006/03/codeblocks-ile-allegro-kullanmak.html

Çarşamba, Eylül 27, 2006

BluePlayer 0.1


Audiere bir Ses kütüphanesi. Hatta daha önce bahsettiğim Irrlicht Oyun motoru da Bu kütüphaneyi kullanıyor. Pek tabii ki cross-platform ve açık kaynak kodlu.Tek büyük dezavantajı kötü bir dökümantasyonu var.
Peki Neymiş efendim özellikleri

Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV,AIFF, MOD, S3M, XM, and IT files.
For audio output, Audiere supports
DirectSound or WinMM in Windows,
OSS on Linux and Cygwin,
and SGI AL on IRIX.
Audiere is open source and licensed under the LGPL. This means that you may freely use
Audiere in commercial products, as long as you do not modify the source code. If you do modify Audiere and release a product that uses your modifications, you must release your changes to the code under the LGPL as well. Audiere is portable. It is tested on Windows, Linux-i386, Cygwin, and IRIX with at least three major compilers. Most of Audiere is endian-independent, so I expect it would work with few modifications on other architectures.
features
* Braindead easy API
* Supported file formats: Uncompressed WAV*, Uncompressed AIFF*, Ogg Vorbis*, FLAC*, MP3, MOD, S3M, IT, XM (* supports seeking)
* Streaming and buffered audio
* Volume, pan, and pitch shift modification
* Flat tone, square wave, white noise, and pink noise generation
* Runtime enumeration of audio devices and supported file formats
* Custom file streams
* Python, Delphi, Java, XPCOM (JavaScript in Mozilla) bindings

FLTK dan daha önce zaten bahsetmiştim. FLTK ve Audiere kullanılarak yazılmış basit bir ses dosyası çalar yazdım. ve pek tabii ki CodeBlocks Kullandım. Peki özelliği ne bunun diyorsanız
cross-platform olması. Hem IDE C::B hem GUI FLTK hem Ses kütüphanesi Audiere taşınabilir. Şimdilik windows sürümünü veriyorum. Linux için daha sonra inşallah
Indirmek için : BPlayer

Pazartesi, Eylül 25, 2006

Ramazan-ı Şerife dairdir

BK - Hocam Ramazan ayı gelince medeyada abidik gubdik konularda Fetvalar arıyorlar verecek Abidik gubidik adamları buluyorlarda sonra başlıyorlar Ramazan ayına ve Oruca demogojiye.

MCH - Öncelikle böyle yapanaları uyaralım
Mesail-i şer'iyede bir kısım mesail, eşhasa taalluk eder; bir kısım, umuma, umumiyet itibariyle taalluk eder ki; onlara "Şeair-i İslâmiye" tabir edilir. Bu şeairin umuma taalluku cihetiyle umum onda hissedardır. Umumun rızası olmazsa onlara ilişmek, umumun hukukuna tecavüzdür. O şeairin en cüz'îsi (sünnet kabilinden bir mes'elesi) en büyük bir mes'ele hükmünde nazar-ı ehemmiyettedir. Doğrudan doğruya umum âlem-i İslâma taalluk ettiği gibi; Asr-ı Saadetten şimdiye kadar bütün eazım-ı İslâmın bağlandığı o nuranî zincirleri koparmaya, tahrib ve tahrif etmeye çalışanlar ve yardım edenler düşünsünler ki, ne kadar dehşetli bir hataya düşüyorlar. Ve zerre miktar şuurları varsa, titresinler!..
- Pek sonra
- Sonrada Ramazan risalesini tavsiye edelim

Ramazan-ı Şerifteki orucun çok hikmetleri; hem Cenab-ı Hakk'ın rububiyetine, hem insanın hayat-ı içtimaiyesine, hem hayat-ı şahsiyesine, hem nefsin terbiyesine, hem niam-ı İlahiyenin şükrüne bakar hikmetleri var.
...
Ramazan-ı Şerifte ise, ehl-i iman birden muntazam bir ordu hükmüne geçer. Sultan-ı Ezelî'nin ziyafetine davet edilmiş bir surette akşama yakın "Buyurunuz" emrini bekliyorlar
...
İşte Ramazan-ı Şerif'teki oruç, hakikî ve hâlis, azametli ve umumî bir şükrün anahtarıdır. Çünki sair vakitlerde mecburiyet tahtında olmayan insanların çoğu, hakikî açlık hissetmedikleri zaman, çok nimetlerin kıymetini derk edemiyor. Kuru bir parça ekmek, tok olan adamlara, hususan zengin olsa, ondaki derece-i nimet anlaşılmıyor. Halbuki iftar vaktinde o kuru ekmek, bir mü'minin nazarında çok kıymetdar bir nimet-i İlahiye olduğuna kuvve-i zaikası şehadet eder. Padişahtan tâ en fukaraya kadar herkes, Ramazan-ı Şerifte o nimetlerin kıymetlerini anlamakla bir şükr-ü manevîye mazhar olur. Hem gündüzdeki yemekten memnuiyeti cihetiyle; "O nimetler benim mülküm değil. Ben bunların tenavülünde hür değilim; demek başkasının malıdır ve in'amıdır. Onun emrini bekliyorum." diye nimeti nimet bilir; bir şükr-ü manevî eder.
...
zenginler, fukaranın acınacak acı hallerini ve açlıklarını, oruçtaki açlıkla tam hissedebilirler. Eğer oruç olmazsa, nefisperest çok zenginler bulunabilir ki, açlık ve fakirlik ne kadar elîm ve onlar şefkate ne kadar muhtaç olduğunu idrak edemez.
...
Nefis, kendini hür ve serbest ister ve öyle telakki eder. ...İşte Ramazan-ı Şerifte en zenginden en fakire kadar herkesin nefsi anlar ki: Kendisi mâlik değil, memluktür; hür değil, abddir. Emir olunmazsa en âdi ve en rahat şeyi de yapamaz, elini suya uzatamaz diye mevhum rububiyeti kırılır, ubudiyeti takınır, hakikî vazifesi olan şükre girer
...
Ramazan-ı Şerif âdeta bir âhiret ticareti için gayet kârlı bir meşher, bir pazardır. Ve uhrevî hasılât için, gayet münbit bir zemindir. Ve neşvünema-i a'mal için, bahardaki mâh-i Nisandır.
...

http://www.nur.org/risale/ramazanrisalesi.htm
http://medya.nurpenceresi.com/np-SesliDers/29Mektub-RamazanRisalesi1.wma



Perşembe, Eylül 21, 2006

Anti Crack üzerine

Nedir Bu Reverse Engineering dedikleri ? yazımızda belirttiğimiz gibi çoğu kimse Reverse Engineeringden Crack işini anlıyor. Oysa RE sayesinde programlarınızın kırılmasını zorlaştırabilirsiniz

  • Program korunmaya değermi ? Değmezse hiç uğraşmayın çünkü Kırılmıyacak program yoktur…
  • Programınız çok kıymetliyse ! profosyonel çözümlere bakın
  • Anti-Debugging* için önlemler alın.
  • Programlarınızda anlamlı prosedür isimleri kullanmayın bool KontrolSeriNo(...) gibi Kolaylıkla devre dışı bırakılabilir - siz hiç derlediğiniz programlara DeCompiler** larla baktınızmı baktınız mı ?
  • Kullanıcının bir şekilde programı kırmaya çalıştığını tespit ettiyseniz . aman uyandırmayın bir veya iki gün bekleyip haberdar edin. Mesela Hatalı bir seri noyu bir jump değişikliğiyle doğru olarak kabulettirdiyse hemen bunu bidirmeyin bir gün sonra akkında dialogunda gösterin
  • CheckSum kullanın
  • Kodunuzun kendi kendini onarır hale getirin. SMC***
  • Parola girildikten sonra 1 veya 2 sn bir bekleme koyun. Deneyerek parola kırmayı -brute force -zorlaştıracaktır.
  • Birden fazla kontrol rutini yazın her seferinda farklı yada rastgele- bir şekilde çağırın.
  • Seri No kontrolünü string karşılaştırmayla yapmayın ****
  • Sistem saatine ve tarihine güvenmeyin!
  • Kritik Mesajları – mesela kullanım süreniz dolmuştur vb gibi- kodun içine düz şekilde yerleştirmeyin şifreleyin ve dinamik olarak oluşturun.
  • Koruma şemanızı açıklamayın
  • Önemli dialog kutularınızı ve menülerinizi dinamik olarak oluşturun -çalışma zamanında-
  • Demo versiyonlarınızda kısıtladığınız opsiyonları sadece disable yaparak yapmayın ilgili koduda kaldırın. – sadece ilgili kısmı enable yaparak kullanıma açabilirler-
  • Kullanıcıya programın hakkında bilgiyi Hakkında dialog kuytusunda verin
kısa kısa ve yazdım ama sizin için birer ip ucu olabilir eğer açık olmayan kısımlar varsa becere bildiğim kadarıyla açıklamaya çalışırım.

* En basit olarak IsDebuggerPresent() API var mesela
**
mesela Delphi ve CBuilder için DeDe var
*** Self Modified Code kendini değiştiren kod
**** Debugger ile kontrol kısmına gelip doğru Seri No yu kolaylıkla alabilirler hatta verdiğiniz hata mesajıyla doğru seri Noyu değiştirip sizin programınızla keygen yapıverirler :)

Perşembe, Eylül 14, 2006

Algoritma Dersleri

Top Coder sitesinin hazırladığı Algoritma Dersleri. Basit kalıpları öğrenip RAD* kullanarak programlar yapan insanların ihmal ettiği bir konu. Değişik problemlerle karşılaştıklarında ya tekerleği yeniden icat etmeye kalkışırlar ya da bu işi yapan component aramaya başlarlar.
Oysa RAD programcıları tembelleştirmek için değil işlerini kolaylaştırmak için vardır
her ne ise

Algorithms Tutorials
Başlıkları şöyle
The Importance of Algorithms
How To Dissect a TopCoder Problem Statement
How to Find a Solution
Geometry Concepts:
- Section 1: Basic Concepts
- Section 2: Line Intersection and its Applications
- Section 3: Using Geometry in TopCoder Problems
Introduction to Graphs and Their Data Structures:
- Section 1: Recognizing and Representing a Graph
- Section 2: Searching a Graph
- Section 3: Finding the Best Path through a Graph
Greedy is Good
Dynamic Programming: From novice to advanced
Computational Complexity
Using Regular Expressions
Understanding Probabilities
Data Structures
Sorting
Maximum Flow
Representation of Integers and Reals
Binary Search

Ulaşabileceğiniz adres ise burada
bu sitede Algoritma problemleri de var

* Rapid Application Development Hızlı uygula geliştirme (VBasic ,Delphi, CBuilder gibi)

Çarşamba, Eylül 06, 2006

Vel Asr

Asra and olsun;
Gerçekten insan, ziyandadır.


Ancak iman edip
salih amellerde bulunanlar,
birbirlerine hakkı tavsiye edenler ve
birbirlerine sabrı tavsiye edenler başka.

BK - Asırdan başlıyalım dediniz başladık hocam çok kısa olmadımı ?
MCH - Onca kısalığına rağmen gereken herşeyi anlatıyor.
- Nasıl yani ?
- Bu sure hakkında İmam Şafi (r.a.) şöyle buyurdu.
"İnsanlar sadece bu sure inmiş olsaydı bu süre insanlara yeterdi. Zira bu sürede bir şahsın kemal derecesine ulaşabilmesi için gerekli olan mertebeler mevcuttur. Bunlar hakkı bilmek, hakla amel etmek ve o hakkı ehil olanlara öğretip yaymak ve bunu öğretmek üzerine sabırla devam etmektir"
- ...

Cumartesi, Eylül 02, 2006

Hoş geliniz MCH !

MCH'nin katılış hikayesi

BK
- Hocam bir şey sorabilirmiyim ?
MCH
- Tabii evladım buyur.
- Üç aylar girdi Kandiller geçti dini konularda hiç bir şey yazamadım. Bu da beni rahatsız ediyor.
- Niçin yazamıyorsun ?
- Şey hocam bu konularda ehil değilim, çekiniyorum.
- Duyanda İslami ilimlerin derin mevzularında tetkikatlarını yazacak sanır. Ehil ağızlarda işittiğin nasihatlardan başta nefsin için olmak üzere aktarsan yeter.
- Allah razı olsun hocam sizden ehlini mi bulacağım
- Estağfirullah
- Pekii Bu karışık, hızlı, günahkar Asrımızda nereden başlamamız lazım
- Asır'dan Başlayalım evladım Asırdan

Çarşamba, Ağustos 30, 2006

Çocuk katillerine karşı İnsaf sahibi bir ses



http://www.youtube.com/watch?v=9Wdwk1dp-uU

george galloway'ın artık meşhur olan konuşması. Kimyasal silah bile kullanmaktan, ve çocukları öldürmekten çekinmeyen şerefsizlere ithaf olunur.
Ez bütün çiçekleri kendine canavar dedir.

soru :siz israilin lübnanı işgaline şiddetle karşı çıkmıştınız.. ve şimdi de hizbullah’ın yani nasrallah’in israili hedef almakta haklı olduğunu söylüyorsunuz… bu iddianızı nasıl destekliyorsunuz?

cevap :konuyu gündeme getiriş ve tanıtış şekliniz oldukca ilginç.. ve çok ilginç/komik bir soru… bundan 34 yıl önce bir kızım dünyaya gelmişti.. bugünlerde doğum gününü kutladık… onun doğuşunu görmek üzere hastaneye gittiğimde sokaklarda çok şiddetli protestolar oluyordu.. israilin lübnanı işgali protesto ediliyordu.. israil lübnanı benim kızımın hayatta olduğu süre boyunca işgal altında tuttu ve halen tutuyor.. hizbullah lübnanın ulusal kurtuluş savaşının bir parçasıdır.. 2000 yılında kendi topraklarından israili çıkarma konusunda başarılı olmuş bir güçtür.. bu sıralarda israilin lübnanı işgal ettiğinde kendi topraklarında yaşamakta olan lübnanlıları hapishanelere dolduran israiliden bu insanları serbest bırakmasını istemekte ve bunun mücadelesini vermektedir.. bu hapishanedeki insanlar israilin topraklarında degil kendi topraklarındaydı ve ülkeleri işgal edilince hepsi tutuklandı.. hizbullahin israilden serbest bırakmasını istedigi insanlar bu insanlardır… lübnana saldıran israildir, topraklarını işgal eden de öyle… bunları yapan, israile saldıran ve topraklarını işgal eden lübnan/hizbullah degil.. sizler az onceki raporunuzda/bülteninizde israil askerlerinin sınırda lübnanı işgal etmek üzere hazırlık yaptıklarını belirttiniz ve şimdi de bana hizbullahı neden haklı bulduğumu soruyorsunuz.. lubnanda ölen sivil sayısı israilde ölenlerin 30 katı.. bu şartlar altında asıl siz neden hizbullahı desteklemediğinizin veya israili desteklediğinizin cevabını vermek zorundasınız… bana neden hizbullahı haklı görüyorsun sorusunu sormak yerine…

soru : biraz once 2000 yılında hizbullahın israili topraklarından atmayı başardığını söylediniz…

cevap : hayır tamamıyla değil.. bir çok bölgeden cıkardılar ancak lübnan toprakları halen işgal altında… hizbullah işgal sırasında yakalanıp/kaçırılıp hapse atılan insanlarının serbest bırakılma mücadelesini veriyor…

soru : israilden bir yetkili tutuklu bulunanların sizin deyiminizle kaçırılanların mahkeme edilecegini ve sonucuna gore işlem yapılacağını ve bunun yasanın bir parcası olduğunu söyledi…

cevap : hayır lütfen yapmayın.. lütfen hafızalarınızı 4 hafta öncesinden daha gerilere götürün… ben 18 yil önceki işgalden ve bu işgal sırasında kendi topraklarından alınıp israildeki hapishanelere tıkılan binlerce insandan bahsediyorum… hizbullahin 2 askeri serbest bırakmasına karşılık olarak serbest kalmasını istedigi insanlar, kendi topraklari isgal edilen ve kendi topraklarindan alınıp götürülen insanlar..

soru : size bugün sunday telegraph gazetesinde yayınlanan rapor hakkında soru sormak istiyorum.. rapora gore iran hizbullaha israilin her yerini vuracak güçte uzun menzilli füze sağlamış… israili bu füzeleri imhaya yonelik yaptığı bir saldırıda suçlayabilirmisiniz…

cevap : ne bicim soru bu… amerika israile füze sagliyor ve bu füzeler sadece lübnanin tüm şehirlerini vuracak guçte değil, bütün arap ve müslüman dünyasında her yeri hedef alacak güçte.. bunu yaptığı için amerikayı suçlamayacagız, ama hizbullaha israili vurabilecek fuze verdigi için iranı suçlayacağız.. neden amerika bunları israile sagliyor? hatta nükleer füzeler de sağlıyor…

soru : ama hizbullah bir terör örgütü…

cevap: hayir bir terör örgütü degil, başta da söylediğim gibi lübnan topraklarını savunan tek ulusal güc… sadece sizlerin ve rupert murdoch’un diğer medyasının görüşü bu… diğer bircoklarına göre hizbullah bir teör örgütü değil, ülkesini savunan bir güç… sky’ın, sunday’ın, times’ın görüşü yalnizca bu..

soru : neyin terör örgütü olup olmadığı başka bir tartışma konusu… bunca rapor var hizbullahin bir terör örgütü olduğunu söyleyen… bir seçim şansları vardı… kabineden 2 kişiyi kaçırmışlardı, politik olarak sorun cözülebilirdi…

cevap: birine göre terörist diğerine göre özgürlük savaşçısıdır… şunda kesinlikle yanılıyorsun ki bir çok insanın gözünde hizbullah terör örgütü değildir… bir çok insanın gözünde israil bir terörist devlettir… bu gerceği kavrayamıyorsunuz… bu sizin ne kadar yanlı olduğunuzu gösteriyor hem raporlarınızda hem de bu konusma boyunca…

soru: bir soru daha sorabilirmiyim? hizbullahın bunu politik olarak çözme şansı vardı.. neden iki asker kaçırdılar… ve bir cok askeri öldürdüler…

cevap: çünkü israil onların ülkelerini işgal etmişti… ve binlerce insanını mülteci kamplarında hapis etmişti… bu çok basit.. ancak tabi bunca olayı sadece 4 hafta geriye gidip hizbullahın 2 askeri kaçırmasına bağlarsanız başka… siz de çok iyi biliyorsunuz ki bu problem ne son 4 haftanin, 4 ayin, yılın problemi değil… onlarca yıldan beri sürmekte olan bir problem bu… bu sorun 4 hafta once başlamadı ki…

soru: peki son bir soru, sizce bu son dört haftalık süreç hizbullahın amaçlarına hizmet ettimi? daha fazla insani ölüp, toprakları yeniden işgal edilmedimi? lübnan demokratik bir ülke olma yolunda iken bunu baltalamadımı ?

cevap: ne kadar aptalca bir soru bu… ne kadar aptalsiniz… bugun hizbullah herkesin gözünde daha popüler hale geldi… savaşı asıl kaybedenler ise israil, bush ve blair.. politik olarak buna yol açtıkları ve izin verdikleri için.. herkes görüyor ama siz görmüyorsunuz.. eğer bu başarı ise ne hissettiğinizi bilmek isterim.. bu sorun sürecek.. BM hiç bir şey yapmıyor, lübnanlıya hiç bir şey vermiyor… binlerce tutukluya hiç bir şey sağlamıyor.. bu sorun ancak şu şekilde çözume kavuşur… israil 1967 den sonra işgal ettigi tüm topraklardan geri çekilir, o zamandan bu yana hapse attığı tüm politik tutukluları serbest bırakır, filistinde baskenti Kudüs olan bağımsız filistin devleti kurulur… o zaman bu sorun çözülür… aksi takdirde çözülmesi mümkün değildir, böyle devam edecektir… adalet yoksa barış ta yoktur

soru: karmasik cumleler…

cevap: filistinliler hakkında hiç bir şey bilmiyorsunuz… onların yaşadıklarından bile haberdar değilsiniz…gazzede hunharca katledilen 7 kişilik ailenin bir ferdinin adını söyleyin bana… onların isimlerini bile bilmezsiniz siz… ama kaçırılan veya ölen her israil askerinin adını bilirsiniz… çünkü farkında olun ya da olmayın sizler şuna inanıyorsunuz… bir israillinin kanı bir lübnanlının kanından daha değerlidir… bu sizin bakışınız ve haberi sunuş şeklinizdir… bunu böyle bilin…
http://sozluk.sourtimes.org/show.asp?id=9922541

Cuma, Ağustos 25, 2006

Kodlar arasında gezinmek

Açık kaynak kodlu bir program indirdiniz ve kodlarınını incelemek istiyorsunuz yada Açık kaynak kodlu bir kütüphane kullanıyorsunuz ve kullandığınız kütüphaneyi daha iyi anlamak için kodlarını incelemeniz lazım.
Vay halinize uğraşıp durursunuz
- şu dosyayı açayım yok burda değilmiş ötekine bakayım
- falanca fonksiyonu nerede tanımlamışlar nerede nasıl kullanmışlar
Doxygen ile hazırlanmış dökümantasyonu varsa bir nebze işiniz kolaylaşır ya yoksa

Ama artık bu işler daha kolay olacak artık The Source-Navigator var

What is Source-Navigator?
Source-Navigator is a source code analysis tool. With it, you can edit your source code, display relationships between classes and functions and members, and display call trees. You can also build your projects, either with your own makefile, or by using Source-Navigator's build system to automatically generate a makefile.

Source-Navigator works with the Insight GUI interface for GDB.

Source-Navigator supports C, C++, Java, Tcl, [incr Tcl], FORTRAN and COBOL, and provides and SDK so that you can write your own parsers.

Use Source-Navigator to:

* Analyze how a change will effect external source modules.
* Find every place in your code where a given function is called.
* Find each file that includes a given header file.
* Use the grep tool to search for a given string in all your source files.

Source-Navigator is released under the GNU Public License.
Hiç durmayın indirip kullanmaya başalayın

Salı, Ağustos 22, 2006

OpenCV 1.0 RC 1 çıktı

OpenCV RC1 duyruldu
>>> New functionality/features: <<< -
New Compilers/Environments supported:
* GCC 4.x
* Visual Studio .NET 2005.
* On MacOSX universal OpenCV binaries are now built by default, so both PPC and Intel Mac's are fully supported.
* Borland C++ support has been removed. There is still script utils\gen_make.py available that can generate makefile.bcc's out of MSVC's project files (not tested with rc1).
* New command-line makefiles _make\makefile.
* are introduced that allow user to build OpenCV for Win64 (EM64T/AMD64 and Itanium). For details, see INSTALL file. - cxcore:
* added several new functions: cvMixChannels, cvRandShuffle, cvRange, cvCalcPCA, cvProjectPCA, cvBackProjectPCA, cvNormalize, cvReduce, cvGetNumThreads, cvSetNumThreads, cvGetThreadNum. See docs/ref/opencvref_cxcore.htm for details.
* extended cvCalcCovarMatrix, cvMulTransposed
* added macros for the library version: see cxcore/include/cvver.h
* added C++ classes CvImage and CvMatrix: see cxcore/include/cxcore.hpp and the sample samples/c/image.cpp
* the maximum number of channels in matrices has been increased up to 64. though, only the basic functions can handle such images. - cv:
* new functions: cvPyrMeanShiftFiltering, cvWatershed, cvGetAffineTransform. see docs/ref/opencvref_cv.htm for details.
* extended: cvDistTransform (true distance transform algorithm), cvThresh (Otsu adaptive algorithm), cvCanny (using true gradient as an option)
* all the filtering functionality has been reworked, new C++ classes for linear separable and non-separable filtering, morphology, laplace, box filer (blur) have been added. see cv/include/cv.hpp. The older C API is still supported and is preferrable sometimes (e.g. when IPP is used).

****** API changes:
* cvCamShift, cvBoxPoints and all the other functions taking/returning an angle (as a field of the structure CvBox2D or as a standalone parameter) now measure the angles in degrees. - cvaux:
* new large video surveillance module has been added (cvaux/src/vs and cvaux/include/cvvidsurv.h). It implements smart blob tracking. See the description at docs/vidsurv) - ml (stands for Machine Learining):
* this is a completely new C++ module containing classes for statistical classification, regression and clustering. See docs/ref/opencvref_ml.htm. - highgui:
* the whole video capturing code has been restructured and split by modules, better function names have been introduced (older names are supported via macros)
* Quicktime (MacOSX) and Xine (Linux, (attention: watch the license!)) support added.
* many small and big improvements have been made in most of the video capturing modules
* a helper thread can be used to refresh highgui windows content w/o having to call cvWaitKey() (Linux only).

Salı, Ağustos 15, 2006

Genetik metodla optimizasyon problemlerinin çözümü

Genetik,Yapay zeka konusunda kullanılan algorithmalardandır.
http://ai-depot.com/Articles/48/Programming-Linear.html
http://ai-depot.com/Articles/48/Programming-Linear.html
http://ai-depot.com/Articles/48/Programming-Evolution.html

C örnek kodu da bulunuyor

Cuma, Temmuz 28, 2006

Or'da kimse var mı?

- Or'da kimse var mı? *
Bunun cevabını bilemiyorum fakat
varsa eğer bendeniz bir hafta buralarda olamayacağım
Haftaya bekleriz :)

* :Alev Alatlının
viva la muerte,
nuke türkiye,
valla kurda yedirdin beni,
ok musti türkiye tamamdır
kitaplarından oluşan roman serisi okumadıysanız tavsiye ederiz...


Çarşamba, Temmuz 26, 2006

Doors

* Bundan 20 yıl sonra, yaptıkların değil,yapamadıkların için üzüleceksin. Dolayısıyla halatları çöz. güvenli limandan uzaklara yelken aç. Rüzgarı yakala, araştır, düşle, keşfet.

* Düşün, onları seyredecek birileri olmasaydı, kaç kişi mercedes otomobil alırdı.
* Bilimde ve güzel sanatlarda en üstün başarılar, tek başlarına çalışan kişiler tarafından elde edilmiştir. Hiçbir parkta bir kurul için dikilmiş bir anıt yoktur.

* Yapabileceğin kadar söz ver. Sonra söz verdiğinden daha fazlasını yap.

* Oturarak başarıya ulaşan tek yaratık bir tavuktur.

* Dertlerini gözyaşlarında boğmak isteyenlere dertlerin yüzme bildiğini söyle.

* Dalın ucuna gitmekten korkma, meyve oradadır.

* Büyük adam büyüklüğünü küçük adama davranışıyla gösterir.

* Şans bukelamun gibidir. Biraz zaman tanı, mutlaka değişecektir.

* "tarihte en etkili 100 kişi" adlı kitabı okudum. Onların hepsiyle ortak olduğumuz tek şeyin zaman olduğunu hayretle gördüm.

* Günün sonunda kendini bir sokak köpeği kadar yorgun hissediyorsan,bu belki bütün gün hırladığın içindir.

* Başlamak için en uygun zamanı beklersen hiç başlamayabilirsin.şimdi başla! Şu anda bulunduğun yerden, elindekilerle başla.

* Gülümsediğinde güzelleşmeyen bir yüz hiç görmedim.

* Kimi zaman içindeki o sessiz sese uzmanlardan daha fazla güven. Aerodinamik yasalarına göre o tombul ve tüylü arının hiç uçmaması gerekiyordu. herhalde bunu ona hiçkimse söylemedi ki, uçuyor.

* Zamanlarının büyük bir kısmını para kazanmak ve saklamakla geçiren insanlar, sonunda, en çok istediklerinin satın alınamayacak şeyler olduğunu anlarlar.

* Öteki insanlardan daha akıllı ol. Yalnız bunu onlara söyleme!

* Mutlu olmanın en garantili yolu bir başkasını mutlu etmektir.

* Hayatta ya tozu dumana katarsın, ya da tozu dumanı yutarsın.

* İyi çalışan, sık gülen ve çok seven başarıyı elde eder.

* İnsanin tüm evrende kesin olarak düzeltebileceği tek bir şey vardır. Kendisi.

aldous huxley
the doors of perception

Cumartesi, Temmuz 22, 2006

Erol Taşların sonu iyi olmaz !


Duygular paketlenmiş, tecime elverişli
gövdede gökyüzünü kışkırtan şiir sahtedir
gazeteler tutuklamış dünya kelimesini
o dünyadan, o şiirden öcalmalı demektir


Ölüm gelir, ölüm duygusuna karşı saygısız
ve zekâ babacan tavrıyla tiksinti verir

söz yavan
, kardeşlik şarkıları gayetle tıkız

öcalınmazsa çocuklar bile birden büyüyebilir

Yargı kesin: Acı duymak ruhun fiyakasıdır
kin, susturur insanı; adına çıdam denir

susulunca tutulan çetele simsiyahtır
o siyah öcalmakcasına gür ve bereketlidir


Vandal yürek! Görün ki alkışlanasın
ez bütün çiçekleri kendine canavar dedir
haksızlık et, haksız olduğun anlaşılsın
yaşamak bir sanrı değilse öcalınmak gerektir.

Eski türk filimlerin hatırlayın. Erol Taş filmin kötü karakteri olara olmadık zulümleri yapar, seyredenleri filim olduğunu bildikleri halde rahatsız eder. Bu rahatsızlık o dereceye ulaşır ki filmin sonunda iyi karakter intikamını* alırken hiç kimsede bir acıma duygusu oluşmaz. İsrail Erol Taş'ın tahtına oturmuş ve fakat filim çevirmiyor. Sonlarını artık siz düşünün

* hatta bir kerde intikam almak yetmediği için bu anam için bu babam için diye bilimum intikamlar alınırdı

Not : yazının başındaki resim israil büyük elçiliği sitesinden alındı !

Perşembe, Temmuz 20, 2006

CodeBlocks ile OpenCV kullanmak



OpenCV yani 'open source library for computer vision'
Intelin Açık kaynak kodlu bir kütüphanesi bize görüntü işleme konusunda yardımcı oluyor.
  • Image creation and access (same image header used for both libraries).
  • Image arithmetic and logic operations.
  • Image filtering.
  • Linear image transformation.
  • Image morphology.
  • Color space conversion.
  • Image histogram and thresholding.
  • Geometric transformation (zoom-decimate, rotate, mirror, shear, warp, perspective transform, affine transform).
  • Image moments.
resimde gördüğünüz OpenCV örnek programlarından ve görütüdeki kenarları tespit ediyor

Kullanmak için
1) Hala CodeBlocks'u kurmadıysanız bir zahmet kurun ( nightly builds kullanın)
2) http://sourceforge.net/projects/opencvlibrary/ den indirin ve sisteminize kurun ( C:\Program Files\OpenCV )
3) OpenCv template for CodeBlocks indirin ve sıkıştırılmış dosyayı açıp
CodeBlocksun template kısmına atın

Artık OpenCV için de bir template sahipsiniz :)

Algoritma Sorusu / Eş ağırlıklar

Eş Ağırlıklar // Tübitak Kamp '93

Bir grup eşyayı, ağırlıkları mümkün olduğu kadar birbirine yakın (mümkünse eşit) iki gruba ayırmak istiyoruz.
Eşyaların toplam sayısı n (1 < n < 100) olarak, bir eşyanın ağırlığı, w(i) ise 1 < W(i) < 250 tamsayı olarak belirtiliyor,
istenen işlemi gerçekleştirecek programı yazınız.


çözüm için yazadığım program

Pazartesi, Temmuz 03, 2006

Nedir Bu Reverse Engineering dedikleri ?

İlgi alanlarım arasında geçmesine rağmen daha önce hiç Reverse Engineering konusunda yazmamıştım.
Nedir Bu Reverse Engineering* dedikleri şey ?

Herkesin bildiği gibi Engineering 'in karşılığı Mühendislik. Nedir Mühendislik ? Mühendis dediğin Uygulama ve Üretim yapar -asıl olarak - Mesela Bir benzinli motorun çalışma prensibini herkes bilir - Liselerde bile öğretiyorlar- Ama herkes motor üretemiyor, çünkü pek çok uygulma probleminin halledilmesi lazım. İşte mühendisler bu alanlarda çalışırlar. Yani Ana bir fikirden yola çıkıp umumun kullanabileceği bir ürüne ulaşmak. Bunun içinde Hem araştırma geliştir me hemde üretim vardır. İyide Reverse Ne olaki. Reverse'yi ters diye çeviriyorlar ama bu işte bir terslik var . :) buradaki Reverse'nin anlamı ortada bir ürün vardır ve siz o üründen yola çıkıp nasıl üretildiğini anlamaya çalışırsınız. Kısaca Mühendislik fikirden ürüne ise ters mühendislik üründen fikire ulaşır - tabii ki üzerinde ufak tefek değişiklikler yapıp ürünü kendisi üretmek için-

Eğer tanımı anladıysanız, Tarihçesinin de taa tekerleğin icadına kadar gittiğini anlarsınız. Bize ne tekerleğin icadından sen bize düzgün bir örnek ver derseniz, Size common-rail yeni nesil dizel motorları örnek olarak verebilirim.
cdti Opel
crdi Hyundai
hdi Peugeot
cdi Mercedes
jtd Fiat
tdci Ford
bu yani bunu ilk üretenin ürünü üzerinde diğer firmalar RE çalışması yapıp
bazı değişikliklerle başka bir isimde tescil ettirmişler Hepside common rail dir aslında

İyi de kardeşim sen ne diyorsun bir RE denince Cracking işini anlıyoruz. Cevap veriyorum yanlış anlıyorsunuz. Cracking**adı üzerinde kırma işlemidir ve programların lisanssız kullanımını engellemek için konulmuş korumaları kırmaya / kaldırmaya denir. -yazılım alanında tabii ki - RE çok daha geniş manası var ve tabii ki Programlar konusundada uygulaması var. Diyelim ki bir program yazacaksınız ve bu konuda yazılmış çok başarılı bir program var. Alıp incelersiniz.

- Oo programı başarılı yapan ne ? ne gibi eksiklikleri var ?
- Menüleri nasıl düzenlenmiş - hımm biz de benzeri şekilde yapalım aynı kısa yol tuşlarını kullanalım kolaylık olsun-
-Verilerini dosyda şu şekilde tutuyorlarmış - bu veri yapısından import edelim-
-Bunları yapmak için filan kütüphane kullanılmış yada hangi API lar nasıl kullanılmış

gibi pek çok sonuca ulaşabilirsiniz. Tabii bunları yapa bilmeniz için Assembly'yi bilmeniz lazım Bu işler için kullanılan araçları kullanabilmeniz lazım. Anti Debugging tekniklerinide öğrenmeniz lazım. Bu Aynı zamanda kendi kendi ürünleriniz konusunda RE uygulamaya kalkanların işlerini zorlaştırmak için de lazım olur :)
Pek Tabii Bu kadar şeyi bildikten sonra Cracking de yapabilirsiniz. Yalnız sadece program kırmak için bu kadar emek haracamak ne kadar mantıklıdır ? Kırığını bulun ;) daha iyi .

Bu arada Crackingi küçümsediğim anlaşılmasın. Eğer Cracking olmasaydı kim Ne öğrene bilirdi ki. Sadece lisanslı programların kullanıldığı -daha doğrusu lisans ücretleri yüzünden kullanılamadığı- bir ülkede büyüdüğünüzü düşünün. Hemen hemen hiç birşey öğrenemezdiniz. Ama Bu işinde bir ahlakı olmalı diye düşünüyorum. kısaca Cracker RobinHood*** gibi olması lazım Ama bu belkide başka bir yazı konusu...

Son olarak Bir kaç link verelim

http://mdkgroup.com/forum/
http://exetools.com/
http://boomerang.sourceforge.net/
http://lkubaski.free.fr/reverse/reverse.html
http://www.sct.tr.cx/
http://www.dtcg.org/
http://tutorials.accessroot.com/
http://www.informit.com/articles/article.asp?p=353553&seqNum=3&rl=1
http://community.reverse-engineering.net/
http://home.arcor.de/idapalace/

* Reverse engineering (RE) is the process of discovering the technological principles of a mechanical application through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, an electronic component, a software program) apart and analyzing its workings in detail, usually with the intention to construct a new device or program that does the same thing without actually copying anything from the original. The verb form is to reverse-engineer. diyor Wikipedia bir inceleyin derim
** reverse engineering ile karıştırılan manasıyla yoksa başka anlamlarıda vardır
*** cracking dökümanlarında rastlayacabileceğiniz
Bir programı kullanarak para kazanıyorsanız, programı satın alın.
Bir programı eğer gerçekten kullanıyorsanız, programı satın almayı düşünün.
gibi sözlerden anlaşılanda bu.

Cumartesi, Temmuz 01, 2006

Şu Laedride ! ne güzel sözler söylemiş

Söyleyemem derdimi kimseye, dermân olmasın diye
İnleyen şu kalbimin sesini ağyâr duymasın diye
Sakladım gözyaşımı vefâsız o yâr görmesin diye
İnleyen şu kalbimin sesini ağyâr duymasın diye


Laedri