x satır y sutun 24 bit bmp resminden header vs ne varsa ilk byteden itibaren tek tek okuya bilirmiyim.
mesela elimdeki resim 197 satır 300sutun.
010 editör isimli bir program ile baktım bitmap 36h adresinden başlıyor.
her pixel 3 byte renk bilgisi içeriyor.
içriği anladım ama bu bitmapten byteler halinde pixel verilerini nasıl alabilirim.
http://www.uvm.edu/~rerickso/education/vb_bmp/BMP.html (http://www.uvm.edu/~rerickso/education/vb_bmp/BMP.html)
burada oluşturma hakkında kod var. buradan çıkarırsın visual basic bilmem ama bitamp okuma için önce header verisini almalısın içeriği hakkında bilgi ise;
http://www.daubnet.com/en/file-format-bmp (http://www.daubnet.com/en/file-format-bmp)
iyi çalışmalar
hocam header ile ilgili ayrintilari biliyorum.
bmp dosyasini byte olarak vb ile okuyamiyorum.
Buna benzer bir olayı resmi picture alanına alıp, piksel piksel tarayarak çözmüştüm.
benimde asıl amacım o aslında renk ve mesafe arasında nasıl bir ilişki var bakayım dedim.
beceremedim :)
renkler griye kayıyor. Uzun mesafeler için..
hocam aslında uzun mesafe değilde şöyle kalınlık ölçümü yapabilirmiyim.
sonra sağlam red ürün testi gibi karşılaştırmalar bunlar için acaba olurmu denemeleri.
ben ilkel bişi yapıp olayın işleyişini anlamak istiyorum.
Tek bir görüntü üzerinden zor. Derinlik olayı sorunu var. Bildiğim kadarı bu tür durumlarda iki kameradan alınan görüntü ile çalışılıyor.
Eğer sadece deneme ise getpixel komutu ile bir görüntüden istediğin noktadan renk bilgisini alabilirsin.
http://msdn.microsoft.com/tr-tr/library/system.drawing.bitmap.getpixel(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2 (http://msdn.microsoft.com/tr-tr/library/system.drawing.bitmap.getpixel(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2)
örnek olarak başlangıç noktası. Dosya olayına girmedim.
Normalde bunu tek renkli LCD'ler için siyah beyaz görüntüden veri tablosu için kullanıyorum.
Bir picture alanı açıp bunun üzerine resmi alıyorum, sonra buradaki resim üzerinde getpixel ile renk bilgisini alıp değerlendiriyorum.
iki kmeralı sistem nasıl yapıyor bu işi olayın işleyişi nedir.
görüntü işlemeyle hiç uğraşmadım ama hoşuma gitti bu konu.
İşin matematiğini fazla uğraşmadım, iki kamera arasındaki farktan dolayı oluşan yapıdan oluyor.
Şu anda iki gözü bulanan tüm canlılarda (özellikle avcılarda) derinlik kavramını sağlamak için kullanılıyor. Ama bizim kullandığımız kamera sisteminde ve canlıların beyin işlem gücünde olduğu kadar hassas olacağını sanmıyorum.
Bu konunun bazı üniversitelerde araştırma konuşu olduğunu bazı internet yayınlarında rastladım. Nesne tanıma, belli bir nesneye odaklanma nesne takibi gibi konularda çalışılıyor.
hocam ben öyle koşan çeylan falan analiz etmeye çalışmıyorum.
bizim müşteriler kuzu kuzu yerinde duran somunları test etmek için yaptığı harcamalar gözüme battı.
5mm bir malzemenin yokluğunu farketmek zor olmaz heralde diye araştırıyorum.
24 bit bitmap gözüme kolay göründü.
işe basitten başla istersen üçgen, kare, dikdörtgen gibi nesneleri tanımlatmayı bir dene (kamera görüntüsü olmasa bile olur.)... Sonrası gelir.
İşin içine iyi bir matematik girecektir.
Analiz esnasında renkleri azaltman gerekecek.Nesneler üzerindeki tonlama yüzünden.
aslında ben onaylı ürün eksik üretim karşılaştırması yapmayı düşünüyordum.
ama şekilleri algılamak çok daha iyi sonuçlar vercektir.
mesaj birleştirme:: 03 Kasım 2014, 23:17:14
[codeDim image1 As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
' Retrieve the image.
image1 = New Bitmap( _
"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
True)
Dim x, y As Integer
' Loop through the images pixels to reset color.
For x = 0 To image1.Width - 1
For y = 0 To image1.Height - 1
Dim pixelColor As Color = image1.GetPixel(x, y)
Dim newColor As Color = _
Color.FromArgb(pixelColor.R, 0, 0)
image1.SetPixel(x, y, newColor)
Next
Next
' Set the PictureBox to display the image.
PictureBox1.Image = image1
' Display the pixel format in Label1.
Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()
Catch ex As ArgumentException
MessageBox.Show("There was an error." _
& "Check the path to the image file.")
End Try
End Sub]
http://msdn.microsoft.com/tr-tr/library/system.drawing.bitmap(v=vs.110).aspx (http://msdn.microsoft.com/tr-tr/library/system.drawing.bitmap(v=vs.110).aspx)
bu örnek işime yarayacak gibi tam aradığım örnek buydu her pixeli tek tek ele alıyor daha sonra yazıyor.
hatta rengi zayiflatma olayına yararı olan bir kısım var.
hocam bu konu çok güzel gerçekten sardı ama kenar bulma algoritalarına bakıyorum benim sayısal alt yapım anlamama engel olmaya başladı.
sobel algoritması var komşu pixellerle birlikte küme halinde işlem yapıyor azcık onu anlar gibi oldum.