Bir uydunun bugünün izin verilen çözünürlüğü ile tarayabilmesi için çatımda QR kodunun ne kadar büyük olması gerekir?
Planet Labs uydularını kullanarak
teşekkür ederim
Yanıtlar
Bir uydunun bugünün izin verilen çözünürlüğü ile tarayabilmesi için çatımda QR kodunun ne kadar büyük olması gerekir?
Planet Labs uydularını kullanarak
Bu tamamlayıcı bir cevaptır. 450, 550 ve 650 nm dalga boylarında 9 cm'lik bir diyafram açıklığıyla (3U Güvercin küpünün ucunun dışında) uzaydan bakıldığında 6 metrelik "QR" pikselleri simüle ettim, 45 derecede döndürdüm ve sonra 3 metre piksellerle örnekledim.
Çatlak ve kırılgan bir senaryo ama işini yapıyor.
Görüntü, diğer cevaptaki ana sonucu, bunun bir Güvercin ile görmenin bir miktar güvenilirliği için muhtemelen minimum boyut olduğunu desteklemektedir.
Komut dosyası yetersiz, tembeldim ve döndürmek için PIL kullandım, ile enterpolasyon scipy.ndimage.map_coordinates
yapabilirdim ve scipy.ndimage.gaussian_filter
havalı bir Airy diski yerine "fuzzifiye" yapabilirdim .
Son görüntüdeki tonlar, açıklığın dalga boyuna bağlı kırınım limitlerinden kaynaklanmaktadır, yaklaşık olarak $1.22 \lambda / D$ dalgaboyu / açıklık oranı ile açısal çözünürlük değişimi.
import numpy as np
import matplotlib.pyplot as plt
import itertools
from PIL import Image
from scipy import special as spe
from scipy.ndimage import convolve
N = 5*2
data = ('111111' + '110001' + '111011' +
'000011' + '010101' + '111111')
data = np.array([int(x) for x in data]).reshape((6, 6))
data = np.pad(data, ((6, 6), (6, 6)))
img = np.zeros((N*18, N*18, 3))
for i, j in itertools.product(np.arange(18), repeat=2):
img[N*i:N*(i+1), N*j:N*(j+1)] = data[i, j]
pixsize = 6 # meters
scale = pixsize/N
extent = 9*N * scale * np.array([-1, 1, -1, 1])
R = 575 * 1000. # meters distance
x = 4*N * scale * np.linspace(-1, 1, 8*N)
X, Y = np.meshgrid(x, x)
q = np.sqrt(X**2 + Y**2)
wavelengths = 1E-09 * np.array([650, 550, 450])
a = 0.045 # radius of aperture in meters (looking out end of a 3U cubesat)
x = (2 * np.pi * a / wavelengths) * (q[..., None] / R)
# https://en.wikipedia.org/wiki/Airy_disk
airy = (2 * spe.j1(x) / x)**2
areas = airy.sum(axis=0).sum(axis=0)
airy /= areas
new = [convolve(img[..., i], airy[..., i]) for i in range(3)]
newarray = np.stack(new, axis=2)
newarray = np.uint8(255 * newarray/newarray.max())
newimg = Image.fromarray(newarray)
newimg45 = newimg.rotate(45)
newimg45.show()
n45 = np.array(list(newimg45.getdata())).reshape(18*2, N>>1, 18*2, N>>1, 3)
n45 = np.uint8(n45.sum(axis=(1, 3)) / (N>>1)**2)
if True:
plt.figure()
plt.subplot(1, 2, 1)
plt.imshow(img, extent=extent)
plt.title('6 meter pixels on Earth')
plt.xlabel('meters')
plt.subplot(1, 2, 2)
plt.imshow(n45, extent=extent)
plt.title('9cm aperture at 575 km, 3 m pixels')
plt.xlabel('meters')
plt.show()
Bir uydunun bugünün izin verilen çözünürlüğü ile tarayabilmesi için çatımda QR kodunun ne kadar büyük olması gerekir?
Planet Labs uydularını kullanarak
tl; dr: 6x6 kullanarak " artırılmış gerçeklik etiketi tartışılan" CamilleGoudeseune cevabı @ Merak rover üzerinde bir ve 6 metre piksel gibi (iki kez asgari çözünürlük keyfi çeviri ve dönüş için izin vermek) için desen 36 x 36 metre olmalıdır bir olması PlanetLabs Dove'dan alınan bir görüntüden tespit edilme ve kurtarılma konusunda iyi bir değişiklik.
Kırmızı ve kızılötesi yansıtıcılığı parlak alanlardan kaldırır ve yalnızca daha kısa dalga boylarında kodlar, çünkü Güvercinlerin dört renk kanalı vardır (muhtemelen) kırınım sınırlıdır ve daha uzun dalga boyları daha kötü çözünürlüğe sahip olabilir.
Sıradan izleyiciler için "öne çıkmaları" için hedeflenen uzay aracınızın yalnızca daha kısa dalga boyu bantlarını harekete geçirmeye çalışın veya yalnızca kendiniz arıyorsanız son veri ürünündeki bu dalga boylarına bakın.
Şurada: https://www.planet.com/products/planet-imagery/En çok sayıda uydu veya "Güvercin", PLANETSCOPE veri ürünü için veri sağlar. Uyduların 3,7 metre çözünürlüğe sahip olduğu ve veri ürününün yeniden örneklenmiş piksel boyutunun 3 metre olduğu söyleniyor. Ayrıca bkz DJR cevabı @ için Are Gezegen Labs bu görüntüler? Görüntüler herkese açık mı?
Piksellerin QR deseninizle hem çeviri hem de dönüş olarak hizalanması için inanılmaz derecede şanslıysanız, teorik olarak 3 metre olabilirler.
Pratik olarak, modelinizin görüntünün alanı içinde rastgele çevrilmesi ve döndürülmesi göz önüne alındığında, bunlardan 3 olmasa da en az 2 faktörüne sahip olmalısınız .
@Uwe bize küçük bir QR kodunun hala oldukça büyük olacağını hatırlatıyor . 11 x 11 Mikro QR kodu vardır ve boşluk karakterleri, daha az piksel içeren QR kodlarına alternatifler için daha da küçük piksel numaraları kullanmıştır.
Şunların cevaplarını görenler için:
- Curiosity'nin kendi üzerinde neden iki görüntüsü var veya biri QR kodu mu?
- Bu cevap için Var “QR” ya da diğer 2D barkodlar uzay uçuşu kullanılmıştır?
Engineering interns Tristan Schuler, left, and Greta Studier pose with 2D barcodes and a Nano Air-Bearing Simulator prototype that uses the navigation system they developed while at Marshall. Their navigation system is available as open source code on code.nasa.gov. Credits: NASA/Emmett Given