Tuhaf özel başlık ile RAW dosya nasıl açılır


0

Bir sınıf projesi için açmam gereken aşağıdaki formatta tuhaf bir .raw dosyasına sahibim. 487x414 fotoğraf örneğini kullanarak aşağıdaki yapıya sahiptir:

  • Satır sayısı, imzalanmamış iki bayt (01E7)
  • Sütun sayısı, imzalanmamış iki bayt (019E)
  • Her pikseli temsil eden bit sayısı (bu her zaman 8 olacaktır)
  • Gerçek resim verisi

Proje .raw dosyasında uç algılamayı çalıştırmak, ancak profesör herhangi bir eski görüntü düzenleme yazılımı ile açabilmem gerektiğini söyledi (görünüşe göre, benden bayt sayısını belirleyeceğim bir pencere ile uyarılmamı bekliyor.) başlık), bu yüzden boşuna aşağıdakileri denedim:

  • Paint.net
  • Photoshop Elements
  • Adobe Lightroom
  • ImageMagick
  • kaytan
  • DCRaw

Ubuntu ve Windows ile çifte önyükleme yapıyorum; bu nedenle, bu dosyanın nasıl görüntülenebileceği konusunda herhangi bir fikri olan varsa, (şu anda OpenCV'ye histogram olarak yüklemeyi deniyorum, ancak sonucumu kontrol etmek için bir şeyler istiyorum. karşı), çok takdir edilecektir.


Ufraw'ı dene. Fotoğraf makinemdeki (nikon) ham dosyaları düzenlemek için kullanıyorum ve bildiğim kadarıyla çoğu format için desteği var. Denemeye değer olmalı.
Holloway

Bunu denedim, ama ne yazık ki işe yaramadı. Bu cevapsız soruyu hatırlattığın için teşekkür ederim.
Seanny123

Yanıtlar:


0

Burada bulabileceğiniz özel bir Python betiği yazmak zorunda kaldım . İşte önemli kısım.

#Load the raw file
f = open(filename,'rb') # switch to command line args later
#Because the byte order is weird
a = f.read(1)
b = f.read(1)
#First line is rows
rows = int((b+a).encode('hex'), 16)
a = f.read(1)
b = f.read(1)
#Second line is columns
cols = int((b+a).encode('hex'), 16)
#Last byte is encoding, but we're just going to ignore it
f.read(1)
#And everything else is 8 bit encoded, so let's load it into numpy and display it with matplotlib
bin_image = np.fromstring(f.read(), dtype=np.uint8)
#Change the shape of the array to the actual shape of the picture
bin_image.shape = (cols, rows)

fig = pylab.figure()
#Display the original image
fig.add_subplot(1,4,1)
pylab.imshow(bin_image, cmap=cm.gray)

Bu işe yaradıysa, bu soruyu cevapsız alandan kaldırmak için kabul edildi olarak işaretleyin.
Holloway
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.